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

Issue 828293002: Do not create a temporary Range object on updating spell checking markers. (Closed)

Created:
5 years, 11 months ago by sof
Modified:
5 years, 11 months ago
CC:
blink-reviews, groby+blinkspell_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/blink.git@master
Target Ref:
refs/heads/master
Project:
blink
Visibility:
Public.

Description

Do not create a temporary Range object on updating spell checking markers. As these markers are conditionally updated on every edit operation, avoid creating a temporary Range object when doing so. With Oilpan enabled, this avoids creating a GCed object that is only delay'edly released. Improves Oilpan performance on blink_perf.dom.textarea-edit by 10%. R=haraken BUG=388681 Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=187820

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+4 lines, -2 lines) Patch
M Source/core/editing/SpellChecker.cpp View 1 chunk +4 lines, -2 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
sof
Please take a look. Rounding out the good work in https://codereview.chromium.org/576073003/ , making dom.textarea-edit really ...
5 years, 11 months ago (2015-01-02 09:16:16 UTC) #2
haraken
LGTM
5 years, 11 months ago (2015-01-02 16:46:52 UTC) #3
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/828293002/1
5 years, 11 months ago (2015-01-02 17:25:01 UTC) #5
commit-bot: I haz the power
Committed patchset #1 (id:1) as https://src.chromium.org/viewvc/blink?view=rev&revision=187820
5 years, 11 months ago (2015-01-02 18:42:51 UTC) #6
haraken
BTW, how did you come up with this optimization? I'm wondering how you find short-lived ...
5 years, 11 months ago (2015-01-03 08:14:28 UTC) #7
sof
5 years, 11 months ago (2015-01-03 08:52:47 UTC) #8
Message was sent while issue was closed.
On 2015/01/03 08:14:28, haraken wrote:
> BTW, how did you come up with this optimization? I'm wondering how you find
> short-lived objects that should be deoilpanized. I guess there would be a
bunch
> of other places where we can improve performance by deoilpanizing something. 

updateMarkersForWordsAffectedByEditing() came up when profiling
textarea-edit.html, which made me look at the code. The short-lived Range
allocation in there reminded me of ager's previous work, so just took it from
there. i.e., that the codebase makes use of short-lived Range objects had been
uncovered previously.

Knowing if there are objects with high mortality rates would be one indirect
indicator of short-lived objects, but doesn't pinpoint their source(s) in any
way. Interesting question.

Powered by Google App Engine
This is Rietveld 408576698