Hi,

Interesting discussion on many levels. Impressive work. My 2 cents.

For an unrelated problem I did some research yesterday about when to use a hashing algorithm verses a liner search or a binary search. Basically, I have a list of strings - some times the list is small (less than 5 items) and some time is it is longer (20 items plus [could be hundreds]). I'm currently using perls hashing functions via XS and as this list is used often I wondered if using perls hashing was the way to go. An interesting link:

http://en.wikipedia.org/wiki/Hash_table

"The optimum performance point varies from system to system; for example, a trial on Parrot shows that its hash tables outperform linear search in all but the most trivial cases (one to three entries)."

Other than testing different approaches there wasn't a clear answer. So I left the code as it was:)

With the following conclusions:
1. In all cases the new algorithm is faster. This differs
   from the results at work in which the Minimum test showed
   that the existing algorithm was faster.

This is not meant to be a criticism- so please don't take it as such - but I'm not convinced that it's worth speeding up this area of Win32::GUI. Even if this algorithm was several orders of magnitude faster it wouldn't make that much difference (if at all) to a running Win32::GUI programme. When you first mentioned this I did some analysis on how often this function is called and when, and I was surprised at the conclusion. Even for a large Win32::GUI app, we're only talking several hundred calls, and mostly when the app starts. Now this usage profile could just have been my app - so I could be wrong:)

Cheers,

jez.



Reply via email to