Bug 125944 - REGRESSION(r156214): 11-13% regressions on Dromaeo/jslib-traverse-jquery
Summary: REGRESSION(r156214): 11-13% regressions on Dromaeo/jslib-traverse-jquery
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P1 Normal
Assignee: Nobody
URL:
Keywords: InRadar, Regression
: 125953 (view as bug list)
Depends on: 121717
Blocks:
  Show dependency treegraph
 
Reported: 2013-12-18 13:47 PST by Ryosuke Niwa
Modified: 2013-12-20 18:37 PST (History)
5 users (show)

See Also:


Attachments
A/B test result (23.65 KB, text/html)
2013-12-20 17:38 PST, Ryosuke Niwa
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Radar WebKit Bug Importer 2013-12-20 11:57:46 PST
<rdar://problem/15710364>
Comment 2 Ryosuke Niwa 2013-12-20 17:33:04 PST
I've bisected locally.  This regression is caused by http://trac.webkit.org/changeset/156214.
Comment 3 Ryosuke Niwa 2013-12-20 17:38:06 PST
Created attachment 219817 [details]
A/B test result
Comment 4 Ryosuke Niwa 2013-12-20 17:40:39 PST
*** Bug 125953 has been marked as a duplicate of this bug. ***
Comment 5 Mark Hahnenberg 2013-12-20 17:55:47 PST
The original bug was that we would be in the middle of copying, see and hole and we realize we should have done something else, and then we start copying all over again.

The fix was a simple one: first check if there's a hole, then do the copy. So you're always doing two passes over the array.

If we want to fix this regression then we need a way to start copying and then gracefully fail when we see a hole without forgetting that we had already started copying.
Comment 6 Mark Hahnenberg 2013-12-20 18:01:07 PST
(In reply to comment #5)
> The original bug was that we would be in the middle of copying, see and hole and we realize we should have done something else, and then we start copying all over again.
> 
..see a hole, realize we should...

Jeez.
Comment 7 Ryosuke Niwa 2013-12-20 18:37:23 PST
I think we need to come up with some strategy to improve the performance of jslib-traverse-jquery because we've regressed this particular test thrice:

https://perf.webkit.org/#mode=charts&chartList=%5B%5B%22mac-mountainlion%22%2C%22Dromaeo%2Fjslib-traverse-jquery%3ARuns%22%5D%5D&days=200

We used to get 22 runs/s but now we're getting 17 runs/s, a hopping 30% regression in the total :(

Perhaps we can improve elsewhere to compensate?