At 08:45 PM 3/10/2007 +1300, Greg Ewing wrote: >Jack Diederich wrote: > > > I am a very big fan of ordered dicts in classes. One possibility is that > > suites in classes always store their order in a special dict that keeps a > > side list of key order. A final invisible class decorator around > > every class would then toss out the order and leave only a regular dict. > >Is it really necessary to toss out the order at all? >I'm skeptical that class dictionaries are either created >or modified anywhere near often enough for there to >be any noticeable performance penalty here. > >In any case, I've thought of a way to reduce the performance >penalty to near-zero. Consider that the compiler knows >all the names that will be assigned in the class dict >and what order they are in. So all it needs to do is >compile...
This wouldn't help any of the other use cases for custom metaclass dictionaries. I.e., the ability to use a custom dictionary type is a feature, not a bug. (Note that using a custom dictionary means you can override its __getitem__ as well as its __setitem__, thereby influencing the execution of the class body, defining special names, etc.) _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
