|
|
Created:
4 years, 12 months ago by kojii Modified:
4 years, 11 months ago CC:
blink-reviews, blink-reviews-platform-graphics_chromium.org, Rik, chromium-reviews, danakj, dshwang, drott+blinkwatch_chromium.org, krit, f(malita), jbroman, Justin Novosad, kinuko+watch, pdr+graphicswatchlist_chromium.org, rwlbuis, Stephen Chennney, vmpstr+blinkwatch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionMake Character::isCJKIdeographOrSymbol() faster for common characters
This patch makes Character::isCJKIdeographOrSymbol() faster for:
1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the
former is much more commonly used, it improves common cases.
2. Add the first/last optimization for cjkSymbolRanges check. This
improves characters outside the cjkSymbolRanges.
3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the
only CJK below U+2020, this improves the performance below U+2020.
As the result of these changes, following improvements are seen in
local debug builds.
Average of all code points: 5673 -> 2760 (50% improve)
Han Ideograph Basic block: 5044 -> 3223 (36% improve)
Hiragana: 342 -> 269 (21% improve)
Arabic: 748 -> 51 (93% improve)
No code path changes for code points below U+02C7.
No behavior changes.
BUG=571943, 571654
Committed: https://crrev.com/00b5736be468f8511e73954cdd5d2eb2256acbdd
Cr-Commit-Position: refs/heads/master@{#366993}
Patch Set 1 #Patch Set 2 : Minor simplification #Messages
Total messages: 14 (9 generated)
Description was changed from ========== WIP: perf-char BUG= ========== to ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) BUG=571943, 571654 ==========
Description was changed from ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) BUG=571943, 571654 ========== to ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ==========
Description was changed from ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ========== to ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ==========
Description was changed from ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ========== to ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ==========
kojii@chromium.org changed reviewers: + drott@chromium.org, eae@chromium.org
PTAL.
Patchset #2 (id:20001) has been deleted
LGTM This is awesome and you should feel awesome! Thank you!
The CQ bit was checked by eae@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1545073002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1545073002/40001
Message was sent while issue was closed.
Description was changed from ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ========== to ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ==========
Message was sent while issue was closed.
Committed patchset #2 (id:40001)
Message was sent while issue was closed.
Description was changed from ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 ========== to ========== Make Character::isCJKIdeographOrSymbol() faster for common characters This patch makes Character::isCJKIdeographOrSymbol() faster for: 1. Check cjkSymbolRanges earlier than cjkIsolatedSymbols. Because the former is much more commonly used, it improves common cases. 2. Add the first/last optimization for cjkSymbolRanges check. This improves characters outside the cjkSymbolRanges. 3. Check U+02C7, U+02CA, U+02CB, U+02D9 separately. Since these are the only CJK below U+2020, this improves the performance below U+2020. As the result of these changes, following improvements are seen in local debug builds. Average of all code points: 5673 -> 2760 (50% improve) Han Ideograph Basic block: 5044 -> 3223 (36% improve) Hiragana: 342 -> 269 (21% improve) Arabic: 748 -> 51 (93% improve) No code path changes for code points below U+02C7. No behavior changes. BUG=571943, 571654 Committed: https://crrev.com/00b5736be468f8511e73954cdd5d2eb2256acbdd Cr-Commit-Position: refs/heads/master@{#366993} ==========
Message was sent while issue was closed.
Patchset 2 (id:??) landed as https://crrev.com/00b5736be468f8511e73954cdd5d2eb2256acbdd Cr-Commit-Position: refs/heads/master@{#366993} |