Created attachment 157812 [details] Bisect results See http://webkit-perf.appspot.com/graph.html#tests=[[2966378,2001,32196]]&sel=1343895254495.4062,1344094768078.8474,116.85483870967741,148.30645161290323&displayrange=30&datatype=running I've manually bisected builds and found narrowed the regression range to r124569 and r124570 but http://trac.webkit.org/changeset/124569 is EFL specific so it can't affect Lion.
It doesn't seem good if a developer-only feature negatively affects performance for everyone. Should r124570 be rolled out?
(In reply to comment #1) > It doesn't seem good if a developer-only feature negatively affects performance for everyone. Should r124570 be rolled out? Hm, that sounds weird as the code changed in http://trac.webkit.org/changeset/124570 is never executed if inspector front-end is not open. I will take a look.
I've got the following results for the test locally: r124570: Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 117.058146763 runs/s median= 117.035110533 runs/s, stdev= 0.154035470159 runs/s, min= 116.580310881 runs/s, max= 117.1875 runs/s Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 118.598121427 runs/s median= 119.443074539 runs/s, stdev= 2.12033029385 runs/s, min= 114.503816794 runs/s, max= 121.359223301 runs/s r124569: Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 116.415725262 runs/s median= 116.429495472 runs/s, stdev= 0.388459438058 runs/s, min= 115.979381443 runs/s, max= 117.647058824 runs/s Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 120.665066918 runs/s median= 121.065375303 runs/s, stdev= 0.806736064988 runs/s, min= 118.26544021 runs/s, max= 121.212121212 runs/s
This regression only reproduces on Apple's Mac port.
(In reply to comment #4) > This regression only reproduces on Apple's Mac port. The results above are for Apple's Mac port. I didn't have 10.7 under my hand so I ran it on 10.6. I'll try to find 10.7 today to run the test there.
(In reply to comment #5) > (In reply to comment #4) > > This regression only reproduces on Apple's Mac port. > > The results above are for Apple's Mac port. I didn't have 10.7 under my hand so I ran it on 10.6. I'll try to find 10.7 today to run the test there. Strange. I used a 10.6 machine to get my stat.
(In reply to comment #6) > (In reply to comment #5) > > (In reply to comment #4) > > > This regression only reproduces on Apple's Mac port. > > > > The results above are for Apple's Mac port. I didn't have 10.7 under my hand so I ran it on 10.6. I'll try to find 10.7 today to run the test there. > > Strange. I used a 10.6 machine to get my stat. FWIW, I tried it on 10.7 and there does not seem to be any perf regression caused by r124570: r124569: WebKit caseq$ ./Tools/Scripts/run-perf-tests Bindings/node-list-access.html Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 180.702349353 runs/s median= 180.995550742 runs/s, stdev= 1.37570953338 runs/s, min= 177.439797212 runs/s, max= 182.291666667 runs/s r124570: WebKit caseq$ ./Tools/Scripts/run-perf-tests Bindings/node-list-access.html Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 181.230389955 runs/s median= 181.347150259 runs/s, stdev= 1.4923706351 runs/s, min= 178.117048346 runs/s, max= 183.006535948 runs/s
Below are the results for another Mac OX Lion machine: r124569: Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 128.321842899 runs/s median= 127.145633077 runs/s, stdev= 3.5260358241 runs/s, min= 125.470514429 runs/s, max= 135.900339751 runs/s r124570: Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 127.241506239 runs/s median= 125.786362543 runs/s, stdev= 3.33869499061 runs/s, min= 123.609394314 runs/s, max= 134.228187919 runs/s One interesting thing about the test is that I got the following result on r124582: 124582 Running 1 tests Running Bindings/node-list-access.html (1 of 1) DESCRIPTION: This benchmark covers 'childNodes' in Dromaeo/dom-traverse.html, and other DOM attributes that access NodeList. RESULT Bindings: node-list-access= 136.215966376 runs/s median= 138.364779874 runs/s, stdev= 4.87487494624 runs/s, min= 124.378109453 runs/s, max= 139.416983523 runs/s which is faster than r124570
Strange :(
Looking at the graphs more closely, it seems like the culprit is http://trac.webkit.org/changeset/128400.
<rdar://problem/12448669>