Bug 35843

Summary: REGRESSION(r55035): string-base64 20x slower (in-browser only)
Product: WebKit Reporter: Joe Strzemp <maccinema>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Severity: Normal CC: barraclough, loki, oliver, sam
Priority: P2 Keywords: InRadar, Performance, Regression
Version: 528+ (Nightly build)   
Hardware: Mac (Intel)   
OS: OS X 10.6   
URL: http://www2.webkit.org/perf/sunspider-0.9/string-base64.html

Description Joe Strzemp 2010-03-07 02:37:10 PST
The SunSpider base64 subtest is running 20x slower since build 55043 (Feb 19) using Safari.

    base64:            *20.1x as slow*    16.0ms +/- 16.5%   320.8ms +/- 6.3%     significant

Oddly, this is the only test that was slower!?!

I first noticed this when I compared a recent nightly build with the most recent Apple version installed on my Mac 10.6.2.
Also, it appears that build 55027 (also Feb 19) was the last build that performs base64 well.
Comment 1 Joe Strzemp 2010-03-07 02:50:34 PST
Changing URL in bugreport to specific test (string-base64.html) allowing for faster verifying.
Comment 2 Joe Strzemp 2010-03-07 03:29:05 PST
http://trac.webkit.org/changeset/55035 looks like probable cause of performance regression with strings-base64 SunSpider test.
Comment 3 Sam Weinig 2010-03-07 12:17:58 PST
I can reproduce this in r55636.
Comment 4 Sam Weinig 2010-03-07 12:18:44 PST
Comment 5 Joe Strzemp 2010-03-07 23:25:05 PST
In addition...

If this performance drop is only seen "in-browser only", then perhaps a non-browser test that
mimics the browser action needs to be added to the test suite (if not currently skipped).

Seems that a 20x performance drop is not something that should go unnoticed by an
automated test suite.
Comment 6 Gabor Loki 2010-03-07 23:57:29 PST
Unfortunately, I can also confirm that this fix (r55035) caused a performance regression on ARM (JSValue32). 

See the summarized results at:

From SunSpider:
** TOTAL **:           *1.24x as slow*   7730.2ms +/- 0.3%   9608.5ms +/- 0.4%     significant
string:              *2.07x as slow*   1720.9ms +/- 0.2%   3562.5ms +/- 0.3%     significant
  base64:            *10.1x as slow*    202.1ms +/- 0.7%   2049.5ms +/- 0.4%     significant
Comment 7 Gavin Barraclough 2010-03-08 12:31:56 PST
55035 reverted in 55679, I'll land a new fix for the problem.
(keeping this bug open until the new fix lands).
Comment 8 Gavin Barraclough 2010-03-15 16:00:24 PDT
Landed new version in r56021.