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

Issue 1645893002: Improve performance of Character::isCJKIdeographOrSymbol by using trie tree (Closed)

Created:
4 years, 11 months ago by kojii
Modified:
4 years, 10 months ago
Reviewers:
drott, eae, Dirk Pranke
CC:
chromium-reviews, krit, pdr+graphicswatchlist_chromium.org, drott+blinkwatch_chromium.org, vmpstr+blinkwatch_chromium.org, dshwang, jbroman, Justin Novosad, blink-reviews-platform-graphics_chromium.org, Rik, Stephen Chennney, blink-reviews, f(malita), danakj+watch_chromium.org, kinuko+watch, rwlbuis
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

WIP: Improve performance of Character::isCJKIdeographOrSymbol by using trie tree This is a re-land of https://codereview.chromium.org/1541393003/ This patch is another effort to make Character::isCJKIdeographOrSymbol faster. The previous CL[1] made it faster by ~90% for codepoints below U+2020, but codepoints abvoe U+2020 were not as fast. This CL makes all codepoints faster, as fast as ICU functions. Before After Improve ICU All 2569 => 292 88% 298 ASCII 68 => 68 0% 160 Han 2958 => 263 91% 344 Hira 258 => 11 95% 14 Arabic 37 => 32 13% 44 * # of code points and iterations vary by rows. The previous CL[1] clarified that binary search is not as fast as ICU functions such as uscript_getScript(). This patch changes to use UTrie2, which is the data structure ICU property functions use. In addition in this patch: * U+2763 and U+2764 are added as requested by drott@. * Character::isUprightInMixedVertical() was switched to UTrie2 too. * Character::isCJKIdeograph() was removed because it is no longer used. [1] https://codereview.chromium.org/1545073002 BUG=571943 Committed: https://crrev.com/9db08cc3e1979d3f974f8486420fb65bc8ccf247 Cr-Commit-Position: refs/heads/master@{#372207}

Patch Set 1 #

Patch Set 2 : asan/msan/tsan build fix #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1147 lines, -253 lines) Patch
M third_party/WebKit/Source/platform/BUILD.gn View 1 3 chunks +39 lines, -4 lines 0 comments Download
M third_party/WebKit/Source/platform/blink_platform.gyp View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/Character.h View 3 chunks +3 lines, -1 line 0 comments Download
M third_party/WebKit/Source/platform/fonts/Character.cpp View 3 chunks +29 lines, -240 lines 0 comments Download
A third_party/WebKit/Source/platform/fonts/CharacterData.cpp View 1 chunk +634 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/platform/fonts/CharacterDataGenerator.cpp View 1 chunk +337 lines, -0 lines 0 comments Download
A third_party/WebKit/Source/platform/fonts/CharacterProperty.h View 1 chunk +39 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/platform/fonts/CharacterTest.cpp View 2 chunks +12 lines, -8 lines 0 comments Download
M third_party/WebKit/Source/platform/platform_generated.gyp View 2 chunks +53 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (3 generated)
kojii
PTAL. Found the magic keyword to link successfully for ASAN/MSAN/TSAN. Which optional bots are for ...
4 years, 10 months ago (2016-01-28 12:56:47 UTC) #2
eae
LGTM
4 years, 10 months ago (2016-01-28 22:29:38 UTC) #3
Dirk Pranke
lgtm
4 years, 10 months ago (2016-01-28 22:31:45 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1645893002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1645893002/20001
4 years, 10 months ago (2016-01-28 23:35:05 UTC) #6
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 10 months ago (2016-01-28 23:42:35 UTC) #7
commit-bot: I haz the power
4 years, 10 months ago (2016-01-28 23:44:00 UTC) #9
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/9db08cc3e1979d3f974f8486420fb65bc8ccf247
Cr-Commit-Position: refs/heads/master@{#372207}

Powered by Google App Engine
This is Rietveld 408576698