On Thu, Apr 1, 2010 at 9:55 AM, chromatic <[email protected]> wrote: > I think that's the source of the slower performance; almost every comparison > of strings ends up checking the contents of the string with a memcmp. I think > we need a custom tree traversal function which exploits natural indexing > characteristics of our strings. > > At the topmost level, check by string length. Then check by encoding type. > Then check by each character in the string, rather than comparing the whole > string at a time (an inlined comparison of the correct character in the string > is cheaper than even the memcmp call).
1. I do check length, encoding and charset before falling to memcmp. 2. memcmp on optimized builds should be actually 3 CPU instructions. I doubt that char-by-char comparison will be faster (due cache pipeline, etc). -- Bacek _______________________________________________ http://lists.parrot.org/mailman/listinfo/parrot-dev
