• karl's avatar
    Speedup stringsearch for two byte strings · fced280f
    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                          158465
    
    Review URL: https://codereview.chromium.org/1303033012
    
    Cr-Commit-Position: refs/heads/master@{#30587}
    fced280f
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...