Bug 28332

Summary: REGRESSION: significant slowdown on Celtic Kane "AJAX declaration" subtest
Product: WebKit Reporter: Maciej Stachowiak <mjs>
Component: JavaScriptCoreAssignee: Oliver Hunt <oliver>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, barraclough, ggaren
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
Bug Depends on: 28442    
Bug Blocks:    
Attachments:
Description Flags
First pass at fixing regression. none

Maciej Stachowiak
Reported 2009-08-14 17:14:52 PDT
http://www.betanews.com/article/Safari-403-speed-gains-hobbled-by-unexplained-poor-AJAX-performance/1250108985 This page claims: "Specifically, a heat where Safari 4 build 530.19 was timed at 23 ms, for a score of 8.96(almost nine times faster than IE7 on Vista), yielded a time of 371 ms (0.56) for build 531.9.1." We have confirmation of a serious regression on both Mac and Windows.
Attachments
First pass at fixing regression. (11.96 KB, patch)
2009-08-20 00:13 PDT, Oliver Hunt
no flags
Maciej Stachowiak
Comment 1 2009-08-14 17:16:10 PDT
Maciej Stachowiak
Comment 2 2009-08-14 17:36:00 PDT
Radar bug closed as duplicate of <rdar://problem/7141850>
Oliver Hunt
Comment 3 2009-08-20 00:13:14 PDT
Created attachment 35189 [details] First pass at fixing regression.
Oliver Hunt
Comment 4 2009-08-20 00:20:15 PDT
I'd appreciate it if folk could have a look at this first iteration of a fix for this regression. It's actually quite straight forward in the end, it's memory neutral (actually due to what happens currently it's probably a memory win in the effected cases), and is a 1% progression on V8. There is some gnarlyness to it though -- it uses a const_cast to be able to create the necessary pair for the hash lookup which is safe, but really really icky; it also adds StructureTransitionTable functions to Structure.h to allow inlining, but having seen performance i may try making them non-inlined and see if it's survivable.
Oliver Hunt
Comment 5 2009-08-20 22:50:32 PDT
Sigh, the info here was lost :-( Bug fix (and a couple of followup patches) landed in r47601, 47604, and 47605
Note You need to log in before you can comment on or make changes to this bug.