WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
140717
Change Heap::m_compiledCode to use a Vector
https://bugs.webkit.org/show_bug.cgi?id=140717
Summary
Change Heap::m_compiledCode to use a Vector
Mark Hahnenberg
Reported
2015-01-20 22:15:57 PST
Right now it's a DoublyLinkedList, which is iterated during each collection. This contributes to some of the longish Eden pause times. A Vector would be more appropriate and would also allow ExecutableBase to be 2 pointers smaller.
Attachments
Patch
(3.93 KB, patch)
2015-01-20 22:22 PST
,
Mark Hahnenberg
no flags
Details
Formatted Diff
Diff
Patch
(4.21 KB, patch)
2015-01-21 07:32 PST
,
Mark Hahnenberg
no flags
Details
Formatted Diff
Diff
GC logs before
(9.70 KB, text/plain)
2015-01-21 11:08 PST
,
Mark Hahnenberg
no flags
Details
GC logs after
(9.69 KB, text/plain)
2015-01-21 11:08 PST
,
Mark Hahnenberg
no flags
Details
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Mark Hahnenberg
Comment 1
2015-01-20 22:22:47 PST
Created
attachment 245049
[details]
Patch
Benjamin Poulain
Comment 2
2015-01-21 01:02:06 PST
Hi Mark :)
Mark Hahnenberg
Comment 3
2015-01-21 07:32:23 PST
Created
attachment 245062
[details]
Patch
Mark Hahnenberg
Comment 4
2015-01-21 07:33:10 PST
(In reply to
comment #2
)
> Hi Mark :)
Hello :-)
Andreas Kling
Comment 5
2015-01-21 09:57:26 PST
Comment on
attachment 245062
[details]
Patch r=me Good job! *claps*
Mark Hahnenberg
Comment 6
2015-01-21 11:08:36 PST
Created
attachment 245070
[details]
GC logs before
Mark Hahnenberg
Comment 7
2015-01-21 11:08:52 PST
Created
attachment 245071
[details]
GC logs after
Mark Hahnenberg
Comment 8
2015-01-21 11:11:32 PST
Just as a data point, I've attached some GC timing logs gathered by running the Octane 2.0 benchmark in browser before and after this change. ClearUnmarkedExecutables goes from: [34505] ClearUnmarkedExecutables (All): 133.93ms (avg. 0.25, min. 0.00, max. 5.35, count 544) [34505] ClearUnmarkedExecutables (Eden): 121.88ms (avg. 0.24, min. 0.03, max. 5.35, count 506) [34505] ClearUnmarkedExecutables (Full): 12.05ms (avg. 0.32, min. 0.00, max. 3.55, count 38) to: [34530] ClearUnmarkedExecutables (All): 14.53ms (avg. 0.03, min. 0.00, max. 1.76, count 556) [34530] ClearUnmarkedExecutables (Eden): 13.22ms (avg. 0.03, min. 0.01, max. 1.76, count 518) [34530] ClearUnmarkedExecutables (Full): 1.30ms (avg. 0.03, min. 0.00, max. 0.66, count 38) overall time goes down as well. Before: [34505] Collect (All): 1499.15ms (avg. 2.76, min. 0.43, max. 42.51, count 544) [34505] Collect (Eden): 931.76ms (avg. 1.84, min. 0.51, max. 42.51, count 506) [34505] Collect (Full): 567.39ms (avg. 14.93, min. 0.43, max. 31.69, count 38) after: [34530] Collect (All): 1372.41ms (avg. 2.47, min. 0.25, max. 37.83, count 556) [34530] Collect (Eden): 813.91ms (avg. 1.57, min. 0.45, max. 37.83, count 518) [34530] Collect (Full): 558.51ms (avg. 14.70, min. 0.25, max. 25.97, count 38) (despite doing more collections :-)
WebKit Commit Bot
Comment 9
2015-01-21 18:56:23 PST
Comment on
attachment 245062
[details]
Patch Clearing flags on attachment: 245062 Committed
r178884
: <
http://trac.webkit.org/changeset/178884
>
WebKit Commit Bot
Comment 10
2015-01-21 18:56:26 PST
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug