Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(304)

Issue 1303033012: Speedup stringsearch for two byte strings (Closed)

Created:
5 years, 3 months ago by skomski
Modified:
5 years, 3 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Speedup stringsearch for two byte strings 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 Committed: https://crrev.com/fced280f37588f8a232a414201276e053117e9ea Cr-Commit-Position: refs/heads/master@{#30587}

Patch Set 1 #

Total comments: 5

Patch Set 2 : Fix alignment issues #

Patch Set 3 : range check #

Unified diffs Side-by-side diffs Delta from patch set Stats (+49 lines, -37 lines) Patch
M AUTHORS View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M src/string-search.h View 1 2 4 chunks +39 lines, -37 lines 0 comments Download
M test/mjsunit/string-indexof-1.js View 1 1 chunk +9 lines, -0 lines 0 comments Download

Messages

Total messages: 12 (4 generated)
skomski
5 years, 3 months ago (2015-09-03 13:47:06 UTC) #3
Jakob Kummerow
https://codereview.chromium.org/1303033012/diff/1/src/string-search.h File src/string-search.h (left): https://codereview.chromium.org/1303033012/diff/1/src/string-search.h#oldcode196 src/string-search.h:196: nit: keep this line https://codereview.chromium.org/1303033012/diff/1/src/string-search.h File src/string-search.h (right): https://codereview.chromium.org/1303033012/diff/1/src/string-search.h#newcode191 ...
5 years, 3 months ago (2015-09-03 16:46:33 UTC) #5
skomski
On 2015/09/03 16:46:33, Jakob wrote: > https://codereview.chromium.org/1303033012/diff/1/src/string-search.h > File src/string-search.h (left): > > https://codereview.chromium.org/1303033012/diff/1/src/string-search.h#oldcode196 > ...
5 years, 3 months ago (2015-09-03 22:28:17 UTC) #6
Jakob Kummerow
Thanks, LGTM.
5 years, 3 months ago (2015-09-04 12:14:01 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1303033012/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1303033012/40001
5 years, 3 months ago (2015-09-04 12:14:12 UTC) #9
commit-bot: I haz the power
Committed patchset #3 (id:40001)
5 years, 3 months ago (2015-09-04 12:37:45 UTC) #10
commit-bot: I haz the power
Patchset 3 (id:??) landed as https://crrev.com/fced280f37588f8a232a414201276e053117e9ea Cr-Commit-Position: refs/heads/master@{#30587}
5 years, 3 months ago (2015-09-04 12:37:58 UTC) #11
Michael Achenbach
5 years, 3 months ago (2015-09-04 13:00:15 UTC) #12
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:40001) has been created in
https://codereview.chromium.org/1331433002/ by machenbach@chromium.org.

The reason for reverting is: [Sheriff] Breaks fuzzer and msan:
http://build.chromium.org/p/client.v8/builders/V8%20Fuzzer/builds/4773

Repro with:
tools/fuzz-harness.sh out/Debug/d8
(in a ninja Debug build)

Msan:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20s....

Powered by Google App Engine
This is Rietveld 408576698