Bug 35843 - REGRESSION(r55035): string-base64 20x slower (in-browser only)
Summary: REGRESSION(r55035): string-base64 20x slower (in-browser only)
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Mac (Intel) OS X 10.6
: P2 Normal
Assignee: Nobody
URL: http://www2.webkit.org/perf/sunspider...
Keywords: InRadar, Performance, Regression
Depends on:
Reported: 2010-03-07 02:37 PST by Joe Strzemp
Modified: 2010-03-15 16:00 PDT (History)
4 users (show)

See Also:


Note You need to log in before you can comment on or make changes to this bug.
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.