RESOLVED FIXED 46664
6% Array Push and Pop Overhead in v8-deltablue
https://bugs.webkit.org/show_bug.cgi?id=46664
Summary 6% Array Push and Pop Overhead in v8-deltablue
Michael Saboff
Reported 2010-09-27 15:25:55 PDT
The v8 benchmark component deltablue has an overhead of 6% in the array push and pop routines and descendants.
Attachments
Patch to Allocate Minimal Space for Array() (2.30 KB, patch)
2010-09-27 15:36 PDT, Michael Saboff
no flags
Michael Saboff
Comment 1 2010-09-27 15:36:52 PDT
Created attachment 68980 [details] Patch to Allocate Minimal Space for Array() Changes the JSArray() constructor that takes an ArgList argument to allocate space for three elements when the ArgList is empty. This improves v8-deltablue by about 2.8%
Geoffrey Garen
Comment 2 2010-09-27 16:45:56 PDT
Comment on attachment 68980 [details] Patch to Allocate Minimal Space for Array() r=me
Eric Seidel (no email)
Comment 3 2010-09-27 18:49:12 PDT
Curious if a larger number wouldn't be better. I assume you tested a variety of sizes? I wonder what V8 does here.
WebKit Commit Bot
Comment 4 2010-09-27 18:52:54 PDT
Comment on attachment 68980 [details] Patch to Allocate Minimal Space for Array() Clearing flags on attachment: 68980 Committed r68469: <http://trac.webkit.org/changeset/68469>
WebKit Commit Bot
Comment 5 2010-09-27 18:52:58 PDT
All reviewed patches have been landed. Closing bug.
Michael Saboff
Comment 6 2010-09-28 10:04:48 PDT
In response to comment from eric@webkit.org, I tried values of 1 through 4. It appears that there is a knee at 3 as it was better than the other values. I suspect that the initialization overhead hurts as the value goes higher (the JSValue() constructor is called for each allocated element).
Note You need to log in before you can comment on or make changes to this bug.