• karl's avatar
    Reland: Speedup stringsearch for two byte strings · 24d48116
    karl authored
    Uses the lower byte with memchr which is
    significantly faster than a naive compare
    
    Performance difference with bench (http://hastebin.com/xuxexataso.js):
    
    old                             new
    
    single character                single character
    Κ found at 922                  Κ found at 922
    3324                            616
    ㎡ found at 13217               ㎡ found at 13217
    42366                           4931
    က found at 4096                 က found at 4096
    13369                           9836
    ＀ found at 65280                ＀ found at 65280
    207472                          36149
    ᆬ found at 65445                ᆬ found at 65445
    209344                          36666
      found at 8197                   found at 8197
    26731                           11757
    倂 found at 20482               倂 found at 20482
    66071                           17193
    
    linear search                   linear search
    ΚΛ found at 922                 ΚΛ found at 922
    4112                            504
    ㎡㎢ found at 13217             ㎡㎢ found at 13217
    55105                           5119
    ᆬᆭ found at 65445               ᆬᆭ found at 65445
    268016                          35496
    
    linear + bmh search             linear + bmh search
    ΚΛΜΝΞΟΠΡ found at 922           ΚΛΜΝΞΟΠΡ found at 922
    2897                            522
    ᆬᆭᄃᄄᄅᆰᆱᆲ found at 65445         ᆬᆭᄃᄄᄅᆰᆱᆲ found at 65445
    167687                          35283
    
    BUG=
    
    Review URL: https://codereview.chromium.org/1324453007
    
    Cr-Commit-Position: refs/heads/master@{#30597}
    24d48116
Name
Last commit
Last update
..
benchmarks Loading commit data...
cctest Loading commit data...
intl Loading commit data...
js-perf-test Loading commit data...
memory Loading commit data...
message Loading commit data...
mjsunit Loading commit data...
mozilla Loading commit data...
preparser Loading commit data...
promises-aplus Loading commit data...
simdjs Loading commit data...
test262 Loading commit data...
test262-es6 Loading commit data...
unittests Loading commit data...
webkit Loading commit data...