[Webkit-unassigned] [Bug 17510] Acid3 test 26 takes >33ms

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun May 25 16:18:17 PDT 2008


http://bugs.webkit.org/show_bug.cgi?id=17510





------- Comment #36 from mjs at apple.com  2008-05-25 16:18 PDT -------
(In reply to comment #34)
> I'd like to echo the sentiment underlying mjs' most recent comments -- when
> looking at optimisations here please consider how they would affect the real
> Web first. It doesn't matter how fast Acid3 is really, the idea is just that it
> might be a (poor) proxy for real Web usage.

In all honesty the test 26 timing loop is not a very good real-world benchmark.
As Darin mentions, one of the most effective ways to speed it up is to optimize
handling of DOM nodes that are inserted into the document and then removed
again before they can lay out or paint, something that very rarely happens in
real situations. It is unlikely that highly effective general optimizations
will take 26 into the win category, for instance our massive JS interpreter
rewrite had minimal impact even though it speeds up many more realistic
benchmarks by factors of 1.2x - 2.1x.

That being said, we'd like to win anyway, and hopefully can do it with
optimizations that at least do not harm the general case or may be useful for
other reasons.

> Having said that, regarding the strings specifically, concatenating strings is
> pretty common. Why would that idea not generalise well?

It might. Note that my suggestion only covers some very specific patterns. For
instance, these cases could not be optimized:

1) var s = x + y + " some constant string";
2) var s = "foo"; s += x; s += y;
3) var s = "foo" + x; // no intermediate values avoided here

The question is how common such patterns are compared to var s = "foo" + x + y;
or similar. If the optimizable pattern isn't that common as a hot spot in real
code, then it is unwise to add complexity to the bytecode interpreter's main
loop to handle it. I am not really sure of the frequency distribution.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list