David Abrahams wrote: [Greg Ewing, adding a level of indirection] [David Abrahams] >>>2. The scheme you propose is more costly in memory and cycles than I'd >>>like >> [Greg] >>It's only one memory cycle more than it takes to access >>the existing sub-structures. And it's a lot better than >>the alternative, which is doing a Python dict lookup! Of course it is better. But since it it possible to do more better, a sub-optimal solution will not make me forget about it. [David] > When I spoke of memory, I was talking about the extra pointer per level of > inheritance. > When I spoke of cycles, I was talking about the cycles to manage that > memory (probably moot). Since we are talking of types and meta-types, I believe memory issues are of minor interest. There will not be more then a few hundred classes, and they will be created just once. The reason why I want to have extra data and function caches in the types is that this is *very* memory efficient, in comparison to stuffing things into the instances (which would be easy to implement). > It's not too terrible, but I'd like it a lot better if types would just use > tp_basicsize to find the beginning of the variable stuff so we could embed > the memory in the type itself. 'Course, I've forgotten more than I knew > about that code, so I might be barking up the wrong banyan. That's exactly what I want to do, but I have to find out how the variable part of types is used at the moment, and I admit I didn't understand it, yet. The place where user stuff should go is where instances have their slots. With meta-types, it now happens that types become instances, but types refuse to have slots. This needs to be changed, everything else is a workaround. regards - chris -- Christian Tismer :^) <mailto:tismer@tismer.com> Mission Impossible 5oftware : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9a : *Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 89 09 53 34 home +49 30 802 86 56 pager +49 173 24 18 776 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4