>>our original discussions until now, I think it may be more worthwhile to >> figure out how to make _all_ 18000 constants available to Win32::GUI >>programs, without paying a huge price in memory. Those constants that >>actually get used get cached in the stash anyway... >>
I forgot to mention it. For a 'good' hashing algorithm using a closed hashing table, the performance is (about) O(1) for table occupancy sizes less than 70%. As the occupancy increases, the performance decreases asymptotically to O(n), n = the table size. For an open hashing table, the amortized rate stays about O(1) for all entries (without addressing other issues). So, for Perl hashing, does Perl use open or closed hashing? If Perl uses closed hashing then for 18,000 entries you need a table able to hold at least 26,000 entries, assuming that the algorithm used is 'good' using the data supplied. For an open hashing table the size should be about the same + the size needed to retain collisions. So the performance is good but the table size might actually increase. If size is an issue, then maybe hashing is not the answer. But I tend to agree that on newer computers, size probably is not that significant. But on older PC's, well, it might be a killer condition. art