Do they belong to you? Claim these comments.
Oliver
Is this you? Claim Profile »
2 週間 ago
in The highest traffic site in the world doesn’t close its HTML tags on ErrorHelp tools, news and anecdotes
HTML5 defines what an html parser should actually do (which hasn't really been done properly before), including how missing end tags are expected to be handled -- eg. should the element remain open or should it close when it hits a closing tag from a different element: eg. does <tag1> <tag2> </tag1> get turned into <tag1><tag2></tag2></tag1> or <tag1><tag2></tag1><tag2>
- 2 points
- Jump to »
11 ヶ月 ago
in Brain-Dead Canvas Quirk on CuppaDev
Ostensibly JavaScriptCore's GC should be accounting for the increased memory usage of the CanvasPixelArray and be trying to reclaim memory more often so failure to do so is effectively a bug, if you could file a bug at bugs.webkit.org with your test case attached it would be greatly appreciated.
1 年 ago
in SquirrelFish is faster than Tamarin on satine.org
@gfan: ah, i thought i'd replied to you before (i did on the webkit blog). In the commandline version of sunspider it is possible for sunspider to remove absolutely all computation time (lexing, parsing, compilation) as sunspider gets the time before and after calling "load(somescript)". In the browser that's not completely possible as you can't control network latency, so the tests have to calculate start and end times themselves. Unfortunately this means the the outermost (global code) will have been compiled, and all the code will have been _parsed_.
Two important things to note though are: parsing takes basically 0% of the runtime -- you can add fairly significant amounts of additional work to the parser without causing any change in sunspider (although one would hope you were making such changes to enable improvements later :D ). As for the compilation of the global code segment, there is only one test that actually performs the majority of its computation in the global scope and that has a very small amount of code relative to its runtime, so there should not be any significant impact from this.
Finally, even though we do discount the compile time for a very small portion of the tests, profiling (at least in squirrelfish) shows that less than 0.3% of the execution time is spent generating the bytecode, so it really is not significant.
Two important things to note though are: parsing takes basically 0% of the runtime -- you can add fairly significant amounts of additional work to the parser without causing any change in sunspider (although one would hope you were making such changes to enable improvements later :D ). As for the compilation of the global code segment, there is only one test that actually performs the majority of its computation in the global scope and that has a very small amount of code relative to its runtime, so there should not be any significant impact from this.
Finally, even though we do discount the compile time for a very small portion of the tests, profiling (at least in squirrelfish) shows that less than 0.3% of the execution time is spent generating the bytecode, so it really is not significant.
1 年 ago
in SquirrelFish is faster than Tamarin on satine.org
@David Temkin: Any chance of you filing performance bugs at http://bugs.webkit.org ?
1 年 ago
in SquirrelFish is faster than Tamarin on satine.org
@gfan: the SquirrelFish times *do* include compilation time, it's completely unavoidable. Tamarin is the only one for which the compile time is not included because currently the tamarin jit is unable to to run javascript itself, it requires a separate program to compile the javascript to actionscript bytecodes.
I'm not sure why you believe squirrelfish times don't include that time.. in fact i'm not sure why you think it is actually possible.
Finally, SunSpider was created to find performance issues, if it did not include compilation time it would not be useful, as we would be unable to make any changes to codegen because we would not be able to measure the resultant performance (there's no point making a change that makes interpreting a script 2 seconds faster if the compilation takes 3 seconds longer).
I'm not sure why you believe squirrelfish times don't include that time.. in fact i'm not sure why you think it is actually possible.
Finally, SunSpider was created to find performance issues, if it did not include compilation time it would not be useful, as we would be unable to make any changes to codegen because we would not be able to measure the resultant performance (there's no point making a change that makes interpreting a script 2 seconds faster if the compilation takes 3 seconds longer).