Sam Ruby <[EMAIL PROTECTED]> wrote: > See: http://xrl.us/emnk
=> dynclasses/pydic.pmc > Except for fromkeys, get_string, and __new__, the logic is not Python > specific, and could easily be refactored into a common base class for > others to use. Yep. The problem is that all current usage of hashes inside Parrot is utilizing a STRING* key. OTOH HLLs are using PMCs in the normal case. I've already proposed to get rid of the STRING* type. It's neither low-level (there is no hardware CPU support for it like there is for FLOATVAL) nor does a separate STRING type have any performance benefits. Just the opposite - it leads to code duplication due to STRING and PMC variants of opcodes and vtables. sizeof(STRING) is 40 bytes (32-bit, optimized w/o C<version>). That's exactly double the size of a PMC. Thus STRINGs are really big structures. Wrapping them into a PMC for HLLs usage makes things just worse. By unifying STRING and PMC structures the hashing problem would just vanish. > - Sam Ruby leo