4c0dedfd9006daee4f6d96482cc6ac94a1797880 |
|
16-Nov-2009 |
Bill Buzbee <buzbee@google.com> |
Jit: string's compareTo performance improvement. Changed compareTo handler to call __memcmp16() for strings >= 32 chars. However, even for those strings, the first two chars are done in the handler (to catch early-out cases). Comparisons were done with micro-benchmarks comparing 10 and 200-char strings. The strings were: equal -> Q not equal at start -> S not equal at end -> E The test configurations were handler (H) [the previous handler], subroutine (S) [memcmp16()} and blended (B) [this commit] H S B 10E 60 138 65 10S 32 70 30 10Q 9 9 9 100E 745 708 716 In short, the small string cases were twice as fast with the existing handler compared to memcmp16, but memcmp16 was ~5% faster for long strings.
|