blob: d0f645463ce6dea261e3f86dd28b281f17d22ea7 [file] [log] [blame]
2015-08-17 Chris Dumez <cdumez@apple.com>
Add performance tests for traversal of collections returned by getElementsByClassName() / getElementsByTagName()
https://bugs.webkit.org/show_bug.cgi?id=148080
Reviewed by Antti Koivisto.
Add performance tests for traversal of *uncached* collections returned
by getElementsByClassName() / getElementsByTagName(). These methods
will soon be updated to return an HTMLCollection instead of a
NodeList and we need to make sure we don't regress performance in the
process.
* DOM/get-elements-by-class-name-traversal-uncached.html: Added.
* DOM/get-elements-by-tag-name-traversal-uncached.html: Added.
2015-08-14 Chris Dumez <cdumez@apple.com>
Add performance tests for NodeList and HTMLCollection traversal
https://bugs.webkit.org/show_bug.cgi?id=148043
Reviewed by Gavin Barraclough.
Add performance tests for NodeList and HTMLCollection traversal.
Ideally, those 2 tests should be as fast. However, due to inefficiencies
in our HTMLCollection bindings code, the HTMLCollection tests is ~30%
slower. This will be addressed in the near future.
* Bindings/childNodes-traversal.html: Added.
* Bindings/children-traversal.html: Added.
2015-08-05 Myles C. Maxfield <mmaxfield@apple.com>
Add a second font-fallback performance test
https://bugs.webkit.org/show_bug.cgi?id=147692
Reviewed by Ryosuke Niwa.
This test is smaller, but has more realistic content. Also, it uses the "lang" attribute.
* Layout/font-fallback-2.html: Added.
* Layout/resources/font-fallback-2.html: Added.
2015-07-13 Filip Pizlo <fpizlo@apple.com>
Update JetStream version number to 1.1.
Rubber stamped by Ryosuke Niwa.
* JetStream/create.rb:
2015-06-30 Filip Pizlo <fpizlo@apple.com>
Update the JetStream documentation to reflect the recent changes
https://bugs.webkit.org/show_bug.cgi?id=146474
Reviewed by Geoffrey Garen.
* JetStream/create.rb: Bump the version.
* JetStream/in-depth-TEMPLATE.html: Add cdjs documentation. Remove cordic documentation. Change documentation for splay and mandreel.
2015-06-26 Filip Pizlo <fpizlo@apple.com>
[JetStream] Raise the percentile of mandreel-latency and splay-latency
https://bugs.webkit.org/show_bug.cgi?id=146378
Reviewed by Mark Lam.
The current percentile is 95%. When I looked at the sample lists in our GC, it was
clear that the worst 5% samples completely amortize our GC pauses. Our GC pauses can
be quite bad. Clearly, splay-latency is meant to test whether we have an incremental
GC that ensures that you don't have bad worst-case pauses. But 95% is too small,
because it doesn't really capture those pauses. Raising the percentile to above 99%
appears to do the trick. 99.5% or more seems like a good bet. The trade-off there is
just that if we set it too high, then we won't have enough statistics. Doing this very
clearly rewards GCs that are incremental, and punishes GCs that aren't (like ours).
That's what we want, since in the future we want to use this test to guide any
improvements to the worst-case performance of our GC.
The way that the percentile is selected will also affect mandreel-latency. That's a
good thing, because 95% is probably too low for that test as well. That test ends up
with >10k samples. The goal of using 95% in the first place was to get enough samples
to have a stable average. But if we have >10k samples, we can push that percentile up
much higher and still get good statistics while achieving the effect we want - i.e.
getting the worst case.
I don't think that we need to do the same thing for cdjs. That test only takes 200
samples, so 95% means we report the average of the worst 10 samples. That's probably
good enough.
* JetStream/Octane2/base.js: Raise the percentile as described above.
(BenchmarkSuite.prototype.RunSingleBenchmark):
* JetStream/Reference.js: Tweak the reference times to bring the latency tests closer to 100ish on my machine.
* JetStream/create.rb: Bump the version.
2015-06-19 Filip Pizlo <fpizlo@apple.com>
Run CDjs as part of JSC stress testing
https://bugs.webkit.org/show_bug.cgi?id=146174
Reviewed by Geoffrey Garen.
* JetStream/cdjs/cdjs-tests.yaml: Added. This tells JSC stress tests what tests to run. It uses new syntax ("tests" being a list) that I add in this change.
* JetStream/cdjs/main.js: Mark this as a slow test.
* JetStream/create.rb: Don't copy the JSC stress tests artifacts into the JetStream bundle.
2015-06-19 Filip Pizlo <fpizlo@apple.com>
Unreviewed, fix a small indentation goof.
* JetStream/cdjs/motion.js:
(Motion.prototype.findIntersection):
2015-06-19 Filip Pizlo <fpizlo@apple.com>
JetStream should include a JavaScript version of the CDx real-time benchmark
https://bugs.webkit.org/show_bug.cgi?id=146156
Reviewed by Geoffrey Garen.
This adds a JavaScript port of the CDx real-time benchmark to JetStream, and retires
the cordic test because it was previously the smallest and probably least interesting.
The new test, "cdjs", is mostly a faithful rewrite of the Java code into JavaScript.
I got the Java code from https://www.cs.purdue.edu/sss/projects/cdx/.
There are some differences:
- It uses RedBlackTree's for all sets and maps rather than hashtables. This is clearly
more in the spirit of real-time than the CDx benchmark. FWIW, CDx used to use trees
and I don't know why that changed in the latest version.
- CDjs doesn't attempt to avoid memory allocations, unlike the real-time Java version.
I wrote the code that I wanted to write for aesthetics, rather than the code that I
would have written if I tried to write the fastest code possible. Again, I believe
that this is in the spirit of CDj - it's meant to test what would happen if you wrote
real-timey stuff in a high level language and actually took advantage of that
language to be more productive.
The test score reflects the average latency of the worst 10 samples out of 200 samples.
The simulation uses 1000 aircraft, flying along paths that result in some detected
collisions every once in a while. The benchmark validates its results by checking the
total number of collisions detected.
Apart from the integration into the JetStream harness, the CDjs directory contains a
fully self-contained benchmark that could be run either in the jsc shell or in browser.
This new code uses the same 3-clause BSD license as the Purdue code, and gives
attribution to Purdue in almost all files. I believe that is appropriate since I wrote
most of the JS files by looking at the Purdue Java code and trascribing to JavaScript.
In some cases, I even copy-pasted the Java code, like the complicated math for
four-dimensional intersections and voxel hashing.
* JetStream/CDjsSetup.js: Added.
* JetStream/Octane2Setup.js:
* JetStream/Reference.js:
* JetStream/cdjs: Added.
* JetStream/cdjs/benchmark.js: Added.
(benchmark):
* JetStream/cdjs/call_sign.js: Added.
(CallSign):
(CallSign.prototype.compareTo):
(CallSign.prototype.toString):
* JetStream/cdjs/collision.js: Added.
(Collision):
(Collision.prototype.toString):
* JetStream/cdjs/collision_detector.js: Added.
(CollisionDetector):
(CollisionDetector.prototype.handleNewFrame.get for):
(CollisionDetector.prototype.handleNewFrame):
* JetStream/cdjs/constants.js: Added.
* JetStream/cdjs/main.html: Added.
* JetStream/cdjs/main.js: Added.
* JetStream/cdjs/motion.js: Added.
(Motion):
(Motion.prototype.toString):
(Motion.prototype.delta):
(Motion.prototype.findIntersection):
* JetStream/cdjs/motion_test.js: Added.
(checkDoesIntersect):
(checkDoesNotIntersect):
(makeMotion):
* JetStream/cdjs/red_black_tree.js: Added.
(RedBlackTree):
(RedBlackTree.):
* JetStream/cdjs/red_black_tree_test.js: Added.
(test):
(test.):
* JetStream/cdjs/reduce_collision_set.js: Added.
(drawMotionOnVoxelMap):
(drawMotionOnVoxelMap.):
(.get reduceCollisionSet):
* JetStream/cdjs/reduce_collision_set_test.js: Added.
(makeMotion):
(keys):
(test):
* JetStream/cdjs/simulator.js: Added.
(Simulator):
(Simulator.prototype.simulate):
* JetStream/cdjs/util.js: Added.
(compareNumbers):
(averageAbovePercentile):
(currentTime):
(else.currentTime):
* JetStream/cdjs/vector_2d.js: Added.
(Vector2D):
(Vector2D.prototype.plus):
(Vector2D.prototype.minus):
(Vector2D.prototype.toString):
(Vector2D.prototype.compareTo):
* JetStream/cdjs/vector_3d.js: Added.
(Vector3D):
(Vector3D.prototype.plus):
(Vector3D.prototype.minus):
(Vector3D.prototype.dot):
(Vector3D.prototype.squaredMagnitude):
(Vector3D.prototype.magnitude):
(Vector3D.prototype.times):
(Vector3D.prototype.as2D):
(Vector3D.prototype.toString):
* JetStream/create.rb:
* JetStream/index-TEMPLATE.html:
* JetStream/sunspider/cordic.js: Removed.
2015-06-17 Javier Fernandez <jfernandez@igalia.com>
[CSS Grid Layout] We should add performance tests for stretching logic
https://bugs.webkit.org/show_bug.cgi?id=146063
Reviewed by Sergio Villar Senin.
Added a new performance test for Grid Layout to ensure there are no
regressions in the stretching alignment logic.
* Layout/fixed-grid-lots-of-stretched-data.html: Added.
2015-06-17 Javier Fernandez <jfernandez@igalia.com>
[CSS Grid Layout] Performance tests are using the old syntax
https://bugs.webkit.org/show_bug.cgi?id=146061
Reviewed by Sergio Villar Senin.
Adapted tests to the new grid tracks definition syntax.
* Layout/auto-grid-lots-of-data.html:
* Layout/fixed-grid-lots-of-data.html:
2015-06-08 Filip Pizlo <fpizlo@apple.com>
JetStream should have a more rational story for jitter-oriented latency tests
https://bugs.webkit.org/show_bug.cgi?id=145762
Reviewed by Geoffrey Garen.
JetStream has some latency tests that are meant to measure jitter. Prior to this change, they
did this by computing the RMS. But the RMS is a pretty bad metric. The thing that it rewards
isn't really the thing that you'd want your browser to do. These RMS-based tests involve taking
the geomean of the RMS of some samples and the sample average. The lower the geomean, the better
(in the JetStream harness we then invert the scores so that higher is better, but let's ignore
that for this discussion and assume that lower is better). Here's an example of how this can go
bad. A browser that always computes a task in some horribly long time (say, 1000ms) but never
varies that time will perform better than a browser that usually computes the task super quickly
(say, 10ms) and sometimes just a little bit less quickly (say, 15ms). The former browser will
have an RMS of 0 and an average of 1000. The latter will have a RMS somewhere around 3.5 and an
average of 12.5 (assuming equal probability of 10ms and 15ms). The geomean of (0, 1000) is 0.
The geomean of (3.5, 12.5) is 6.6. Lower is better, so the former browser scores higher - even
though it's obviously never better to have a browser always complete a task in 1000ms when a
different browser can do it in 15ms in the worst case.
JetStream should not have this pathology. The right way of avoiding it is to replace RMS with
some other metric of how bad things get. A good metric is the average of the worst percentile.
The worst 1% or the worst 5% would be good things to average. This will catch cases where the VM
jittered due to JIT or GC, but it never have the pathology that we end up giving the better score
to a VM whose best case is worst than another VM's worst case.
For now, this change uses the highest samples above the 95% percentile. I'm not yet sure if that
is the best thing - it might include too many scores that are around the best-case performance -
but it's certainly better than RMS and it might be good enough to keep. But because of that
uncertainty, I'm setting the version to be "1.1-alpha1" to indicate that we aren't ready to
release this yet.
* JetStream/Octane2/base.js:
(.this.Setup.setup.setup):
(.this.TearDown.tearDown.tearDown):
(BenchmarkSuite.GeometricMeanTime):
(BenchmarkSuite.AverageAbovePercentile):
(BenchmarkSuite.GeometricMeanLatency):
(BenchmarkSuite.prototype.NotifyStep):
(BenchmarkSuite.prototype.RunSingleBenchmark):
* JetStream/Octane2/mandreel.js:
(setupMandreel):
(updateMandreelStats):
(startMandreelTimer):
(latencyMandreel):
(tearDownMandreel):
(RMSMandreel): Deleted.
* JetStream/Octane2/splay.js:
(GenerateKey):
(SplayUpdateStats):
(InsertNewNode):
(SplayTearDown):
(SplayRMS): Deleted.
* JetStream/create.rb:
2015-06-03 Zalan Bujtas <zalan@apple.com>
Skip Dromaeo/jslib-modify-prototype.html for now.
Unreviewed gardening.
* Skipped:
2015-05-04 Filip Pizlo <fpizlo@apple.com>
Large array shouldn't be slow
https://bugs.webkit.org/show_bug.cgi?id=144617
Reviewed by Geoffrey Garen.
Add the hash-map benchmark to LongSpider. LongSpider was already not a perfect match of
SunSpider. It's not an official benchmark. It contains benchmarks that are relatively
long-running. So, hash-map sort of belongs here.
* LongSpider/hash-map.js: Added.
(HashMap):
(HashMap.):
(.get var):
2015-05-01 Dewei Zhu <dewei_zhu@apple.com>
Fix typo bug in Speedometer/resources/main.js
https://bugs.webkit.org/show_bug.cgi?id=144504
Reviewed by Ryosuke Niwa.
* Speedometer/resources/main.js: Fix typo.
(window.benchmarkClient.totalTimeInDisplayUnit):
2015-04-21 Ryosuke Niwa <rniwa@webkit.org>
Add JetStream to PerformanceTests
https://bugs.webkit.org/show_bug.cgi?id=144024
Rubber-stamped by Filip Pizlo.
* JetStream: Added.
* JetStream/JetStream-Logo.png: Added.
* JetStream/JetStream-Logo@2x.png: Added.
* JetStream/JetStream.css: Added.
* JetStream/JetStreamDriver.js: Added.
* JetStream/LICENSE.txt: Added.
* JetStream/LLVM-test-suite-LICENSE.txt: Added.
* JetStream/Octane: Added.
* JetStream/Octane/base.js: Added.
* JetStream/Octane/code-load.js: Added.
* JetStream/Octane2: Added.
* JetStream/Octane2/base.js: Added.
* JetStream/Octane2/box2d.js: Added.
* JetStream/Octane2/code-load.js: Added.
* JetStream/Octane2/crypto.js: Added.
* JetStream/Octane2/deltablue.js: Added.
* JetStream/Octane2/earley-boyer.js: Added.
* JetStream/Octane2/gbemu-part1.js: Added.
* JetStream/Octane2/gbemu-part2.js: Added.
* JetStream/Octane2/mandreel.js: Added.
* JetStream/Octane2/navier-stokes.js: Added.
* JetStream/Octane2/pdfjs.js: Added.
* JetStream/Octane2/raytrace.js: Added.
* JetStream/Octane2/regexp.js: Added.
* JetStream/Octane2/richards.js: Added.
* JetStream/Octane2/run.js: Added.
* JetStream/Octane2/splay.js: Added.
* JetStream/Octane2/typescript-compiler.js: Added.
* JetStream/Octane2/typescript-input.js: Added.
* JetStream/Octane2/typescript.js: Added.
* JetStream/Octane2/zlib-data.js: Added.
* JetStream/Octane2/zlib.js: Added.
* JetStream/Octane2Setup.js: Added.
* JetStream/OctaneSetup.js: Added.
* JetStream/README: Added.
* JetStream/Reference.js: Added.
* JetStream/SimpleSetup.js: Added.
* JetStream/SunSpiderSetup.js: Added.
* JetStream/Swoosh.png: Added.
* JetStream/Swoosh@2x.png: Added.
* JetStream/TestingSetup.js: Added.
* JetStream/create.rb: Added.
* JetStream/docs: Added.
* JetStream/docs/JetStreamBlogPost.html: Added.
* JetStream/in-depth-TEMPLATE.html: Added.
* JetStream/index-TEMPLATE.html: Added.
* JetStream/simple: Added.
* JetStream/simple/bigfib.cpp: Added.
* JetStream/simple/bigfib.cpp.js: Added.
* JetStream/simple/container.cpp: Added.
* JetStream/simple/container.cpp.js: Added.
* JetStream/simple/dry.c: Added.
* JetStream/simple/dry.c.js: Added.
* JetStream/simple/float-mm.c: Added.
* JetStream/simple/float-mm.c.js: Added.
* JetStream/simple/gcc-loops.cpp: Added.
* JetStream/simple/gcc-loops.cpp.js: Added.
* JetStream/simple/hash-map.js: Added.
* JetStream/simple/n-body.c: Added.
* JetStream/simple/n-body.c.js: Added.
* JetStream/simple/quicksort.c: Added.
* JetStream/simple/quicksort.c.js: Added.
* JetStream/simple/towers.c: Added.
* JetStream/simple/towers.c.js: Added.
* JetStream/sunspider: Added.
* JetStream/sunspider/3d-cube.js: Added.
* JetStream/sunspider/3d-raytrace.js: Added.
* JetStream/sunspider/base64.js: Added.
* JetStream/sunspider/cordic.js: Added.
* JetStream/sunspider/crypto-aes.js: Added.
* JetStream/sunspider/crypto-md5.js: Added.
* JetStream/sunspider/crypto-sha1.js: Added.
* JetStream/sunspider/date-format-tofte.js: Added.
* JetStream/sunspider/date-format-xparb.js: Added.
* JetStream/sunspider/n-body.js: Added.
* JetStream/sunspider/regex-dna.js: Added.
* JetStream/sunspider/tagcloud.js: Added.
2015-04-14 Said Abou-Hallawa <sabouhallawa@apple.com>
textPath layout performance improvement.
https://bugs.webkit.org/show_bug.cgi?id=141570.
Reviewed by Darin Adler.
Cut down the time spent in traversing the path for text by 50%. Instead
of traversing the path twice at a certain length: one time for the position
and the second time for the angle, we can merge these two passes into one.
* SVG/TextOnPathSimple.html: Added.
* SVG/resources/TextOnPathSimple.svg: Added.
2015-04-13 Zalan Bujtas <zalan@apple.com>
Clear up the test content when test is done.
Unreviewed fix.
* Layout/simple-line-layout-innertext.html:
2015-04-09 Zalan Bujtas <zalan@apple.com>
Simple line layout(regression): Calling innerText on RenderFlow with multiple children is slow.
https://bugs.webkit.org/show_bug.cgi?id=143554
Reviewed by Antti Koivisto.
Initialize render flow's segments only when the render flow changes in TextIterator.
The included performance test shows 6x speedup. (from ~10 runs/sec to ~60 runs/sec)
* Layout/simple-line-layout-innertext.html: Added.
2015-03-09 Chris Dumez <cdumez@apple.com>
[CG] Have Canvas use the IOSurfacePool
https://bugs.webkit.org/show_bug.cgi?id=142417
<rdar://problem/20044440>
Reviewed by Darin Adler.
Lower the number of different canvas sizes from 1000 to 100 so that
the test does not require such a huge cache size. With 100, we now
get over 90% cache hit rate with the default IOSurfacePool size.
* Canvas/reuse.html:
2015-01-28 Said Abou-Hallawa <sabouhallawa@apple.com>
Poor performance on IE's Chalkboard benchmark.
https://bugs.webkit.org/show_bug.cgi?id=140753.
Reviewed by Zalan Bujtas.
* SVG/UnderTheSeeBenchmark.html: Added
* SVG/WorldcupBenchmark.html: Added.
* SVG/resources/RenderAnimator.css: Added.
* SVG/resources/RenderAnimator.js: Added.
These are benchmarks for the SVG rendering. Mainly we want to measure how fast
the SVG rendering will be when only a small part of it is drawn.
2015-01-21 Geoffrey Garen <ggaren@apple.com>
bmalloc: support aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140732
Reviewed by Andreas Kling.
* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MallocBench/MallocBench/Benchmark.cpp:
* MallocBench/MallocBench/memalign.cpp:
(test):
(benchmark_memalign): Added a test for specific interesting memalign values.
* MallocBench/MallocBench/stress_aligned.cpp: Added.
(benchmark_stress_aligned):
* MallocBench/MallocBench/stress_aligned.h: Added. Added a stress test
for arbitrary memalign values.
2015-01-16 Geoffrey Garen <ggaren@apple.com>
bmalloc: added the tiniest bit of testing for aligned allocation
https://bugs.webkit.org/show_bug.cgi?id=140573
Reviewed by Andreas Kling.
Just good enoug to catch two bugs in a preliminary implementation.
* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MallocBench/MallocBench/Benchmark.cpp:
* MallocBench/MallocBench/mbmalloc.cpp:
* MallocBench/MallocBench/mbmalloc.h:
* MallocBench/MallocBench/memalign.cpp: Added.
(benchmark_memalign):
* MallocBench/MallocBench/memalign.h: Added.
2014-12-09 Myles C. Maxfield <mmaxfield@apple.com>
Add performance test related to font fallback
https://bugs.webkit.org/show_bug.cgi?id=139332
Reviewed by Simon Fraser.
* Layout/font-fallback.html: Added.
* Layout/resources/font-fallback.html: Added.
2014-12-08 Dean Jackson <dino@apple.com>
[Apple] Use Accelerate framework to speed-up FEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=139310
Reviewed by Simon Fraser.
Add an interactive performance test that measures the speed of a set
of blur operations on a generated images.
* Interactive/blur-filter-timing.html: Added.
2014-11-13 Zalan Bujtas <zalan@apple.com>
Simple line layout: Add performance test case to measure line layout speed of monolithic text content.
https://bugs.webkit.org/show_bug.cgi?id=138699
Reviewed by Antti Koivisto.
* Layout/line-layout-long-long-text.html: Added.
2014-10-22 Zalan Bujtas <zalan@apple.com>
Speed up line parsing for simple line layout (part I)
https://bugs.webkit.org/show_bug.cgi?id=137275
Reviewed by Antti Koivisto.
Extend simple line layout performance test with a few more cases.
Now we've got:
<div center
<div right
<div justify
<div white-space: pre (new)
<div overflow-wrap: break-word (new)
<pre
<pre white-space: pre-wrap
<pre white-space: pre-line (new)
<pre white-space: nowrap (new)
<pre white-space: pre-wrap overflow-wrap: break-word
<div + embedded <span etc.
<div + br
* Layout/line-layout-simple.html:
2014-10-15 Andrei Bucur <abucur@adobe.com>
[Multicol] Start adding performance tests for the multi-column implementation
https://bugs.webkit.org/show_bug.cgi?id=137687
Reviewed by Mihnea Ovidenie.
This patch creates a Multicol folder inside the Layout performance tests suite. It adds only two tests
as described below.
The tests are skipped until the implementation stabilizes.
* Layout/Multicol/MulticolManyColumns.html: Added.
This test verifies the performance of the multi-column implementation with two nested multi-column
containers, the first having 20 columns and the second 10 columns.
* Layout/Multicol/MulticolNested.html: Added.
This test verifies the performance of nesting multi-column containers in the presence
of floats.
* Layout/Multicol/resources/multicol-content-many-columns.html: Added.
* Layout/Multicol/resources/multicol-content-nested.html: Added.
* Skipped: Skip the Multicol folder for now.
2014-09-29 Filip Pizlo <fpizlo@apple.com>
It should be fun and easy to run every possible JavaScript benchmark from the command line
https://bugs.webkit.org/show_bug.cgi?id=137245
Reviewed by Oliver Hunt.
This adds the scaffolding for running Octane version 2 inside run-jsc-benchmarks.
In the future we should just land Octane2 in this directory, and run-jsc-benchmarks
should be changed to point directly at this directory instead of requiring the
Octane path to be configured as part of the configuration file.
* Octane: Added.
* Octane/wrappers: Added.
* Octane/wrappers/jsc-box2d.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-boyer.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-closure.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-decrypt.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-deltablue.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-earley.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-encrypt.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-gbemu.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-jquery.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-mandreel.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-navier-stokes.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-pdfjs.js: Added.
(jscSetUp.PdfJS_window.console.log):
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-raytrace.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-regexp.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-richards.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-splay.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-typescript.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
* Octane/wrappers/jsc-zlib.js: Added.
(jscSetUp):
(jscTearDown):
(jscRun):
2014-09-28 Sungmann Cho <sungmann.cho@navercorp.com>
Fix some minor typos: psuedo -> pseudo
https://bugs.webkit.org/show_bug.cgi?id=137192
Reviewed by Alexey Proskuryakov.
* Speedometer/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js:
2014-09-11 Geoffrey Garen <ggaren@apple.com>
Some MallocBench refinements
https://bugs.webkit.org/show_bug.cgi?id=136750
Reviewed by Sam Weinig.
* MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::run): Allow for null entries in the object list so that
we can test in modes that exclude large or small allocations.
* MallocBench/MallocBench/churn.cpp:
(benchmark_churn):
* MallocBench/MallocBench/flickr.cpp:
(benchmark_flickr):
* MallocBench/MallocBench/fragment.cpp:
(benchmark_fragment_iterate):
* MallocBench/MallocBench/list.cpp:
(benchmark_list_allocate):
* MallocBench/MallocBench/reddit.cpp:
(benchmark_reddit): Updated test runtimes to weight them more equally,
for the sake of arithmetic mean.
* MallocBench/MallocBench/stress.cpp:
(Object::Object):
(allocate):
(deallocate):
(benchmark_stress): Verify the contents of memory as we go. Also,
force scavenging each time through the loop to test the scavenging path.
* MallocBench/MallocBench/theverge.cpp:
(benchmark_theverge):
* MallocBench/MallocBench/tree.cpp:
(benchmark_tree_churn): Re-weighted, as above.
2014-09-08 Myles C. Maxfield <mmaxfield@apple.com>
PerformanceTests/SVG/SVG-Text.html has unparsable output
https://bugs.webkit.org/show_bug.cgi?id=136648
Reviewed by Gavin Barraclough.
I need to clean up the arbitrary text on the page before telling
the test runner infrastructure that the test is complete.
* SVG/SVG-Text.html:
2014-09-05 Myles C. Maxfield <mmaxfield@apple.com>
Laying out a TextRun using an SVG font is O(n^2)
https://bugs.webkit.org/show_bug.cgi?id=136584
Reviewed by Andreas Kling.
Time how long it takes to lay out and render some text using an SVG font.
* SVG/SVG-Text.html: Added.
* SVG/resources/graffiti.svg: Added.
2014-09-02 Geoffrey Garen <ggaren@apple.com>
MallocBench should have a stress test for correctness
https://bugs.webkit.org/show_bug.cgi?id=136468
Reviewed by Andreas Kling.
Added a stress test that allocates randomized sizes of randomized
lifetimes in randomized order.
This version of the test reproduces the EWS crash seen in bmalloc
(<https://bugs.webkit.org/show_bug.cgi?id=132629>).
* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MallocBench/MallocBench/Benchmark.cpp: Sort!
* MallocBench/MallocBench/stress.cpp: Added.
(Object::Object):
(SizeStream::SizeStream):
(SizeStream::next):
(benchmark_stress): Usually, we random(0). Surprisingly, though, only
random(1) reproduces the bug I was looking for.
* MallocBench/MallocBench/stress.h: Added.
2014-06-02 Ryosuke Niwa <rniwa@webkit.org>
Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
https://bugs.webkit.org/show_bug.cgi?id=133455
Reviewed by Timothy Hatcher.
* Speedometer/: Renamed from DoYouEvenBench.
* Skipped: Updated the path for InteractiveRunner.html
2014-06-02 Ryosuke Niwa <rniwa@webkit.org>
Rename DoYouEvenBench 0.17 to Speedometer 1.0 and add a new look.
https://bugs.webkit.org/show_bug.cgi?id=133455
Reviewed by Timothy Hatcher.
Renamed the benchmark to Speedometer and added the new look designed by Timothy Hatcher.
Also changed the unit of measurements from milliseconds to runs-per-minute averaged over the number
of the benchmark suites (7 for 1.0). You can divide 420000 by the old benchmark score (in milliseconds)
to get the new value for the set of tests that are enabled by default in 1.0. You can continue to see
results in milliseconds on Full.html#ms.
* DoYouEvenBench/Full.html: Added a bunch of sections and the description of the benchmark.
* DoYouEvenBench/resources/benchmark-report.js: Remove the newly added content when ran inside a DRT or
WTR so that run-perf-tests wouldn't error.
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame): Call a newly added willAddTestFrame callback when it exists.
* DoYouEvenBench/resources/gauge.png: Added.
* DoYouEvenBench/resources/gauge@2x.png: Added.
* DoYouEvenBench/resources/logo.png: Added.
* DoYouEvenBench/resources/logo@2x.png: Added.
* DoYouEvenBench/resources/main.css: Replaced the style.
* DoYouEvenBench/resources/main.js:
(window.benchmarkClient.willAddTestFrame): Place the iframe right where #testContainer is shown.
(window.benchmarkClient.willRunTest): Show the name of the suite (e.g. EmberJS-TodoMVC) to run next.
(window.benchmarkClient.didRunSuites):
(window.benchmarkClient.willStartFirstIteration): Initialize _timeValues and _finishedTestCount now that
we have an UI to run the benchmark multiple times without reloading the page.
(window.benchmarkClient.didFinishLastIteration): Split into smaller pieces.
(window.benchmarkClient._computeResults): Computes the mean and the statistics for the given time values,
and also format them in a human readable form.
(window.benchmarkClient._computeResults.totalTimeInDisplayUnit): Converts ms to runs/min.
(window.benchmarkClient._computeResults.sigFigFromPercentDelta): Given a percentage error (e.g. 1%),
returns the number of significant digits required for the mean.
(window.benchmarkClient._computeResults.toSigFigPrecision): Calls toPrecision with the specified precision
constrained to be at least the number of non-decimal digits and at most 6.
(window.benchmarkClient._addDetailedResultsRow): Renamed from _addResult. It now takes the table to which
to add a row and the iteration number.
(window.benchmarkClient._updateGaugeNeedle): Added. Controls the angle of the speed indicator.
(window.benchmarkClient._populateDetailedResults): Added.
(window.benchmarkClient.prepareUI): Added. It adds an event listener to show a specified section when
the push state of the document changes, and shows a warning sign when the view port size is too small.
We do this inside a callback to avoid running it inside DRT / WTR.
(startBenchmark):
(showSection): Added.
(startTest): Added.
(showResultsSummary): Added.
(showResultDetails): Added.
(showAbout): Added.
2014-06-01 Ryosuke Niwa <rniwa@webkit.org>
DYEBench: Move test states into benchmarkClient and remove the closure
https://bugs.webkit.org/show_bug.cgi?id=133438
Reviewed by Benjamin Poulain.
Moved all local variables in the closure wrapping benchmarkClient onto the object itself
and removed the closure to improve the readability of the code.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/main.js:
(window.benchmarkClient.willRunTest):
(window.benchmarkClient.didRunTest):
(window.benchmarkClient.didRunSuites):
(window.benchmarkClient.willStartFirstIteration):
(window.benchmarkClient.didFinishLastIteration):
(window.benchmarkClient._addResult): Moved.
(.): Deleted.
2014-06-01 Ryosuke Niwa <rniwa@webkit.org>
DYEBench: Split stylesheets and scripts in Full.html into separate files
https://bugs.webkit.org/show_bug.cgi?id=133437
Reviewed by Benjamin Poulain.
Extracted main.js and main.css.
Also fixed a bug in startBenchmark that disabled suites were counted towards the total number of tests.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/main.css: Added.
* DoYouEvenBench/resources/main.js: Added.
(.addResult):
(window.benchmarkClient):
(startBenchmark): Renamed from startTest.
2014-06-01 Ryosuke Niwa <rniwa@webkit.org>
DYEBench: CSS parser warning at line 106 of base.css
https://bugs.webkit.org/show_bug.cgi?id=133433
Reviewed by Maciej Stachowiak.
Removed the old filter CSS property for Internet Explorer. The latest Internet Explorer supports -ms-linear-gradient
on background CSS property anyways.
It's interesting that some of the tests only have -webkit- prefixes. Perhaps we should update those subtests.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css:
(#header:before):
* DoYouEvenBench/resources/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css:
(#header:before):
2014-05-31 Ryosuke Niwa <rniwa@webkit.org>
DYEBench: Ember.js assertion hit at line 20593
https://bugs.webkit.org/show_bug.cgi?id=133431
Reviewed by Darin Adler.
The assertion was hit because ToDoMVC includes jQuery 2.1 and Ember.js 1.3.1 only recognizes jQuery 2.0.
Port the assertion from Ember.js 1.5.1 to suppress the assertion.
We should update the entire Ember.js at some point but this would do the job for now.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js:
2014-05-31 Ryosuke Niwa <rniwa@webkit.org>
DYEBench: Prevent frame flattening on iOS
https://bugs.webkit.org/show_bug.cgi?id=133428
Reviewed by Andreas Kling.
Prevent frame flattening on iOS by setting scrolling=no.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame):
2014-05-30 Ryosuke Niwa <rniwa@webkit.org>
DYEBench spits out 404 errors for learn.json
https://bugs.webkit.org/show_bug.cgi?id=133416
Reviewed by Oliver Hunt.
Add an empty learn.json file so that it won't cause a 404 error when hosted on a http server.
Bumped the version number to 0.12.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/todomvc/learn.json:
2014-05-23 Geoffrey Garen <ggaren@apple.com>
Performance testing, diamond-square terrain generation + canvas
https://bugs.webkit.org/show_bug.cgi?id=133054
Reviewed by Ryosuke Niwa.
This test was written by Hunter Loftis. It originally appeared on his
blog @ <http://www.playfuljs.com/realistic-terrain-in-130-lines/>.
I did a bit of editing for format and benchmark suitability.
* Canvas/terrain.html: Added.
2014-05-13 Ryosuke Niwa <rniwa@webkit.org>
DYEBench should run 20 iterations in browser
https://bugs.webkit.org/show_bug.cgi?id=132795
Reviewed by Gavin Barraclough.
Right now, run-perf-tests runs BYEBench 4 times with different instances of DRT/WTR to get
a more stable time and account for differences in the runtime environment, particularly,
ASLR (Address Space Layout Randomization).
While we can't account for the latter effect when the benchmark is ran inside a browser,
we can at least run 20 iterations to get a more stable (but perhaps biased by ALSR) number.
While the sample size of 20 is statistically unsound to compute the arithmetic mean from,
it's MUCH better than the current sample size of 5.
* DoYouEvenBench/Full.html:
(benchmarkClient.iterationCount): Set the default iteration count to 20.
(startTest): Use benchmarkClient.iterationCount as the iteration count.
* DoYouEvenBench/resources/benchmark-report.js:
(benchmarkClient.iterationCount): Continue to use the old iteration count of 5 when ran
inside run-perf-tests.
2014-05-09 Ryosuke Niwa <rniwa@webkit.org>
DYEBench should show 95th percentile right next to the mean with ±
https://bugs.webkit.org/show_bug.cgi?id=132729
Reviewed by Darin Adler.
Before this patch, Full.html showed the 95th percentile delta for the arthemtic mean in a separate row
but this was confusing for some people. Show it right next to mean in the same row separated by ±.
* DoYouEvenBench/Full.html:
2014-05-08 Ryosuke Niwa <rniwa@webkit.org>
DYEBench should use TodoMVC to test FlightJS for consistency
https://bugs.webkit.org/show_bug.cgi?id=132727
Reviewed by Andreas Kling.
Add a test suite for the FlightJS version of TodoMVC, and disable FlightJS-MailClient by default.
I initially intended to include a wider variety of demo apps in DYEBench
but that's not happening any time soon so let us use TodoMVC for all frameworks for now.
We can add more demo apps in v2.
* DoYouEvenBench/Full.html: Increment the version to 0.10.
* DoYouEvenBench/InteractiveRunner.html: Don't check disabled suites by default.
* DoYouEvenBench/resources/tests.js:
* DoYouEvenBench/resources/todomvc/dependency-examples: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/.gitignore: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/.jshintrc: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/app.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/main.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/store.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower.json: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/index.html: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/karma.conf.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/package.json: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/readme.md: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added.
* DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/test-main.js: Added.
2014-05-07 Manuel Rego Casasnovas <rego@igalia.com>
[CSS Grid Layout] Remove runtime feature
https://bugs.webkit.org/show_bug.cgi?id=132382
Reviewed by Benjamin Poulain.
Remove set of WebKitCSSGridLayoutEnabled preference.
* Layout/auto-grid-lots-of-data.html:
* Layout/fixed-grid-lots-of-data.html:
2014-05-06 Radu Stavila <stavila@adobe.com>
[CSSRegions] Enabled regions performance tests by default
https://bugs.webkit.org/show_bug.cgi?id=128244
Reviewed by Andreas Kling.
Enabled regions performance tests.
* Skipped:
2014-04-25 Andreas Kling <akling@apple.com>
Bump jQuery to same version that dromaeo.com uses.
Rubber-stamped by Ryosuke Niwa.
* Dromaeo/resources/dromaeo/web/lib/jquery-1.10.2.min.js: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html:
2014-04-18 Geoffrey Garen <ggaren@apple.com>
Added some more Membuster recordings to MallocBench
https://bugs.webkit.org/show_bug.cgi?id=131862
Reviewed by Sam Weinig.
* MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::Benchmark):
(Benchmark::run):
* MallocBench/MallocBench/Benchmark.h:
* MallocBench/MallocBench/CommandLine.cpp:
* MallocBench/MallocBench/CommandLine.h:
(CommandLine::runs): Added a --runs option, so we can specify zero runs
for memory warning benchmarks. Those benchmarks want zero runs so that
they can perform a single warmup, which does not free all allocated
objects, and then see how far back to 0MB they can get. Running multiple
times would accumulate leaks, which is not representative of the
simulated scenario.
* MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::Interpreter):
(Interpreter::run):
* MallocBench/MallocBench/Interpreter.h: Support not deallocating all
objects allocated during the recording, so we can do low memory warning
memory use measurements, as above.
* MallocBench/MallocBench/flickr.cpp:
(benchmark_flickr_memory_warning):
* MallocBench/MallocBench/main.cpp:
(main):
* MallocBench/MallocBench/reddit.cpp:
(benchmark_reddit_memory_warning):
* MallocBench/MallocBench/theverge.cpp:
(benchmark_theverge_memory_warning): Adopt the API above.
* MallocBench/run-malloc-benchmarks: I took a first pass at listing all
available benchmarks here. Then I commented out the benchmarks that
probably aren't reasonable to run by default.
2014-04-18 Geoffrey Garen <ggaren@apple.com>
MallocBench: removed the --measure-heap option
https://bugs.webkit.org/show_bug.cgi?id=131854
Reviewed by Sam Weinig.
As of <https://bugs.webkit.org/show_bug.cgi?id=131661>, measuring the
heap is fast, so there's no reason to disable it.
* MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::Benchmark):
(Benchmark::run):
(Benchmark::printReport):
* MallocBench/MallocBench/Benchmark.h:
* MallocBench/MallocBench/CommandLine.cpp:
(CommandLine::printUsage):
* MallocBench/MallocBench/CommandLine.h:
(CommandLine::heapSize):
(CommandLine::measureHeap): Deleted.
* MallocBench/MallocBench/main.cpp:
(main):
2014-04-16 Alexandru Chiculita <achicu@adobe.com>
Improve performance of the RenderLayerCompositor::OverlapMap
https://bugs.webkit.org/show_bug.cgi?id=115063
Reviewed by Simon Fraser.
Testing the performance of computing the overlap of 5000 layers.
* Layout/layers_overlap_2d.html: Added. Using non-composited layers, to check
that the performance on the non-composited path is not changing with this patch.
* Layout/layers_overlap_3d.html: Added. Records the time to do the layout of 5000
non-overlapping 3D layers.
2014-04-15 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Linking stylesheet instead of inline style definition has ruined ShapesRegions test
https://bugs.webkit.org/show_bug.cgi?id=131572
Reviewed by Rob Buis.
In r167022 I moved the common CSS selectors into RegionsShapes.css, then I linked it into the perf test
files, but the measurement results dropped down from about 400ms to 10ms. I realized it's caused by the
linked css rule, so I've put the selectors back into every test case, which fixes the test measurements.
* Layout/Shapes/resources/RegionsShapes.css: Removed.
* Layout/Shapes/resources/RegionsShapesContent.html:
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html:
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html:
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html:
* Layout/Shapes/resources/RegionsShapesContentNoShapes.html:
2014-04-14 Geoffrey Garen <ggaren@apple.com>
MallocBench should scavenge explicitly instead of waiting
https://bugs.webkit.org/show_bug.cgi?id=131661
Reviewed by Andreas Kling.
* MallocBench/MallocBench.xcodeproj/project.pbxproj: Don't build mbmalloc
by default because it will overwrite any other mbmalloc you're working
with in the WebKitBuild directory.
* MallocBench/MallocBench/Benchmark.cpp:
(Benchmark::run): Scavenge explicitly instead of waiting. This is faster,
and it's the only way to get FastMalloc to scavenge. (That's a bug in
FastMalloc, but we don't want it to interfere with broader testing.)
* MallocBench/MallocBench/mbmalloc.cpp:
* MallocBench/MallocBench/mbmalloc.h: Added a scavenge implementation
for system malloc.
2014-04-14 Geoffrey Garen <ggaren@apple.com>
A few MallocBench record/replay fixes
https://bugs.webkit.org/show_bug.cgi?id=131627
Reviewed by Andreas Kling.
* MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::run): Accept 0-sized allocations without asserting because
WebKit does that sometimes.
* MallocBench/MallocBench/flickr.ops:
* MallocBench/MallocBench/flickr_memory_warning.ops:
* MallocBench/MallocBench/reddit.ops:
* MallocBench/MallocBench/reddit_memory_warning.ops:
* MallocBench/MallocBench/theverge.ops:
* MallocBench/MallocBench/theverge_memory_warning.ops: Updated these
recordings because a bug in the recording mechanism caused one out of
every few thousand slot values to be bogus.
2014-04-13 Geoffrey Garen <ggaren@apple.com>
Added some website recordings to MallocBench -- taken from Membuster
https://bugs.webkit.org/show_bug.cgi?id=131601
Reviewed by Ryosuke Niwa.
Added flickr, reddit, and theverge -- each recorded from Membuster's
cache, with and without sending Safari a low memory warning.
* MallocBench/MallocBench.xcodeproj/project.pbxproj:
* MallocBench/MallocBench/Benchmark.cpp:
* MallocBench/MallocBench/flickr.cpp: Added.
(benchmark_flickr):
(benchmark_flickr_memory_warning):
* MallocBench/MallocBench/flickr.h: Added.
* MallocBench/MallocBench/flickr.ops: Added.
* MallocBench/MallocBench/flickr_memory_warning.ops: Added.
* MallocBench/MallocBench/reddit.cpp: Added.
(benchmark_reddit):
(benchmark_reddit_memory_warning):
* MallocBench/MallocBench/reddit.h: Added.
* MallocBench/MallocBench/reddit.ops: Added.
* MallocBench/MallocBench/reddit_memory_warning.ops: Added.
* MallocBench/MallocBench/theverge.cpp: Added.
(benchmark_theverge):
(benchmark_theverge_memory_warning):
* MallocBench/MallocBench/theverge.h: Added.
* MallocBench/MallocBench/theverge.ops: Added.
* MallocBench/MallocBench/theverge_memory_warning.ops: Added.
2014-04-13 Geoffrey Garen <ggaren@apple.com>
MallocBench record/replay should support realloc
https://bugs.webkit.org/show_bug.cgi?id=131598
Reviewed by Ryosuke Niwa.
* MallocBench/MallocBench.xcodeproj/project.pbxproj: Fixed some linkage
issues that caused us not to fully link to system malloc in the default
case. Also marked mbmalloc.dylib as required so the error message will
be clearer if we mess up.
* MallocBench/MallocBench/Interpreter.cpp:
(Interpreter::run):
* MallocBench/MallocBench/Interpreter.h: Added the realloc case, and
upgraded one-letter names to full words.
2014-04-11 Dirk Schulze <krit@webkit.org>
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659
Reviewed by Andreas Kling.
Add performance tests for real this time.
* Canvas/compositing-drawimage.html: Added.
* Canvas/compositing-fillRect.html: Added.
2014-04-11 Dirk Schulze <krit@webkit.org>
Optimize Canvas fill and drawImage with SourceIn, DestinationIn, SourceOut, and DestinationAtop using transparencyLayer.
https://bugs.webkit.org/show_bug.cgi?id=79659
Reviewed by Andreas Kling.
Add performance tests for fillRect() and drawImage() on composited contexts.
* Canvas/compositing-drawimage.html: Added.
* Canvas/compositing-fillRect.html: Added.
2014-04-09 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add no shapes version of RegionsShapes performance test
https://bugs.webkit.org/show_bug.cgi?id=131455
Reviewed by Ryosuke Niwa.
This is a no shapes version of the RegionsShapes performance test. All the content
will wrap around the floating containers. This way we can compare the runtime/memory
usage of the RegionsShapes test with/without shapes. The test is skipped by default.
* Layout/Shapes/RegionsShapesNoShapes.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoShapes.html: Added.
2014-04-09 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add no regions version of RegionsShapes performance test
https://bugs.webkit.org/show_bug.cgi?id=131442
Reviewed by Ryosuke Niwa.
We would like have a no regions version for RegionsShapes performance test. The new
test produces similar layout to RegionsShapes.html without using regions. It is helpful
for us to do further comparisons when necessary. This test is skipped by default.
* Layout/Shapes/RegionsShapesNoRegions.html: Added.
* Layout/Shapes/resources/RegionsShapes.css: Added.
(html, body):
(.shape):
(#circleShape):
(#imageShape):
(#insetShape):
(#roundedInsetShape):
(#triangleLeft):
(#triangleRight):
(#selfIntersectingStar):
(#region1):
(#region2):
(#region3):
* Layout/Shapes/resources/RegionsShapesContent.html:
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth400.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth600.html: Added.
* Layout/Shapes/resources/RegionsShapesContentNoRegionsWidth800.html: Added.
2014-04-02 Geoffrey Garen <ggaren@apple.com>
Unreviewed.
Try to ignore some Xcode shmutz in MallocBench.
* MallocBench/MallocBench.xcodeproj: Added property svn:ignore.
2014-04-02 Geoffrey Garen <ggaren@apple.com>
Let's benchmark malloc
https://bugs.webkit.org/show_bug.cgi?id=131118
Reviewed by Mark Hahnenberg.
I want to replace fastMalloc with something faster (fasterMalloc?).
I wrote these benchmarks to test / drive development.
* MallocBench: Added.
* MallocBench/MallocBench: Added.
* MallocBench/MallocBench.xcodeproj: Added.
* MallocBench/MallocBench.xcodeproj/project.pbxproj: Added.
* MallocBench/MallocBench/Benchmark.cpp: Added.
(allocateHeap):
(deallocateHeap):
(Benchmark::Benchmark):
(Benchmark::printBenchmarks):
(Benchmark::runOnce):
(Benchmark::run):
(Benchmark::printReport):
(Benchmark::currentTimeMS):
(Benchmark::currentMemoryBytes):
* MallocBench/MallocBench/Benchmark.h: Added.
(Benchmark::Memory::Memory):
(Benchmark::Memory::operator-):
(Benchmark::isValid):
* MallocBench/MallocBench/CPUCount.cpp: Added.
(cpuCount):
* MallocBench/MallocBench/CPUCount.h: Added.
* MallocBench/MallocBench/CommandLine.cpp: Added.
(CommandLine::printUsage):
* MallocBench/MallocBench/CommandLine.h: Added.
(CommandLine::isValid):
(CommandLine::benchmarkName):
(CommandLine::isParallel):
(CommandLine::heapSize):
(CommandLine::measureHeap):
* MallocBench/MallocBench/Interpreter.cpp: Added.
(Interpreter::Interpreter):
(Interpreter::~Interpreter):
(Interpreter::run):
* MallocBench/MallocBench/Interpreter.h: Added.
* MallocBench/MallocBench/balloon.cpp: Added.
(benchmark_balloon):
* MallocBench/MallocBench/balloon.h: Added.
* MallocBench/MallocBench/big.cpp: Added.
(benchmark_big):
* MallocBench/MallocBench/big.h: Added.
* MallocBench/MallocBench/churn.cpp: Added.
(HeapDouble::operator new):
(HeapDouble::operator delete):
(HeapDouble::HeapDouble):
(HeapDouble::operator+=):
(benchmark_churn):
* MallocBench/MallocBench/churn.h: Added.
* MallocBench/MallocBench/crash.ops: Added.
* MallocBench/MallocBench/facebook.cpp: Added.
(benchmark_facebook):
* MallocBench/MallocBench/facebook.h: Added.
* MallocBench/MallocBench/facebook.ops: Added.
* MallocBench/MallocBench/fragment.cpp: Added.
(validate):
(benchmark_fragment):
(benchmark_fragment_iterate):
* MallocBench/MallocBench/fragment.h: Added.
* MallocBench/MallocBench/list.cpp: Added.
(benchmark_list_allocate):
(benchmark_list_traverse):
* MallocBench/MallocBench/list.h: Added.
* MallocBench/MallocBench/main.cpp: Added.
(main):
* MallocBench/MallocBench/mbmalloc.cpp: Added.
* MallocBench/MallocBench/mbmalloc.h: Added.
* MallocBench/MallocBench/medium.cpp: Added.
(benchmark_medium):
* MallocBench/MallocBench/medium.h: Added.
* MallocBench/MallocBench/message.cpp: Added.
(benchmark_message_one):
(benchmark_message_many):
* MallocBench/MallocBench/message.h: Added.
* MallocBench/MallocBench/realloc.cpp: Added.
(benchmark_realloc):
* MallocBench/MallocBench/realloc.h: Added.
* MallocBench/MallocBench/tree.cpp: Added.
(benchmark_tree_allocate):
(benchmark_tree_traverse):
(benchmark_tree_churn):
* MallocBench/MallocBench/tree.h: Added.
* MallocBench/run-malloc-benchmarks: Added.
2014-03-29 Mark Lam <mark.lam@apple.com>
LongSpider 3d-morph result check is inappropriate.
<https://webkit.org/b/130928>
Reviewed by Filip Pizlo.
The LongSpider 3d-morph component expected result check is incorrect.
The existing test checks if the leading digit of a sum starts with "-1".
However, it turned out that the expected sum is in the order of
-1.8735013540549517e-16 (i.e. very close to 0). With small errors in
the terms of the sum adding up, it is very easy for the resultant sum
to fluctuate. There is no guarantee that the resultant sum's most
significant digit will start with -1 either.
The fix is to do a tolerance check on all the terms of the sum as well
as the total sum value instead. The tolerance should be more lenient
for the sum which accumulates error from the individual terms, then for
individual terms.
* LongSpider/3d-morph.js:
(expect):
2014-03-28 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add performance tests for Shapes with Regions
https://bugs.webkit.org/show_bug.cgi?id=129624
Reviewed by Ryosuke Niwa.
This tests introduces a real-life like page, which contains different types of shapes within
shape-outsides. The content flows through regions, which use media queries. The performance test
loads the actual Shapes-Regions test case into iframes with different page sizes (thus the layout
triggers the media queries as well), and measures its load time.
* Layout/RegionsShapes.html: Added.
* Layout/Shapes/resources/RegionsShapesContent.html: Added.
2014-03-20 Zoltan Horvath <zoltan@webkit.org>
Add option for hiding Confidence Interval Delta on the performance tests results page
https://bugs.webkit.org/show_bug.cgi?id=130483
Reviewed by Ryosuke Niwa.
I've found it useful to hide the confidence interval delta from the results table
sometimes, for example on copying data, or for a clearer look. This patch introduces
a new button for it on the local results page.
* resources/results-template.html:
2014-03-20 Laszlo Vidacs <lvidacs.u-szeged@partner.samsung.com>
Optimize RenderTable::colToEffCol() for tables without colspans
https://bugs.webkit.org/show_bug.cgi?id=129298
Reviewed by Simon Fraser.
Create an alternative fast path to RenderTable colToEffCol() and effColToCol()
when there is no colspan or colspan does not exceed the width of table.
Blink merge https://codereview.chromium.org/154243002 by rhogan
* Layout/large-table-with-collapsed-borders-and-colspans-wider-than-table.html: Added.
* Layout/large-table-with-collapsed-borders-and-colspans.html: Added.
* Layout/large-table-with-collapsed-borders-and-no-colspans.html: Added.
* Layout/resources/large-table-with-collapsed-borders.css: Added.
* Layout/resources/large-table-with-collapsed-borders.js: Added.
2014-03-14 Maciej Stachowiak <mjs@apple.com>
Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers
https://bugs.webkit.org/show_bug.cgi?id=130276
<rdar://problem/16266927>
Reviewed by Simon Fraser.
* Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html:
* Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html:
* Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html:
* Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html:
* LongSpider/3d-morph.js:
* LongSpider/3d-raytrace.js:
* LongSpider/math-cordic.js:
* LongSpider/string-tagcloud.js:
* Parser/resources/html5-8266.html:
* Parser/resources/html5.html:
2014-03-10 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add performance tests for SVG shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=129930
Reviewed by Ryosuke Niwa.
The test is skipped by default.
* Layout/Shapes/ShapeOutsideSVGWithMargin.html: Added.
* Layout/Shapes/resources/shape.svg: Added.
2014-02-19 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add performance test for stacked floats with shape-outsides
https://bugs.webkit.org/show_bug.cgi?id=128821
Reviewed by Brent Fulgham.
This tests generate stacked floats content with shape-outsides.
The test is skipped by default.
* Layout/Shapes/ShapeOutsideStackedPolygons.html: Added.
2014-02-15 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add performance test for raster shape with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128770
Reviewed by Ryosuke Niwa.
This patch introduces a new performance test for image valued shapes,
where shape-margin is applied on the shape.
The test is skipped by default.
* Layout/Shapes/ShapeOutsideRasterWithMargin.html: Added.
2014-02-14 Ryosuke Niwa <rniwa@webkit.org>
Improve the appearance of DYEBench
https://bugs.webkit.org/show_bug.cgi?id=128866
Reviewed by Antti Koivisto.
Add a div that shows progress during the test. Also show 95th percentile,
and use a table instead of pre to show results.
* DoYouEvenBench/Full.html:
(.addResult): Added. Shows results in a table.
(benchmarkClient.willRunTest): Added to show the progress bar.
(benchmarkClient.didRunTest):
(benchmarkClient.didRunSuites):
(benchmarkClient.didFinishLastIteration): Compute 95th percentile using Statistics.js
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner.prototype._appendFrame): Fix the bug where marginLeft and marginTop
weren't correctly parsed. We were treating top as left and bottom as top somehow.
(BenchmarkRunner.prototype._runTestAndRecordResults): Fixed a typo.
2014-02-13 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add performance test for complex polygon with shape-margin
https://bugs.webkit.org/show_bug.cgi?id=128769
Reviewed by Ryosuke Niwa.
This patch modifies the logic of createShapeOutsideTest to accept multiple
CSS properties from the test. The patch adds performance test for complex
polygon shape (self intersecting at multiple places) case, moreover we
apply shape-margin on the polygon also.
* Layout/Shapes/ShapeOutsideContentBox.html:
* Layout/Shapes/ShapeOutsideInset.html:
* Layout/Shapes/ShapeOutsidePolygonWithMargin.html: Added.
* Layout/Shapes/ShapeOutsideRaster.html:
* Layout/Shapes/ShapeOutsideSimplePolygon.html:
* Layout/Shapes/resources/shapes.js:
2014-02-13 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add performance test for raster shape
https://bugs.webkit.org/show_bug.cgi?id=128746
Reviewed by Ryosuke Niwa.
This patch adds performance testing for image valued shape-outside.
The test is skipped by default for now.
* Layout/Shapes/ShapeOutsideRaster.html: Added.
* Layout/Shapes/resources/shape.gif: Added.
2014-02-10 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add initial performance tests for polygon shape
https://bugs.webkit.org/show_bug.cgi?id=128554
Reviewed by Ryosuke Niwa.
This patch adds performance testing for simple polygon shape-outside.
The Shapes performance tests directory is skipped by default.
* Layout/Shapes/ShapeOutsideSimplePolygon.html: Added.
2014-02-07 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add initial performance tests for inset shape
https://bugs.webkit.org/show_bug.cgi?id=128378
Reviewed by Ryosuke Niwa.
* Layout/Shapes/ShapeOutsideContentBox.html: Move js to shapes.js.
* Layout/Shapes/ShapeOutsideInset.html: Added.
* Layout/Shapes/resources/shapes.js: Added.
(.):
2014-02-04 Ryosuke Niwa <rniwa@webkit.org>
Undelete the "build" directory erroneously removed in r163427.
* DoYouEvenBench/resources/todomvc/labs/architecture-examples/react/bower_components/director/build:
2014-02-04 Ryosuke Niwa <rniwa@webkit.org>
Revert the change made in r162216 as it broke the benchmark on shipping Safari.
* DoYouEvenBench/resources/benchmark-runner.js:
2014-02-04 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Update Ember.js test case
https://bugs.webkit.org/show_bug.cgi?id=128227
Reviewed by Benjamin Poulain.
Updated the Ember.js TodoMVC implementation.
* DoYouEvenBench/resources/tests.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower.json:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember-data/ember-data.js: Added.
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/index.html:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/app.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/helpers/pluralize.js: Added.
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Removed.
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/models/store.js: Removed.
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/models/todo.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/router.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/js/views/todos_view.js: Added.
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/readme.md:
* DoYouEvenBench/resources/todomvc/architecture-examples/emberjs/test.html:
2014-02-04 Zoltan Horvath <zoltan@webkit.org>
[CSS Shapes] Add initial performance test for shape-outside: content-box
https://bugs.webkit.org/show_bug.cgi?id=128190
Reviewed by Ryosuke Niwa.
I've introduced Shapes subdirectory in Layout, every CSS Shapes related performance tests should
go there in the future. The initial performance tests uses 'shape-outside: content-box' in order
to tests the code paths of the Shapes implementation. I also introduced shapes.js, which allows us
to easily add new, simple performance tests for shape-outside.
The entire progress is tracked under #128188 meta bug.
* Layout/Shapes/ShapeOutsideContentBox.html: Added.
* Layout/Shapes/resources/shapes.css: Added.
* Layout/Shapes/resources/shapes.js: Added.
* Skipped: We skip running the tests by default for now.
2014-01-17 Manuel Rego Casasnovas <rego@igalia.com>
[CSS Regions] Minor fixes in regions performance tests
https://bugs.webkit.org/show_bug.cgi?id=127041
Reviewed by Ryosuke Niwa.
Fix minor issues in CSS Regions performance tests.
* Layout/RegionsAuto.html: Change type to lower case.
* Layout/RegionsAutoMaxHeight.html: Ditto.
* Layout/RegionsFixed.html: Ditto.
* Layout/RegionsFixedShort.html: Ditto.
* Layout/RegionsSelection.html: Ditto. Move test methods from regions.js.
* Layout/resources/regions.js: Remove moved methods.
2014-01-17 Ryosuke Niwa <rniwa@webkit.org>
Host DoYouEvenBench on webkit.org
https://bugs.webkit.org/show_bug.cgi?id=127185
Reviewed by Benjamin Poulain.
Compute the resources directory relative to the benchmark-runner's location
so that we can load tests even if the runner HTML was located elsewhere.
* DoYouEvenBench/Full.html:
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkState._containingDirectory):
2014-01-17 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Move flightjs-example-app and todomvc into resources
https://bugs.webkit.org/show_bug.cgi?id=127183
Rubber-stamped by Anders Carlsson.
* DoYouEvenBench/InteractiveRunner.html: Copied from PerformanceTests/DoYouEvenBench/benchmark.html.
* DoYouEvenBench/benchmark.html: Removed.
* DoYouEvenBench/flightjs-example-app: Removed.
* DoYouEvenBench/flightjs-example-app/LICENSE.md: Removed.
* DoYouEvenBench/flightjs-example-app/README.md: Removed.
* DoYouEvenBench/flightjs-example-app/app: Removed.
* DoYouEvenBench/flightjs-example-app/app/boot: Removed.
* DoYouEvenBench/flightjs-example-app/app/boot/page.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_data: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/css: Removed.
* DoYouEvenBench/flightjs-example-app/app/css/custom.css: Removed.
* DoYouEvenBench/flightjs-example-app/app/data.js: Removed.
* DoYouEvenBench/flightjs-example-app/app/templates.js: Removed.
* DoYouEvenBench/flightjs-example-app/components: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/tools: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Removed.
* DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Removed.
* DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/jquery: Removed.
* DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Removed.
* DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Removed.
* DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/mustache: Removed.
* DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Removed.
* DoYouEvenBench/flightjs-example-app/components/requirejs: Removed.
* DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Removed.
* DoYouEvenBench/flightjs-example-app/index.html: Removed.
* DoYouEvenBench/flightjs-example-app/karma.conf.js: Removed.
* DoYouEvenBench/flightjs-example-app/package.json: Removed.
* DoYouEvenBench/flightjs-example-app/requireMain.js: Removed.
* DoYouEvenBench/resources/benchmark-runner.js:
* DoYouEvenBench/resources/flightjs-example-app: Copied from PerformanceTests/DoYouEvenBench/flightjs-example-app.
* DoYouEvenBench/resources/todomvc: Copied from PerformanceTests/DoYouEvenBench/todomvc.
* DoYouEvenBench/todomvc: Removed.
* DoYouEvenBench/todomvc/architecture-examples: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/router.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Removed.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/css: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Removed.
* DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Removed.
* DoYouEvenBench/todomvc/labs: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Removed.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Removed.
* DoYouEvenBench/todomvc/license.md: Removed.
* DoYouEvenBench/todomvc/readme.md: Removed.
* DoYouEvenBench/todomvc/vanilla-examples: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Removed.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Removed.
* Skipped:
2014-01-17 Ryosuke Niwa <rniwa@webkit.org>
Build fix. Skip HTML files that are not tests.
* Skipped:
2014-01-16 Ryosuke Niwa <rniwa@webkit.org>
Automate DoYouEvenBench
https://bugs.webkit.org/show_bug.cgi?id=124497
Reviewed by Geoffrey Garen.
Enable DoYouEvenBench/Full.html on perf bots by default.
Put a space between the time and ms, and fixed a typo in runner.js so that the aggregator name will be reported.
* DoYouEvenBench/Full.html:
* Skipped:
* resources/runner.js:
2014-01-15 Manuel Rego Casasnovas <rego@igalia.com>
[CSS Regions] Add performance tests for selection with mixed content
https://bugs.webkit.org/show_bug.cgi?id=126427
Reviewed by Ryosuke Niwa.
Add new performance tests for selection in CSS Regions mixing regular
content with regions. 2 new tests are added, one checking select all
command and another simulating a user selection passing through all the
paragraphs (similar to Layout/RegionsSelection.html).
Test are skipped for now while implementation of selection in CSS
Regions is still evolving.
* Layout/RegionsExtendingSelectionMixedContent.html: Added.
* Layout/RegionsSelectAllMixedContent.html: Added.
* Layout/resources/regions.css:
(.regular):
* Layout/resources/regions.js:
* Skipped:
2014-01-14 Ryosuke Niwa <rniwa@webkit.org>
Make DoYouEvenBench runnable by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=127030
Reviewed by Andreas Kling.
Added Full.html that runs 5 iterations of DoYouEvenBench. This is the canonical DoYouEvenBench,
which is also runnable by run-perf-tests.
* DoYouEvenBench/Full.html: Added.
* DoYouEvenBench/benchmark.html:
(startTest): Updated the code to account for the fact old measuredValues is pushed down to tests
property and we now have total property so that we don't have to manually compute the total.
* DoYouEvenBench/resources/benchmark-report.js: Added. When we're inside a DRT/WTR, use
PerfTestRunner to output that can be parsed by run-perf-tests. Do the same when the query part
or the fragment part of the current URL is "webkit" for debugging purposes.
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner):
(BenchmarkRunner.prototype._appendFrame): Position the frame at (0, 0) inside DRT and WTR since
we have exactly 800px by 600px inside those two test runners. Also always insert the iframe as
the first child of body to avoid inserting it after the pre inserted by the test runner.
(BenchmarkRunner.prototype.step): Initializes _measuredValues.
(BenchmarkRunner.prototype.runAllSteps): Merged callNextStep in benchmark.html.
(BenchmarkRunner.prototype.runMultipleIterations): Added.
(BenchmarkRunner.prototype._runTestAndRecordResults): Compute the grand total among suites.
Also push down the sync and async time into tests property for consistency.
(BenchmarkRunner.prototype._finalize):
* Dromaeo/resources/dromaeorunner.js:
(DRT.testObject): Renamed dromaeoIterationCount to customIterationCount as this option is also
used by DoYouEvenBench.
* resources/runner.js: Ditto.
(.finish): Spit out the aggregator name.
2014-01-07 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Turn BenchmarkRunner into a real class
https://bugs.webkit.org/show_bug.cgi?id=126613
Reviewed by Stephanie Lewis.
Made BenchmarkRunner an instantiatable class. Made tests.js simply create an array of suite objects
instead of calling BenchmarkRunner.Suite now that we can have mulitple instances of BenchmarkRunner.
* DoYouEvenBench/benchmark.html:
(formatTestName): Moved and renamed from BenchmarkRunner._testName.
(createUIForSuites): Extracted from a giant blob of code.
(startTest): Ditto.
* DoYouEvenBench/resources/benchmark-runner.js:
(BenchmarkRunner): Added.
(BenchmarkRunner.prototype.waitForElement):
(BenchmarkRunner.prototype._removeFrame):
(BenchmarkRunner.prototype._appendFrame):
(BenchmarkRunner.prototype._waitAndWarmUp):
(BenchmarkRunner.prototype._runTest):
(BenchmarkState.prototype.prepareCurrentSuite):
(BenchmarkRunner.prototype.step):
(BenchmarkRunner.prototype._runTestAndRecordResults):
(BenchmarkRunner.prototype._finalize):
* DoYouEvenBench/resources/tests.js:
2014-01-07 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Extract tests and runner code from benchmark.js/html
https://bugs.webkit.org/show_bug.cgi?id=126596
Reviewed by Stephanie Lewis.
Extracted benchmark-runner.js and tests.js out of benchmark.js and benchmark.html.
Added a "client" interface to BenchmarkRunner so that benchmark.html could register necessary hooks to
update its UI. Also made BenchmarkRunner store a tree of results so that the serialization of test names
could be isolated from BenchmarkRunner itself in the future.
* DoYouEvenBench/benchmark.html:
Moved the code to instantiate and update UI here from benchmark.js. The test code was moved out of this
file into resources/tests.js.
* DoYouEvenBench/resources/benchmark-runner.js: Renamed from PerformanceTests/DoYouEvenBench/benchmark.js.
(SimplePromise): Moved from benchmark.js
(SimplePromise.prototype.then): Ditto.
(SimplePromise.prototype.resolve): Ditto.
(BenchmarkTestStep): Added. Wraps each test step.
(BenchmarkRunner.suite): Moved from benchmark.js.
(BenchmarkRunner.setClient): Added.
(BenchmarkRunner.waitForElement): Moved.
(BenchmarkRunner._removeFrame): Ditto.
(BenchmarkRunner._appendFrame): Ditto. Set the width and the height of the iframe as they're more than
presentational as they affect performance.
(BenchmarkRunner._waitAndWarmUp): Ditto.
(BenchmarkRunner._runTest): Ditto.
(BenchmarkRunner._testName): Ditto.
(BenchmarkState): Ditto.
(BenchmarkState.prototype.currentSuite): Ditto.
(BenchmarkState.prototype.currentTest): Ditto.
(BenchmarkState.prototype.next): Ditto.
(BenchmarkState.prototype.isFirstTest): Ditto.
(BenchmarkState.prototype.prepareCurrentSuite): Ditto.
(BenchmarkRunner.step): Ditto.
(BenchmarkRunner._runTestAndRecordResults): Ditto. Note the code to update the UI has been move to
benchmark.html. Also moved the code to accumulate the totals here from _finalize.
(BenchmarkRunner._finalize): Moved.
* DoYouEvenBench/resources/tests.js: Copied from PerformanceTests/DoYouEvenBench/benchmark.html.
Uses BenchmarkTestStep instead of an array for each test step.
2014-01-02 Myles C. Maxfield <mmaxfield@apple.com>
Allow ImageBuffer to re-use IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=125477
Reviewed by Geoff Garen.
This test times creating a variety of different sizes of canvases
once some have already been created. The second creation of the
canvases should re-use the existing IOSurfaces.
* Canvas/reuse.html: Added.
2013-12-23 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r160945.
http://trac.webkit.org/changeset/160945
https://bugs.webkit.org/show_bug.cgi?id=126164
Seems to have broken multiple canvas tests (Requested by ap on
#webkit).
* Canvas/reuse.html: Removed.
2013-12-09 Myles C. Maxfield <mmaxfield@apple.com>
Allow ImageBuffer to re-use IOSurfaces
https://bugs.webkit.org/show_bug.cgi?id=125477
Reviewed by Geoff Garen.
This test times creating a variety of different sizes of canvases
once some have already been created. The second creation of the
canvases should re-use the existing IOSurfaces.
* Canvas/reuse.html: Added.
2013-12-15 Ryosuke Niwa <rniwa@webkit.org>
REGRESSION: 2x regression on Dromaeo DOM query tests
https://bugs.webkit.org/show_bug.cgi?id=125377
Reviewed by Filip Pizlo.
Added a micro-benchmark for updating a named property on document.
* Bindings/update-name-getter.html: Added.
* Skipped:
2013-12-03 Manuel Rego Casasnovas <rego@igalia.com>
[CSS Regions] Fix Layout/RegionsSelection.html in Mac platform
https://bugs.webkit.org/show_bug.cgi?id=124963
Reviewed by Ryosuke Niwa.
Layout/RegionsSelection.html introduced in r159488 was not working in
Mac platform because of it was trying to use mouse events out of the
window dimensions. Use collapse() and extend() methods from Selection
object to solve the issue.
* Layout/resources/regions.js: Use collapse() and extend() instead of
mouse events.
2013-11-27 Ryosuke Niwa <rniwa@webkit.org>
Build fix after r159805.
* resources/runner.js:
2013-11-26 Sergio Villar Senin <svillar@igalia.com>
[CSS Grid Layout] Support grid-definition-{rows|columns} repeat() syntax
https://bugs.webkit.org/show_bug.cgi?id=103312
Reviewed by Andreas Kling.
Use the repeat() syntax to build the huge grids used by the
performance tests.
* Layout/auto-grid-lots-of-data.html:
* Layout/fixed-grid-lots-of-data.html:
2013-11-26 Ryosuke Niwa <rniwa@webkit.org>
Record subtest values in Dromaeo tests
https://bugs.webkit.org/show_bug.cgi?id=124498
Reviewed by Andreas Kling.
Made Dromaeo's test runner report values in DRT.progress via newly added PerfTestRunner.reportValues.
* Dromaeo/resources/dromaeorunner.js:
(.): Moved the definition out of DRT.setup.
(DRT.setup): Ditto.
(DRT.testObject): Extracted from DRT.setup. Set the subtest name and continueTesting.
continueTesting is set true for subtests; i.e. when name is specified.
(DRT.progress): Call PerfTestRunner.reportValues to report subtest results.
(DRT.teardown): Call PerfTestRunner.reportValues instead of measureValueAsync.
* resources/runner.js: Made various changes for newly added PerfTestRunner.reportValues.
(.): Moved the initialization of completedIterations, results, jsHeapResults, and mallocHeapResults into
start since they need to be initialized before running each subtest. Initialize logLines here since we
need to use the same logger for all subtests.
(.start): Initialize the variables mentioned above here. Also respect doNotLogStart used by reportValues.
(ignoreWarmUpAndLog): Added doNotLogProgress. Used by reportValues since it reports all values at once.
(finish): Compute the metric name such as FrameFrame and Runs from unit. Also don't log or notify done
when continueTesting is set on the test object.
(PerfTestRunner.reportValues): Added. Reports all values for the main/sub test.
2013-11-26 Ryosuke Niwa <rniwa@webkit.org>
Remove replay performance tests as it's not actively maintained
https://bugs.webkit.org/show_bug.cgi?id=124764
Reviewed by Andreas Kling.
Removed the replay performance tests. We can add them back when time comes.
* Replay/Chinese/chinaz.com.replay: Removed.
* Replay/Chinese/www.163.com.replay: Removed.
* Replay/Chinese/www.alipay.com.replay: Removed.
* Replay/Chinese/www.baidu.com.replay: Removed.
* Replay/Chinese/www.csdn.net.replay: Removed.
* Replay/Chinese/www.douban.com.replay: Removed.
* Replay/Chinese/www.hao123.com.replay: Removed.
* Replay/Chinese/www.xinhuanet.com.replay: Removed.
* Replay/Chinese/www.xunlei.com.replay: Removed.
* Replay/Chinese/www.youku.com.replay: Removed.
* Replay/English/beatonna.livejournal.com.replay: Removed.
* Replay/English/cakewrecks.blogspot.com.replay: Removed.
* Replay/English/chemistry.about.com.replay: Removed.
* Replay/English/digg.com.replay: Removed.
* Replay/English/en.wikipedia.org-rorschach_test.replay: Removed.
* Replay/English/icanhascheezburger.com.replay: Removed.
* Replay/English/imgur.com-gallery.replay: Removed.
* Replay/English/online.wsj.com.replay: Removed.
* Replay/English/stockoverflow.com-best-comment.replay: Removed.
* Replay/English/www.alibaba.com.replay: Removed.
* Replay/English/www.amazon.com-kindle.replay: Removed.
* Replay/English/www.apple.com.replay: Removed.
* Replay/English/www.cnet.com.replay: Removed.
* Replay/English/www.dailymotion.com.replay: Removed.
* Replay/English/www.ehow.com-prevent-fire.replay: Removed.
* Replay/English/www.filestube.com-amy-adams.replay: Removed.
* Replay/English/www.foxnews.replay: Removed.
* Replay/English/www.huffingtonpost.com.replay: Removed.
* Replay/English/www.imdb.com-twilight.replay: Removed.
* Replay/English/www.mozilla.com-all-order.replay: Removed.
* Replay/English/www.php.net.replay: Removed.
* Replay/English/www.reddit.com.replay: Removed.
* Replay/English/www.telegraph.co.uk.replay: Removed.
* Replay/English/www.w3.org-htmlcss.replay: Removed.
* Replay/English/www.w3schools.com-html.replay: Removed.
* Replay/English/www.youtube.com-music.replay: Removed.
* Replay/French/www.orange.fr.replay: Removed.
* Replay/Italian/www.repubblica.it.replay: Removed.
* Replay/Japanese/2ch.net-newsplus.replay: Removed.
* Replay/Japanese/entameblog.seesaa.net.replay: Removed.
* Replay/Japanese/ja.wikipedia.org.replay: Removed.
* Replay/Japanese/www.hatena.ne.jp.replay: Removed.
* Replay/Japanese/www.livedoor.com.replay: Removed.
* Replay/Japanese/www.nicovideo.jp.replay: Removed.
* Replay/Japanese/www.rakuten.co.jp.replay: Removed.
* Replay/Japanese/www.yahoo.co.jp.replay: Removed.
* Replay/Korean/www.naver.com.replay: Removed.
* Replay/Persian/blogfa.com.replay: Removed.
* Replay/Polish/www.wp.pl.replay: Removed.
* Replay/Portuguese/www.uol.com.br.replay: Removed.
* Replay/Russian/lenta.ru.replay: Removed.
* Replay/Russian/vkontakte.ru-help.replay: Removed.
* Replay/Russian/www.ixbt.com.replay: Removed.
* Replay/Russian/www.kp.ru.replay: Removed.
* Replay/Russian/www.liveinternet.ru.replay: Removed.
* Replay/Russian/www.pravda.ru.replay: Removed.
* Replay/Russian/www.rambler.ru.replay: Removed.
* Replay/Russian/www.ucoz.ru.replay: Removed.
* Replay/Russian/www.yandex.ru.replay: Removed.
* Replay/Spanish/www.taringa.net.replay: Removed.
* Replay/Swedish/www.flashback.se.replay: Removed.
* Replay/Swedish/www.tradera.com.replay: Removed.
* Replay/www.google.com.replay: Removed.
* Replay/www.techcrunch.com.replay: Removed.
* Replay/www.youtube.com.replay: Removed.
2013-11-22 Ryosuke Niwa <rniwa@webkit.org>
Layout Test editing/deleting/password-delete-performance.html is failing
https://bugs.webkit.org/show_bug.cgi?id=124781
Reviewed by Alexey Proskuryakov.
Add a new performance test to replace editing/deleting/password-delete-performance.html.
We skip this test by default since it's a micro benchmark.
* Interactive/DeletingInPasswordField.html: Added.
* Skipped:
2013-11-18 Sergio Villar Senin <svillar@igalia.com>
[CSS Grid Layout] Improve content-sized track layout
https://bugs.webkit.org/show_bug.cgi?id=124408
Reviewed by Dean Jackson.
From Blink r156122 by <jchaffraix@chromium.org>
New test to check the performance of layouting grids with content sized tracks.
* Layout/auto-grid-lots-of-data.html: Added.
2013-11-08 Sergio Villar Senin <svillar@igalia.com>
[CSS Grid Layout] Run the content-sized tracks sizing algorithm only when required
https://bugs.webkit.org/show_bug.cgi?id=124039
Reviewed by Dean Jackson.
From Blink r156028 and r156168 by <jchaffraix@chromium.org>.
New performance tests for layouts in grids with fixed size tracks.
* Layout/fixed-grid-lots-of-data.html: Added.
2013-11-19 Manuel Rego Casasnovas <rego@igalia.com>
[CSS Regions] Add performance test for selection
https://bugs.webkit.org/show_bug.cgi?id=119230
Reviewed by Ryosuke Niwa.
Add new performance test for selection in CSS Regions. It checks a
selection from the first region to the last one, passing through all the
regions.
Test is skipped for now while implementation of selection in CSS Regions
is still evolving.
* Layout/RegionsSelection.html: Added.
* Layout/resources/regions.js:
(.):
* Skipped:
2013-11-18 Ryosuke Niwa <rniwa@webkit.org>
Simplify and reformat the output of performance tests inside test runners
https://bugs.webkit.org/show_bug.cgi?id=124496
Reviewed by Antti Koivisto.
As a preparation to support subtests for Dromaeo and DoYouEvenBench, simplify the output performance tests generate.
Also modernize the output to better support "metric" concept we introduced a while ago.
New output on Dromaeo/dom-attr looks like this:
-----------------------------------------------
Running 5 times
getAttribute -> [1105, 1108, 1134, 1137, 1154]
element.property -> [1634, 1655, 1685, 1696, 1723]
setAttribute -> [646.3536463536464, 651, 651, 656.3436563436563, 658]
element.property = value -> [934, 949, 963, 964, 974]
element.expando = value -> [419, 419.5804195804196, 421.57842157842157, 425.57442557442556, 429]
element.expando -> [501, 517, 519.4805194805194, 521.4785214785214, 525]
1: 117.40644785571585 runs/s
2: 118.84720469666297 runs/s
3: 119.80547640905021 runs/s
4: 120.51886194758805 runs/s
5: 121.51924380569295 runs/s
:Time -> [117.40644785571585, 118.84720469666297, 119.80547640905021, 120.51886194758805, 121.51924380569295] runs/s
mean: 119.619446942942 runs/s
median: 119.80547640905021 runs/s
stdev: 1.5769040458730506 runs/s
min: 117.40644785571585 runs/s
max: 121.51924380569295 runs/s
-----------------------------------------------
* Dromaeo/resources/dromaeorunner.js:
(DRT.progress): Use the new format for subtest reports.
* resources/runner.js:
(.): Declare verboseLogging, which is set to true outside of test runners.
(PerfTestRunner.logInfo): Use verboseLogging instead of directly checking window.testRunner.
(PerfTestRunner.logDetail): Added. Logs informative text with a label such as "mean: 123 s" with 4-space indentation.
(PerfTestRunner.logStatistics): Use logDetail.
(.start): Initialize verboseLogging. Also log "Running 20 times" as an informative log using logDetail.
(.ignoreWarmUpAndLog): Use logDetail for showing the progress. These logs were useless inside test runners anyway
because perftest didn't get to see any output until the test finished running.
(.finish): Call logStatistics with metric name as opposed to a label. Each metric name is now prefixed with ':' to be
distinguishable from subtests, making the new format forward compatible.
2013-11-18 Ryosuke Niwa <rniwa@webkit.org>
[Performance tests] Interactive/SelectAll.html throws an exception
https://bugs.webkit.org/show_bug.cgi?id=124495
Reviewed by Antti Koivisto
Return a boolean indicating whether more values are needed or not in
PerfTestRunner.measureValueAsync so that runTest can terminate gracefully.
* Interactive/SelectAll.html:
(runTest): Don't schedule a timer for runTest if we've got enough values.
* resources/runner.js:
(PerfTestRunner.measureValueAsync): Returns true iff more values are needed.
2013-11-13 Antti Koivisto <antti@apple.com>
This was supposed to test overflow-wrap:break-word instead of word-break:break-all.
Rubber-stamped by Andreas Kling.
* Layout/line-layout-simple.html:
2013-11-12 Andreas Kling <akling@apple.com>
Remove body onload handler from html5-8266.html that was causing
the test to sometimes finish before doing anything interesting.
Unskip Parser/HTML5-8266-FullRender.html now that it's stable.
Rubber-stamped by Antti Koivisto.
* Parser/resources/html5-8266.html:
* Skipped:
2013-11-12 Andreas Kling <akling@apple.com>
Neutralize external resource loads in the new HTML5 spec copy.
Skip Parser/HTML5-8266-FullRender.html until I can make it less flaky.
* Parser/resources/html5-8266.html:
* Skipped:
2013-11-12 Andreas Kling <akling@apple.com>
Import a fresh version of the full HTML5 spec for perf testing.
Rubber-stamped by Antti Koivisto.
* Parser/HTML5-8266-FullRender.html: Added.
* Parser/HTML5-8266-ParseOnly.html: Added.
* Parser/resources/html5-8266.html: Added.
2013-11-09 Antti Koivisto <antti@apple.com>
Add subtest for word-break:break-all to Layout/line-layout-simple.html
https://bugs.webkit.org/show_bug.cgi?id=124103
Reviewed by Andreas Kling.
* Layout/line-layout-simple.html:
Combination "white-space:pre-wrap; word-break:break-all" is common for pure text.
2013-11-08 Antti Koivisto <antti@apple.com>
Add line layout performance test that exercises more cases
https://bugs.webkit.org/show_bug.cgi?id=124041
Reviewed by Anders Carlsson.
The existing line-layout.html covers the most basic left-aligned case only.
Add a test with more coverage for things that are mostly not yet supported by the simple
line layout path:
- centered text
- right aligned text
- justified text
- pre
- white-space:pre-wrap
- text with simple inlines
- text with br
* Layout/line-layout-simple.html: Added.
2013-10-25 Sergio Villar Senin <svillar@igalia.com>
Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=118620
Reviewed by Antti Koivisto.
From Blink r152960 by <ojan@chromium.org>
New performance test for layouts in flexboxes.
* Layout/flexbox-lots-of-data.html: Added.
2013-10-24 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r157916.
http://trac.webkit.org/changeset/157916
https://bugs.webkit.org/show_bug.cgi?id=123274
Broke Layout/flexbox-lots-of-data.html on perfbot (Requested
by ap on #webkit).
* Layout/flexbox-lots-of-data.html: Removed.
2013-10-14 Sergio Villar Senin <svillar@igalia.com>
Use a Vector instead of HashSet to computed the orderValues in RenderFlexibleBox
https://bugs.webkit.org/show_bug.cgi?id=118620
Reviewed by Antti Koivisto.
From Blink r152960 by <ojan@chromium.org>
New performance test for layouts in flexboxes.
* Layout/flexbox-lots-of-data.html: Added.
2013-10-06 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Make it work on Internet Explorer 11 Release Preview
https://bugs.webkit.org/show_bug.cgi?id=122406
Reviewed by Darin Adler.
On Internet Explorer 11, $(elem).closest('li').data('id') fails to find the containig li of elem once
the first item is marked complete or deleted until we get back to the event loop in the jQuery/TodoMVC.
Worked around this limitation by overriding app.getTodo to use each item's id computed in advance.
Also use $.text instead of execCommand('InsertText') in FlightJS/MailClient since Internet Explorer
doesn't support execCommand('InsertText'). Also select the recipient to avoid exceptions.
* DoYouEvenBench/benchmark.html:
2013-10-05 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Add Facebook's React TodoMVC test case
https://bugs.webkit.org/show_bug.cgi?id=122379
Reviewed by Andreas Kling.
Add React/TodoMVC as a new test case. Somehow we beat Firefox on this one as well.
* DoYouEvenBench/benchmark.html:
* DoYouEvenBench/todomvc/labs: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower.json: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/LICENSE: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/README.md: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/director.min.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/director/build/ender.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/JSXTransformer.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/bower.json: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/react/react.min.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/index.html: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/app.jsx: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/footer.jsx: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/todoItem.jsx: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/js/utils.jsx: Added.
* DoYouEvenBench/todomvc/labs/architecture-examples/react/readme.md: Added.
2013-09-25 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Add a test case for FlightJS
https://bugs.webkit.org/show_bug.cgi?id=121926
Reviewed by Antti Koivisto.
Add a FlightJS test case.
* DoYouEvenBench/benchmark.html:
* DoYouEvenBench/benchmark.js:
* DoYouEvenBench/flightjs-example-app: Added.
* DoYouEvenBench/flightjs-example-app/LICENSE.md: Added.
* DoYouEvenBench/flightjs-example-app/README.md: Added.
* DoYouEvenBench/flightjs-example-app/app: Added.
* DoYouEvenBench/flightjs-example-app/app/boot: Added.
* DoYouEvenBench/flightjs-example-app/app/boot/page.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_data: Added.
* DoYouEvenBench/flightjs-example-app/app/component_data/compose_box.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_data/mail_items.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_data/move_to.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui/compose_box.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui/folders.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui/mail_controls.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui/mail_items.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui/move_to_selector.js: Added.
* DoYouEvenBench/flightjs-example-app/app/component_ui/with_select.js: Added.
* DoYouEvenBench/flightjs-example-app/app/css: Added.
* DoYouEvenBench/flightjs-example-app/app/css/custom.css: Added.
* DoYouEvenBench/flightjs-example-app/app/data.js: Added.
* DoYouEvenBench/flightjs-example-app/app/templates.js: Added.
* DoYouEvenBench/flightjs-example-app/components: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.css: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap-responsive.min.css: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.css: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/css/bootstrap.min.css: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/img: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings-white.png: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/img/glyphicons-halflings.png: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/js: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.js: Added.
* DoYouEvenBench/flightjs-example-app/components/bootstrap/js/bootstrap.min.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/.gitignore: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/CHANGES: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/CONTRIBUTORS.md: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/LICENSE: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/README.md: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/component.json: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-sham.min.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/es5-shim.min.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/package.json: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-kill.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h-matchers.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/helpers/h.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/index.html: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine-html.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.css: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/jasmine_favicon.png: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/lib/json2.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-array.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-date.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-function.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-object.js: Added.
* DoYouEvenBench/flightjs-example-app/components/es5-shim/tests/spec/s-string.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/.travis.yml: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/advice.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/component.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/compose.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/index.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/logger.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/registry.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/lib/utils.js: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/tools: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/tools/debug: Added.
* DoYouEvenBench/flightjs-example-app/components/flight/tools/debug/debug.js: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/LICENSE.md: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/README.md: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/bower.json: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-flight/lib/jasmine-flight.js: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-jquery: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib: Added.
* DoYouEvenBench/flightjs-example-app/components/jasmine-jquery/lib/jasmine-jquery.js: Added.
* DoYouEvenBench/flightjs-example-app/components/jquery: Added.
* DoYouEvenBench/flightjs-example-app/components/jquery/component.json: Added.
* DoYouEvenBench/flightjs-example-app/components/jquery/composer.json: Added.
* DoYouEvenBench/flightjs-example-app/components/jquery/jquery.js: Added.
* DoYouEvenBench/flightjs-example-app/components/jquery/jquery.min.js: Added.
* DoYouEvenBench/flightjs-example-app/components/mustache: Added.
* DoYouEvenBench/flightjs-example-app/components/mustache/mustache.js: Added.
* DoYouEvenBench/flightjs-example-app/components/requirejs: Added.
* DoYouEvenBench/flightjs-example-app/components/requirejs/require.js: Added.
* DoYouEvenBench/flightjs-example-app/index.html: Added.
* DoYouEvenBench/flightjs-example-app/karma.conf.js: Added.
* DoYouEvenBench/flightjs-example-app/package.json: Added.
* DoYouEvenBench/flightjs-example-app/requireMain.js: Added.
2013-09-19 Ryosuke Niwa <rniwa@webkit.org>
DoYouEvenBench: Indentations in benchmark.js and benchmark.html are all messed up
https://bugs.webkit.org/show_bug.cgi?id=121597
Reviewed by Anders Carlsson.
Fixed indentations.
* DoYouEvenBench/benchmark.html:
* DoYouEvenBench/benchmark.js:
(SimplePromise.prototype.resolve.else):
(SimplePromise.prototype.resolve):
(BenchmarkRunner.waitForElement.resolveIfReady):
(BenchmarkRunner.waitForElement):
(BenchmarkRunner._waitAndWarmUp.Fibonacci):
(BenchmarkRunner._finalize):
2013-09-19 Ryosuke Niwa <rniwa@webkit.org>
Add an AngularJS test to DoYouEvenBench
https://bugs.webkit.org/show_bug.cgi?id=121595
Reviewed by Antti Koivisto.
* DoYouEvenBench/benchmark.html:
* DoYouEvenBench/todomvc/architecture-examples/angularjs: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower.json: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular-mocks/angular-mocks.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/angular/angular.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/index.html: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/app.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/controllers/todoCtrl.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoBlur.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoEscape.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/directives/todoFocus.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/js/services/todoStorage.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/readme.md: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/config/testacular.conf.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/package.json: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/readme.md: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/directivesSpec.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/angularjs/test/unit/todoCtrlSpec.js: Added.
2013-09-17 Ryosuke Niwa <rniwa@webkit.org>
Add a not completely unrealistic DOM Benchmark
https://bugs.webkit.org/show_bug.cgi?id=121361
Reviewed by Filip Pizlo.
Add a DOM benchmark based on TodoMVC for vanilla JS, Ember.js, Backbone.js, and jQuery.
We'll add more frameworks and demo apps as we go.
* DoYouEvenBench: Added.
* DoYouEvenBench/benchmark.html: Added.
* DoYouEvenBench/benchmark.js: Added.
(SimplePromise):
(SimplePromise.prototype.then):
(SimplePromise.prototype.resolve.else):
(SimplePromise.prototype.resolve):
(BenchmarkRunner.suite):
(BenchmarkRunner.waitForElement.resolveIfReady):
(BenchmarkRunner.waitForElement):
(BenchmarkRunner._removeFrame):
(BenchmarkRunner._appendFrame):
(BenchmarkRunner._waitAndWarmUp.Fibonacci):
(BenchmarkRunner._testName):
(BenchmarkRunner._testItemId):
(BenchmarkRunner.listSuites.button.onclick):
(BenchmarkRunner.listSuites.callNextStep):
(BenchmarkRunner.listSuites):
(BenchmarkState):
(BenchmarkState.prototype.currentSuite):
(BenchmarkState.prototype.currentTest):
(BenchmarkState.prototype.next):
(BenchmarkState.prototype.isFirstTest):
(BenchmarkState.prototype.prepareCurrentSuite.frame.onload):
(BenchmarkRunner.step):
(BenchmarkRunner._runTestAndRecordResults):
(BenchmarkRunner._finalize):
* DoYouEvenBench/todomvc: Added.
* DoYouEvenBench/todomvc/architecture-examples: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower.json: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone.localStorage/backbone.localStorage.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/backbone/backbone.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/jquery/jquery.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/bower_components/underscore/underscore.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/index.html: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/app.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/collections/todos.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/models: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/models/todo.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/routers/router.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/views: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/app-view.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/js/views/todo-view.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/backbone/readme.md: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower.json: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember-localstorage-adapter/localstorage_adapter.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/ember/ember.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/handlebars/handlebars.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/jquery/jquery.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/index.html: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/app.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todo_controller.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/controllers/todos_controller.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/libs/ember-data.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/store.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/models/todo.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/js/views/edit_todo_view.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/readme.md: Added.
* DoYouEvenBench/todomvc/architecture-examples/emberjs/test.html: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower.json: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/handlebars/handlebars.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/jquery/jquery.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/css: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/css/app.css: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/index.html: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/js: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/js/app.js: Added.
* DoYouEvenBench/todomvc/architecture-examples/jquery/readme.md: Added.
* DoYouEvenBench/todomvc/license.md: Added.
* DoYouEvenBench/todomvc/readme.md: Added.
* DoYouEvenBench/todomvc/vanilla-examples: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower.json: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.css: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/base.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/bower_components/todomvc-common/bg.png: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/index.html: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/app.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/controller.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/helpers.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/model.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/store.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/js/view.js: Added.
* DoYouEvenBench/todomvc/vanilla-examples/vanillajs/readme.md: Added.
* Skipped:
2013-09-04 Filip Pizlo <fpizlo@apple.com>
Introduce a version of SunSpider that runs for a really long time (about 1 sec on my machine)
Rubber stamped by Mark Hahnenberg.
This isn't meant for serious VM-to-VM performance comparisons, but it is useful
to see how these benchmarks behave when they're completely warmed up.
* LongSpider: Added.
* LongSpider/3d-cube.js: Added.
(DrawLine):
(CalcCross):
(CalcNormal):
(CreateP):
(MMulti):
(VMulti):
(VMulti2):
(MAdd):
(Translate):
(RotateX):
(RotateY):
(RotateZ):
(DrawQube):
(Loop):
(Init):
* LongSpider/3d-morph.js: Added.
(loops.3500.nx.120.nz.120.morph):
* LongSpider/3d-raytrace.js: Added.
(createVector):
(sqrLengthVector):
(lengthVector):
(addVector):
(subVector):
(scaleVector):
(normaliseVector):
(add):
(sub):
(scalev):
(dot):
(scale):
(cross):
(normalise):
(transformMatrix):
(invertMatrix):
(Triangle):
(Triangle.prototype.intersect):
(Scene):
(Scene.prototype.intersect):
(Scene.prototype.blocked):
(Camera):
(Camera.prototype.generateRayPair):
(renderRows):
(Camera.prototype.render):
(raytraceScene.floorShader):
(raytraceScene):
(arrayToCanvasCommands):
* LongSpider/access-binary-trees.js: Added.
(TreeNode):
(TreeNode.prototype.itemCheck):
(bottomUpTree):
* LongSpider/access-fannkuch.js: Added.
(fannkuch):
* LongSpider/access-nbody.js: Added.
(Body):
(Body.prototype.offsetMomentum):
(Jupiter):
(Saturn):
(Uranus):
(Neptune):
(Sun):
(NBodySystem):
(NBodySystem.prototype.advance):
(NBodySystem.prototype.energy):
* LongSpider/access-nsieve.js: Added.
(pad):
(nsieve):
(sieve):
* LongSpider/bitops-3bit-bits-in-byte.js: Added.
(fast3bitlookup):
(TimeFunc):
* LongSpider/bitops-bits-in-byte.js: Added.
(bitsinbyte):
(TimeFunc):
* LongSpider/bitops-nsieve-bits.js: Added.
(pad):
(primes):
(sieve):
* LongSpider/controlflow-recursive.js: Added.
(ack):
(fib):
(tak):
* LongSpider/crypto-aes.js: Added.
(Cipher):
(SubBytes):
(ShiftRows):
(MixColumns):
(AddRoundKey):
(KeyExpansion):
(SubWord):
(RotWord):
(AESEncryptCtr):
(AESDecryptCtr):
(escCtrlChars):
* LongSpider/crypto-md5.js: Added.
(hex_md5):
(b64_md5):
(str_md5):
(hex_hmac_md5):
(b64_hmac_md5):
(str_hmac_md5):
(md5_vm_test):
(core_md5):
(md5_cmn):
(md5_ff):
(md5_gg):
(md5_hh):
(md5_ii):
(core_hmac_md5):
(safe_add):
(bit_rol):
(str2binl):
(binl2str):
(binl2hex):
(binl2b64):
* LongSpider/crypto-sha1.js: Added.
(hex_sha1):
(b64_sha1):
(str_sha1):
(hex_hmac_sha1):
(b64_hmac_sha1):
(str_hmac_sha1):
(sha1_vm_test):
(core_sha1):
(sha1_ft):
(sha1_kt):
(core_hmac_sha1):
(safe_add):
(rol):
(str2binb):
(binb2str):
(binb2hex):
(binb2b64):
* LongSpider/date-format-tofte.js: Added.
(arrayExists):
(.a):
(.A):
(.B):
(.d):
(.D):
(.F):
(.g):
(.G):
(.h):
(.H):
(.i):
(.j):
(.l):
(.L):
(.m):
(.M):
(.n):
(.O):
(.r):
(.S):
(.s):
(.t):
(.U):
(.W):
(.w):
(.Y):
(.y):
(.z):
(Date.prototype.formatDate):
* LongSpider/date-format-xparb.js: Added.
(Date.prototype.dateFormat):
(Date.createNewFormat):
(Date.getFormatCode):
(Date.parseDate):
(Date.createParser):
(Date.formatCodeToRegex):
(Date.prototype.getTimezone):
(Date.prototype.getGMTOffset):
(Date.prototype.getDayOfYear):
(Date.prototype.getWeekOfYear):
(Date.prototype.isLeapYear):
(Date.prototype.getFirstDayOfMonth):
(Date.prototype.getLastDayOfMonth):
(Date.prototype.getDaysInMonth):
(Date.prototype.getSuffix):
(String.escape):
* LongSpider/math-cordic.js: Added.
(FIXED):
(FLOAT):
(DEG2RAD):
(cordicsincos):
(cordic):
* LongSpider/math-partial-sums.js: Added.
(partial):
* LongSpider/math-spectral-norm.js: Added.
(A):
(Au):
(Atu):
(AtAu):
(spectralnorm):
* LongSpider/string-base64.js: Added.
(toBase64):
(base64ToString):
* LongSpider/string-fasta.js: Added.
(rand):
(makeCumulative):
(fastaRepeat):
(fastaRandom):
* LongSpider/string-tagcloud.js: Added.
(.Array.prototype.toJSONString):
(.Boolean.prototype.toJSONString):
(.Date.prototype.toJSONString):
(.Number.prototype.toJSONString):
(.Object.prototype.toJSONString):
(.):
2013-06-10 Radu Stavila <stavila@adobe.com>
[CSS Regions] Rename region-overflow to region-fragment
https://bugs.webkit.org/show_bug.cgi?id=117397
Renamed -webkit-region-overflow to -webkit-region-fragment according to the new working draft
at http://www.w3.org/TR/2013/WD-css3-regions-20130528/#the-region-fragment-property
Reviewed by Alexander Pavlov.
* Layout/resources/regions.css:
2013-06-05 Zan Dobersek <zdobersek@igalia.com>
Move MemoryInfo under window.internals
https://bugs.webkit.org/show_bug.cgi?id=117197
Reviewed by Ryosuke Niwa.
* resources/runner.js: Remove the setMemoryEnabled call, it's not required anymore as the memory
info is now accessed through window.internals and doesn't need the setting to be enabled to work.
2013-05-30 Ryosuke Niwa <rniwa@webkit.org>
Web Inspector: tests in PerformanceTests/inspector/ are timing out
https://bugs.webkit.org/show_bug.cgi?id=77024
Reviewed by Andreas Kling.
These tests have been disabled for ages and don't conform to the standard format.
* Skipped:
* inspector: Removed.
* inspector/console-300-lines.html: Removed.
* inspector/first-open-elements.html: Removed.
* inspector/first-open-resources.html: Removed.
* inspector/first-open-scripts.html.broken: Removed.
* inspector/heap-snapshot-advanced.html: Removed.
* inspector/heap-snapshot-performance-test.js: Removed.
* inspector/heap-snapshot.html: Removed.
* inspector/inspector-startup-time.html: Removed.
* inspector/network-append-30-requests.html.broken: Removed.
* inspector/performance-test.js: Removed.
* inspector/show-panel.html.broken: Removed.
2013-05-27 Benjamin Poulain <benjamin@webkit.org>
Add a balanced benchmark for QuerySelector
https://bugs.webkit.org/show_bug.cgi?id=116811
Reviewed by Sam Weinig.
The goal of this benchmark is to have an overview of querySelector as typically used
by webpages.
It uses queries similar to what is used by popular websites and applies somewhat
similar weighting for each type of query.
The tree used for the queries is intentionally kept simple to ensure we measure QuerySelector
a not purely the overhead of traversal.
* CSS/QuerySelector.html: Added.
* CSS/resources/query-selector.html: Added.
2013-05-18 Ryosuke Niwa <rniwa@webkit.org>
Add a performance test for copying
https://bugs.webkit.org/show_bug.cgi?id=116394
Reviewed by Andreas Kling.
Added. We're going to skip this test by default since it's such a microbenchmark, and also because
it currently takes 30 minutes to run. As insane as it sounds, each copy takes rouhgly 57 seconds.
Running Interactive/CopyAll.html (1 of 1)
RESULT Interactive: CopyAll: Time= 57618.05 ms
median= 57135.0 ms, stdev= 1542.07271571 ms, min= 55095.0 ms, max= 60913.0 ms
RESULT Interactive: CopyAll: JSHeap= 102811.2 bytes
median= 103272.0 bytes, stdev= 1115.28148913 bytes, min= 100648.0 bytes, max= 103504.0 bytes
RESULT Interactive: CopyAll: Malloc= 446408712.0 bytes
median= 459156772.0 bytes, stdev= 20007346.3266 bytes, min= 415564040.0 bytes, max= 462011928.0 bytes
Finished: 1766.883236 s
* Interactive/CopyAll.html: Added.
* Skipped:
2013-05-13 Seokju Kwon <seokju.kwon@gmail.com>
Web Inspector: Get rid of native-memory-snapshot in performance test
https://bugs.webkit.org/show_bug.cgi?id=116013
Reviewed by Andreas Kling.
Remove native-memory-snapshot.html from PerformanceTests.
* inspector/native-memory-snapshot.html: Removed.
* inspector/performance-test.js:
(initialize_TimeTracker.Timer):
(initialize_TimeTracker.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):
2013-04-10 Benjamin Poulain <bpoulain@apple.com>
Mass remove all the empty directories
Rubberstamped by Ryosuke Niwa.
* Bindings/resources: Removed.
2013-04-02 Glenn Adams <glenn@skynav.com>
Need japanese line layout performance test
https://bugs.webkit.org/show_bug.cgi?id=113811
Reviewed by Ryosuke Niwa.
Will be used by https://bugs.webkit.org/show_bug.cgi?id=105692 to test potential performance regression
for Japanese (and other CJK) line break changes.
* Layout/LineLayoutJapanese.html: Added.
* Skipped: Skip this test by default.
2013-03-29 Andrei Bucur <abucur@adobe.com>
[CSS Regions] Add performance tests
https://bugs.webkit.org/show_bug.cgi?id=113303
Reviewed by Antti Koivisto.
Add simple performance tests for regions, without nested named flows: a region chain and a flow article.
The regions.js script is used to generate the tests and can set the following parameters: the number of regions,
the number of paragraphs, the regions width, height, max-height and the propability of a forced break after a paragraph.
The tests are skipped for now. They should be enabled once the regions performance is stable enough to create a baseline.
* Layout/RegionsAuto.html: Added. A few regions with a short article. The regions have auto-height and some
paragraphs (80%) have forced breaks after. Stress test for the auto-height algorithm.
* Layout/RegionsAutoMaxHeight.html: Added. A lot of regions with auto-height and max-height. Tests the impact of
max-height on the auto-height algorithm.
* Layout/RegionsFixed.html: Added. A lot of regions with a long article. Some paragraphs (50%) have forced breaks after.
Stress test for the regions layout algorithm.
* Layout/RegionsFixedShort.html: Added. A lot of short regions with a long content. Tests the impact of unforced breaks
on the layout speed.
* Layout/resources/regions.css: Added.
(.articleInFlow):
(.articleNone):
(.region):
(.contentParagraph):
(.breakAfter):
(.regionContainer):
* Layout/resources/regions.js: Added.
(.):
* Skipped:
2013-03-26 Ryosuke Niwa <rniwa@webkit.org>
Add a performance tests for selecting all content in a document
https://bugs.webkit.org/show_bug.cgi?id=113358
Reviewed by Levi Weintraub.
Add a performance test for selecting all. We wait for paint to happen by setTimeout(~, 0).
Example outputs:
RESULT Interactive: SelectAll: Time= 652.6 ms
median= 644.5 ms, stdev= 54.6177144967 ms, min= 599.0 ms, max= 773.0 ms
RESULT Interactive: SelectAll: Time= 654.4 ms
median= 633.5 ms, stdev= 55.9223145368 ms, min= 600.0 ms, max= 769.0 ms
RESULT Interactive: SelectAll: Time= 657.9 ms
median= 640.0 ms, stdev= 54.1420159833 ms, min= 604.0 ms, max= 774.0 ms
* Interactive/SelectAll.html: Added.
* Skipped:
2013-03-19 Alexei Filippov <alph@chromium.org>
Web Inspector: Fix heap profiler performance tests.
https://bugs.webkit.org/show_bug.cgi?id=112701
Reviewed by Yury Semikhatsky.
The tests were broken by profile types refactoring.
* inspector/heap-snapshot-performance-test.js:
(test.performanceTest.step0):
(test.performanceTest.step1):
2013-03-05 Eric Seidel <eric@webkit.org>
Add html-parser-threaded perf test now that the threaded parser is enabled by default
https://bugs.webkit.org/show_bug.cgi?id=111200
Reviewed by Ryosuke Niwa.
The old srcdoc test no longer triggers the threaded parser due to compatibility fixes.
* Parser/html-parser-threaded.html: Renamed from PerformanceTests/Parser/html-parser-srcdoc.html.
* Skipped: Unfortunately this new test is still skipped too.
2013-03-04 Eric Seidel <eric@webkit.org>
Add PerformanceTest for document startup via iframe append/remove
https://bugs.webkit.org/show_bug.cgi?id=111389
Reviewed by Kentaro Hara.
We'd like pages with lots of iframes to be fast.
This test shows that at least for V8/Chromium we spend
all our time booting v8.
On my 32-core linux machine I see about 70 runs/sec in
Release and 5 runs/sec in Debug.
* DOM/iframe-append-remove.html: Added.
2013-03-03 Ryosuke Niwa <rniwa@webkit.org>
Some perf. tests have variances that differ greatly between runs
https://bugs.webkit.org/show_bug.cgi?id=97510
Reviewed by Benjamin Poulain.
In order to control the number of iterations and processes to use from run-perf-tests, always use 20
iterations on all tests except Dromaeo, where even doing 5 iterations is prohibitively slow, by default.
Without this change, it'll become extremely hard for us to tweak the number of iterations and processes
to use from run-perf-tests.
* Animation/balls.html:
* DOM/DOMTable.html:
* DOM/resources/dom-perf.js:
(runBenchmarkSuite.PerfTestRunner.measureTime):
* Dromaeo/resources/dromaeorunner.js:
* Layout/floats_100_100.html:
* Layout/floats_100_100_nested.html:
* Layout/floats_20_100.html:
* Layout/floats_20_100_nested.html:
* Layout/floats_2_100.html:
* Layout/floats_2_100_nested.html:
* Layout/floats_50_100.html:
* Layout/floats_50_100_nested.html:
* Layout/subtree-detaching.html:
* Parser/html5-full-render.html:
* SVG/SvgHitTesting.html:
* resources/runner.js:
* resources/results-template.html:
2013-02-25 Ryosuke Niwa <rniwa@webkit.org>
Use perf.webkit.org JSON format in results page
https://bugs.webkit.org/show_bug.cgi?id=110842
Reviewed by Benjamin Poulain.
Updated the results page template to use the new JSON format.
Since new JSON format doesn't contain statistics such as stdev and min, added statistics.js to compute
these values. Also use 95% percentile confidence interval instead of standard deviation in various places.
* resources/results-template.html: Added statistics.js as dependency.
(TestResult): Updated to take a metric instead of its test. Replaced stdev() with confidenceIntervalDelta()
now that we have a fancy Statistics class.
(TestRun.webkitRevision):
(PerfTestMetric): Renamed from PerfTest since this object now encapsulates each measurement (such as time,
JS heap, and malloc) in test. Also added a conversion table from a metric name to a unit since new format
doesn't contain units.
(PerfTestMetric.name): Updated to compute the full metric name from test name and metric name, matching
the old behavior.
(PerfTestMetric.isMemoryTest): Explicitly look for 'JSHeap' and 'Malloc' tests.
(PerfTestMetric.smallerIsBetter):
(attachPlot): Deleted the code to deal with tests that don't provide individual iteration measurement
since such tests no longer exist. Also fixed up the code compute y-axis range.
(createTableRow.markupForRun): Updated to use confidenceIntervalDelta() instead of stdev().
(init.addTests): Added. Recursively add metrics.
* resources/statistics.js: Added. Imported from perf.webkit.org.
(Statistics.max):
(Statistics.min):
(Statistics.sum):
(Statistics.squareSum):
(Statistics.sampleStandardDeviation):
(Statistics.supportedConfidenceLevels):
(Statistics.confidenceIntervalDelta):
(Statistics.confidenceInterval):
2013-02-11 Alexei Filippov <alph@chromium.org>
Web Inspector: Split Profiler domain in protocol into Profiler and HeapProfiler
https://bugs.webkit.org/show_bug.cgi?id=108653
Reviewed by Yury Semikhatsky.
Currently CPU and heap profilers share the same domain 'Profiler' in the protocol.
In fact these two profile types have not too much in common. So put each into its own domain.
It should also help when Profiles panel gets split into several tools.
This is the phase 1 which adds InspectorHeapProfilerAgent but doesn't
change the original InspectorProfilerAgent.
* inspector/heap-snapshot-performance-test.js:
(test.performanceTest.cleanup):
2013-02-05 Dominik Röttsches <dominik.rottsches@intel.com>
Add a performance test for arabic line breaking
https://bugs.webkit.org/show_bug.cgi?id=108948
Reviewed by Eric Seidel.
Adding a perfomance test based to exercise the complex
font path used in rendering arabic script.
* Layout/ArabicLineLayout.html: Added.
* Skipped: New test skipped by default as per Ryosuke's request.
2013-01-23 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: some measurements are missing in PerformanceTests/inspector/heap-*.html
https://bugs.webkit.org/show_bug.cgi?id=107687
Reviewed by Pavel Feldman.
* inspector/heap-snapshot-performance-test.js: override methods on JSHeapSnapshot instead
of HeapSnapshot, otherwise overrides from JSHeapSnapshot will rule.
2013-01-18 Ryosuke Niwa <rniwa@webkit.org>
Skip DOM/TraverseChildNodes.html as intended in r140070.
* Skipped:
2013-01-17 Dominic Cooney <dominicc@chromium.org>
Unreviewed, re-land r140051.
I overzealously rolled this out; the test was intended to be
skipped, but was not skipped because of a typo in Skipped. See
<https://bugs.webkit.org/show_bug.cgi?id=107210>
* Parser/html-parser-srcdoc.html: Added.
* Skipped: Big-P Parser.
2013-01-17 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r140051.
http://trac.webkit.org/changeset/140051
https://bugs.webkit.org/show_bug.cgi?id=107210
html-parser-srcdoc.html failing on Chromium Linux Perf and
Chromium Mac Perf with a lot of error spew about blocked
script execution in 'about:srcdoc' (Requested by dominicc on
#webkit).
* Parser/html-parser-srcdoc.html: Removed.
* Skipped:
2013-01-16 Ryosuke Niwa <rniwa@webkit.org>
Remove NodeListsNodeData when it's no longer needed
https://bugs.webkit.org/show_bug.cgi?id=107074
Reviewed by Darin Adler.
Added a micro benchmark to see the benefit of removing NodeListsNodeData.
The test traverses all elements in the html5 specification page and accesses childNodes.
Don't enable this test for now since it's really a micro benchmark specifically
designed to test this patch.
* DOM/TraverseChildNodes.html: Added.
* Skipped: Don't enable newly added test by default.
* resources/results-template.html: Compare against the unscaled unit (e.g. "bytes") as
opposed to scaled units such as "K bytes".
* resources/runner.js:
(.start): Moved the code to call currentTest.setup from measureRunsPerSecondOnce so that
it'll be ran for all test types, namely of PerfTestRunner.measureTime.
(.measureRunsPerSecondOnce):
2013-01-17 Eric Seidel <eric@webkit.org>
Add a version of the html-parser benchmark which uses srcdoc instead of document.write so it tests the threaded parser
https://bugs.webkit.org/show_bug.cgi?id=107158
Reviewed by Ryosuke Niwa.
Currently this test even opts-in to the threaded parser if available.
We'll remove that line when the threaded parser becomes default or goes away.
* Parser/html-parser-srcdoc.html: Added.
2013-01-16 Arnaud Renevier <a.renevier@sisa.samsung.com>
inconsistency in drawImage with target rect negative dimensions.
https://bugs.webkit.org/show_bug.cgi?id=100026
Reviewed by Dean Jackson.
Create a drawImage performance test. There is no significative change
in performance: 27144.6851528 runs/s without the patch; 27153.517612
runs/s with the patch. Test is currently skipped.
* Canvas/drawimage.html: Added.
* Skipped:
2013-01-15 Dominic Cooney <dominicc@chromium.org>
Allow zero values as results from the runFunction.
https://bugs.webkit.org/show_bug.cgi?id=102500
Reviewed by Kentaro Hara.
DOM/DOMWalk.js fails on the Chromium Win perf bot because one or
more parts of the test usually return zero at some point.
* resources/runner.js: Accept merely non-negative results.
2012-12-28 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: rename distanceToWindow to distance
https://bugs.webkit.org/show_bug.cgi?id=105823
Reviewed by Pavel Feldman.
Updated heap profiler performance test after renaming distanceToWindow to distance.
* inspector/heap-snapshot-performance-test.js:
2012-12-18 Hayato Ito <hayato@chromium.org>
Use element.webkitCreateShadowRoot instead of WebKitShadowRoot in PerformanceTests.
https://bugs.webkit.org/show_bug.cgi?id=105256
Reviewed by Dimitri Glazkov.
WebKitShadowRoot constructor was deleted in favor of element.webkitCreateShadowRoot().
* ShadowDOM/ChangingClassNameShadowDOM.html:
* ShadowDOM/ChangingSelect.html:
* ShadowDOM/ContentReprojection.html:
* ShadowDOM/DistributionWithMultipleShadowRoots.html:
* ShadowDOM/LargeDistributionWithLayout.html:
* ShadowDOM/MultipleInsertionPoints.html:
* ShadowDOM/ShadowReprojection.html:
* ShadowDOM/SmallDistributionWithLayout.html:
2012-12-17 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] LargeDistributionWithLayout.html should be updated
https://bugs.webkit.org/show_bug.cgi?id=105242
Reviewed by Ryosuke Niwa.
Since this test was written when distribution took O(N^2). However, now it's almost O(N), so this test finishes
in very short time. We should convert it unit to runs/s.
This test contains a some error to cause test failure, e.g. using obsolete API, so they also should be fixed.
* ShadowDOM/LargeDistributionWithLayout.html:
2012-12-13 Ryosuke Niwa <rniwa@webkit.org>
[chromium perf] DOM/DOMWalk.html failures
https://bugs.webkit.org/show_bug.cgi?id=104866
Reviewed by Eric Seidel.
Use PerfTestRunner.now which in turn uses window.performance.now() when it's available.
* DOM/resources/dom-perf.js:
(Interval.start):
(Interval.stop):
(BenchmarkSuite.prototype.RunSingle):
2012-12-05 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] Performance tests for ShadowDOM distribution
https://bugs.webkit.org/show_bug.cgi?id=103617
Reviewed by Dimitri Glazkov.
We would like to measure ShadowDOM distribution performance in various cases.
In this patch, we add performance tests for several distribution patterns.
* ShadowDOM/ContentReprojection.html: Added.
* ShadowDOM/DistributionWithMultipleShadowRoots.html: Added.
* ShadowDOM/LargeDistributionWithLayout.html: Added.
* ShadowDOM/MultipleInsertionPoints.html: Added.
* ShadowDOM/ShadowReprojection.html: Added.
* ShadowDOM/SmallDistributionWithLayout.html: Added.
2012-12-05 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] Performance tests of distribution for changing className
https://bugs.webkit.org/show_bug.cgi?id=103612
Reviewed by Dimitri Glazkov.
We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
In this patch, we add a case when classNames of distributed elemeents are changed.
* ShadowDOM/ChangingClassName.html: Added.
* ShadowDOM/ChangingClassNameShadowDOM.html: Added.
2012-12-03 Ryosuke Niwa <rniwa@webkit.org>
Dromaeo should report individual test result
https://bugs.webkit.org/show_bug.cgi?id=99800
Reviewed by Eric Seidel.
Made one small modification to Droameo's webrunner.js so that it reports individual runs/s values
for each subtest. This allows us to compute the aggregated run/s for each iteration like other
performance tests.
Also stop measuring memory usage in Dromaeo tests because some Dromaeo tests (e.g. jslib-modify-jquery)
have unrealistic memory usage, and measuring them at the time of teardown doesn't make much sense.
* Animation/balls.html: Fixed typo: measureValueAync.
* Dromaeo/resources/dromaeo/web/webrunner.js:
* Dromaeo/resources/dromaeorunner.js:
(DRT.setup): Call prepareToMeasureValuesAsync so that DRT.teardown can use meausreValueAsync, and log
"Running 5 times". Since the log container will be inserted before iframe, we need to explicitly insert
the iframe as the first child of the body element to avoid logs from affecting the iframe's position.
Also specify the number of iterations by calling PerfTestRunner.iterationCount() so that we may adjust
the number of iterations in PerfTestRunner.
(DRT.progress): Log individual measurement for each subtest.
(DRT.teardown): Compute the aggregated result for each iteration, and log them using measureValueAsync.
* resources/runner.js:
(PerfTestRunner.logStatistics): Merged printStatistics since it's no longer needed after r131638.
(PerfTestRunner): Removed getAndPrintMemoryStatistics since it was used only in Dromaeo tests but
we no longer measure memory usage in Dromaeo tests.
(start): Increment completedRuns from -1 to 0 for Dromaeo tests where we don't want to ignore the initial
measurement. Note that ignoreWarmUpAndLog ignores the measurements for which completedRuns is negative.
(ignoreWarmUpAndLog): We don't measure memory usage in Dromaeo tests. See above.
(PerfTestRunner.iterationCount): Added. This abstraction allows us to auto-adjust the number of iterations from
run-perf-tests in near future.
(PerfTestRunner.measureValueAsync): Renamed from measureValueAync.
2012-11-29 Shinya Kawanaka <shinyak@chromium.org>
[Shadow] Performance tests of distribution for changing select attribute
https://bugs.webkit.org/show_bug.cgi?id=103611
Reviewed by Hajime Morita.
We would like to measure ShadowDOM performance and compare it to the similar functional HTML without using ShadowDOM.
In this patch, we add a case when select attribute of HTMLContentElement is changed.
* ShadowDOM/ChangingSelect.html: Added.
* ShadowDOM/ChangingSelectWithoutShadow.html: Added.
* Skipped:
2012-11-19 Shinya Kawanaka <shinyak@chromium.org>
Changing id, className, or attribute should invalidate distribution
https://bugs.webkit.org/show_bug.cgi?id=100738
Reviewed by Dimitri Glazkov.
Added test code to modify id/class/attribute.
* DOM/ModifyAttribute.html: Added.
* DOM/resources/dom-perf/modify-attribute.js: Added.
(ModifyAttribute.CreateElementToSetUp):
(ModifyAttribute.ModifyId):
(ModifyAttribute.ModifyClass):
(ModifyAttribute.ModifyTitle):
2012-11-14 Ryosuke Niwa <rniwa@webkit.org>
runCount in runner.js should be renamed to iterationCount
https://bugs.webkit.org/show_bug.cgi?id=102208
Reviewed by Tony Chang.
Prior to this patch, there were terminology confusions between "runs" and "iterations".
The term "run" should refer to running a performance test once, and "iteration" should
refer to one measurement in the test. i.e. Executing run-perf-should once will result in
a single "run" of performance tests and each test may execute multiple "iterations"
to complete the run.
Unfortunately, we still overload the meaning of "runs" in "runs/s" (is "function calls/s")
but that could be addressed in a separate patch.
* Animation/balls.html:
* DOM/DOMTable.html:
* DOM/resources/dom-perf.js:
* Layout/floats_100_100.html:
* Layout/floats_100_100_nested.html:
* Layout/floats_20_100.html:
* Layout/floats_20_100_nested.html:
* Layout/floats_2_100.html:
* Layout/floats_2_100_nested.html:
* Layout/floats_50_100.html:
* Layout/floats_50_100_nested.html:
* Layout/subtree-detaching.html:
* Parser/html5-full-render.html:
* SVG/SvgHitTesting.html:
* resources/runner.js:
2012-11-13 Dimitri Glazkov <dglazkov@chromium.org>
Unreviewed, rolling out r134367.
http://trac.webkit.org/changeset/134367
https://bugs.webkit.org/show_bug.cgi?id=100738
Speculative rollout, could have cause Dromaeo setAttribute
perf regression.
* DOM/ModifyAttribute.html: Removed.
* DOM/resources/dom-perf/modify-attribute.js: Removed.
2012-11-12 Shinya Kawanaka <shinyak@chromium.org>
Changing id, className, or attribute should invalidate distribution
https://bugs.webkit.org/show_bug.cgi?id=100738
Reviewed by Dimitri Glazkov.
Added test code to modify id/class/attribute.
* DOM/ModifyAttribute.html: Added.
* DOM/resources/dom-perf/modify-attribute.js: Added.
(ModifyAttribute.CreateElementToSetUp):
(ModifyAttribute.ModifyId):
(ModifyAttribute.ModifyClass):
(ModifyAttribute.ModifyTitle):
2012-11-06 Adam Barth <abarth@webkit.org>
DOMImplementation should use ScriptWrappable
https://bugs.webkit.org/show_bug.cgi?id=101279
Reviewed by Eric Seidel.
This simple PerformanceTest measure how quickly we can access
document.implementation. The goal of this performance test is just to
validate that using ScriptWrappable actually makes the bindings faster.
* Bindings/document-implementation.html: Added.
2012-11-05 Geoffrey Garen <ggaren@apple.com>
WebKit should have performance tests for book chapter reflow
https://bugs.webkit.org/show_bug.cgi?id=101271
Reviewed by Dan Bernstein.
I grabbed a book chapter from the Project Gutenberg front page:
* Layout/chapter-reflow-once.html: Added.
* Layout/chapter-reflow-thrice.html: Added.
* Layout/chapter-reflow-twice.html: Added.
* Layout/chapter-reflow.html: Added.
I also created a torture-test random text generator:
* Layout/chapter-reflow-once-random.html: Added.
2012-10-29 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #7 (last)
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #7 (last) commit of the whole patch.
* PageLoad: Removed.
* PageLoad/svg: Removed.
* PageLoad/svg/LICENSES: Removed.
* PageLoad/svg/files: Removed.
* PageLoad/svg/files/33041-Samurai.svg: Removed.
* PageLoad/svg/files/42450-under the see.svg: Removed.
* PageLoad/svg/files/world-iso.svg: Removed.
* PageLoad/svg/svg.pltsuite: Removed.
* SVG/Samurai.html: Added.
* SVG/UnderTheSee.html: Added.
* SVG/WorldIso.html: Added.
* SVG/resources/LICENSES: Copied from PerformanceTests/PageLoad/svg/LICENSES.
* SVG/resources/Samurai.svg: Copied from PerformanceTests/PageLoad/svg/files/33041-Samurai.svg.
* SVG/resources/UnderTheSee.svg: Copied from PerformanceTests/PageLoad/svg/files/42450-under%20the%20see.svg.
* SVG/resources/WorldIso.svg: Copied from PerformanceTests/PageLoad/svg/files/world-iso.svg.
* SVG/resources/svg.pltsuite: Copied from PerformanceTests/PageLoad/svg/svg.pltsuite.
* Skipped: Rename the files on the skipped list also.
2012-10-26 Eric Seidel <eric@webkit.org>
Add a microbenchmark for Hindi (complex-text) line-layout
https://bugs.webkit.org/show_bug.cgi?id=100024
Reviewed by Ryosuke Niwa.
I wrote this to make sure that we don't regress line-breaking performance
for the complex-text codepath. This test has shown me that TOT is
already 5% slower than Safari 6.0.1 here. :(
* Layout/hindi-line-layout.html: Added.
2012-10-26 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #6
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #6 commit of the whole patch.
* PageLoad/svg/files/gearflowers.svg: Removed.
* PageLoad/svg/files/hereGear4.svg: Removed.
* PageLoad/svg/files/worldcup.svg: Removed.
* SVG/GearFlowers.html: Added.
* SVG/HereGear.html: Added.
* SVG/Worldcup.html: Added.
* SVG/resources/GearFlowers.svg: Copied from PerformanceTests/PageLoad/svg/files/gearflowers.svg.
* SVG/resources/HereGear.svg: Copied from PerformanceTests/PageLoad/svg/files/hereGear4.svg.
* SVG/resources/Worldcup.svg: Copied from PerformanceTests/PageLoad/svg/files/worldcup.svg.
* Skipped: Rename the files on the skipped list also.
2012-10-26 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #5
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #5 commit of the whole patch.
* PageLoad/svg/files/Harvey_Rayner.svg: Removed.
* PageLoad/svg/files/Sierpinski_carpet_6.svg: Removed.
* PageLoad/svg/files/mtsthelens.svg: Removed.
* PageLoad/svg/files/mtsthelens0.jpg: Removed.
* SVG/HarveyRayner.html: Added.
* SVG/MtSaintHelens.html: Added.
* SVG/SierpinskiCarpet.html: Added.
* SVG/resources/HarveyRayner.svg: Copied from PerformanceTests/PageLoad/svg/files/Harvey_Rayner.svg.
* SVG/resources/MtSaintHelens.svg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens.svg.
* SVG/resources/SierpinskiCarpet.svg: Copied from PerformanceTests/PageLoad/svg/files/Sierpinski_carpet_6.svg.
* SVG/resources/mtsthelens0.jpg: Copied from PerformanceTests/PageLoad/svg/files/mtsthelens0.jpg.
* Skipped: Rename the files on the skipped list also.
2012-10-25 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #4
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #4 commit of the whole patch.
* PageLoad/svg/files/france.svg: Removed.
* PageLoad/svg/files/francobollo_gnome_ezechi_02.svg: Removed.
* SVG/France.html: Added.
* SVG/FrancoBolloGnomeEzechi.html: Added.
* SVG/resources/France.svg: Copied from PerformanceTests/PageLoad/svg/files/france.svg.
* SVG/resources/FrancoBolloGnomeEzechi.svg: Copied from PerformanceTests/PageLoad/svg/files/francobollo_gnome_ezechi_02.svg.
* Skipped: Rename the files on the skipped list also.
2012-10-25 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #3
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #3 commit of the whole patch.
* PageLoad/svg/files/42470-flower_from_my_garden_v2.svg: Removed.
* PageLoad/svg/files/44057-drops on a blade.svg: Removed.
* PageLoad/svg/files/deb9frac1.svg: Removed.
* PageLoad/svg/files/food_leif_lodahl_01.svg: Removed.
* SVG/Debian.html: Added.
* SVG/DropsOnABlade.html: Added.
* SVG/FlowerFromMyGarden.html: Added.
* SVG/FoodLeifLodahl.html: Added.
* SVG/resources/Debian.svg: Copied from PerformanceTests/PageLoad/svg/files/deb9frac1.svg.
* SVG/resources/DropsOnABlade.svg: Copied from PerformanceTests/PageLoad/svg/files/44057-drops%20on%20a%20blade.svg.
* SVG/resources/FlowerFromMyGarden.svg: Copied from PerformanceTests/PageLoad/svg/files/42470-flower_from_my_garden_v2.svg.
* SVG/resources/FoodLeifLodahl.svg: Copied from PerformanceTests/PageLoad/svg/files/food_leif_lodahl_01.svg.
2012-10-24 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #2
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #2 commit of the whole patch.
* PageLoad/svg/files/cacuts_01.svg: Removed.
* PageLoad/svg/files/cowboy.svg: Removed.
* PageLoad/svg/files/crawfish2_ganson.svg: Removed.
* SVG/Cactus.html: Added.
* SVG/Cowboy.html: Added.
* SVG/CrawFishGanson.html: Added.
* SVG/resources/Cactus.svg: Copied from PerformanceTests/PageLoad/svg/files/cacuts_01.svg.
* SVG/resources/Cowboy.svg: Copied from PerformanceTests/PageLoad/svg/files/cowboy.svg.
* SVG/resources/CrawFishGanson.svg: Copied from PerformanceTests/PageLoad/svg/files/crawfish2_ganson.svg.
* Skipped: Remove az-lizard_benji_park_01.svg from the skipped list.
2012-10-24 Zoltan Horvath <zoltan@webkit.org>
Turn PageLoad tests into simple performancetests, commit #1
https://bugs.webkit.org/show_bug.cgi?id=99899
Reviewed by Ryosuke Niwa.
We cannot provide an elegant way to measure the memory consumption of the PageLoad tests, but we can turn them into simple
performance tests and measure their memory footprint and performance that way. This change moves and renames the related files
to their new location and adds html/js wrappers for them.
This is the #1 commit of the whole patch.
* PageLoad/svg/files/az-lizard_benji_park_01.svg: Removed.
* PageLoad/svg/files/bamboo_01.svg: Removed.
* SVG/AzLizardBenjiPark.html: Added.
* SVG/Bamboo.html: Added.
* SVG/resources: Added.
* SVG/resources/AzLizardBenjiPark.svg: Copied from PerformanceTests/PageLoad/svg/files/az-lizard_benji_park_01.svg.
* SVG/resources/Bamboo.svg: Copied from PerformanceTests/PageLoad/svg/files/bamboo_01.svg.
2012-10-24 Zoltan Horvath <zoltan@webkit.org>
REGRESSION(r131982): Skip SVG/SvgNestedUse.html performancetest since it is crashing
https://bugs.webkit.org/show_bug.cgi?id=100262
Unreviewed.
Skip until proper fix.
* Skipped: Add SVG/SvgNestedUse.html
2012-10-23 Zoltan Horvath <zoltan@webkit.org>
Store the loaded file locally in measurePageLoadTime
https://bugs.webkit.org/show_bug.cgi?id=100172
Reviewed by Csaba Osztrogonác.
Store the loaded file as a local variable instead of attaching it to the test object.
Handle chunkSize inside test.run.
* resources/runner.js:
(.):
2012-10-23 Zoltan Horvath <zoltan@webkit.org>
Add measurePageLoadTime function to PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=100029
Reviewed by Ryosuke Niwa.
Adopt chunk based loading logic from html5-full-render.html into measurePageLoadTime function,
this is needed to measure the performance and the memory consumption of the PageLoadTests as
we do it for all other performancetests.
* Parser/html5-full-render.html: Move the behavior to runner.js.
* resources/runner.js:
(.): Add measurePageLoadTime function.
2012-10-22 Adam Barth <abarth@webkit.org>
[V8] Vastly simplify V8GCController's NodeVisitor
https://bugs.webkit.org/show_bug.cgi?id=99884
Reviewed by Kentaro Hara.
Adds some performance tests for the garbage collector.
* Bindings/gc-forest.html: Added.
* Bindings/gc-mini-tree.html: Added.
* Bindings/gc-tree.html: Added.
2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
Bump up the number of iterations of html5-full-render to 5
https://bugs.webkit.org/show_bug.cgi?id=99657
Reviewed by Andreas Kling.
Now that html5-full-render.html runs in less than 15 seconds after r131553,
we can afford to get 5 instead of 2 samples.
* Parser/html5-full-render.html:
2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
Rename PerfTestRunner.runPerSecond to PerfTestRunner.measureRunsPerSecond for consistency
https://bugs.webkit.org/show_bug.cgi?id=99642
Reviewed by Dirk Pranke.
Renamed the method.
* Bindings/append-child.html:
* Bindings/create-element.html:
* Bindings/event-target-wrapper.html:
* Bindings/first-child.html:
* Bindings/get-attribute.html:
* Bindings/get-element-by-id.html:
* Bindings/get-elements-by-tag-name.html:
* Bindings/id-getter.html:
* Bindings/id-setter.html:
* Bindings/insert-before.html:
* Bindings/node-list-access.html:
* Bindings/scroll-top.html:
* Bindings/set-attribute.html:
* Bindings/typed-array-construct-from-array.html:
* Bindings/typed-array-construct-from-same-type.html:
* Bindings/typed-array-construct-from-typed.html:
* Bindings/typed-array-set-from-typed.html:
* Bindings/undefined-first-child.html:
* Bindings/undefined-get-element-by-id.html:
* Bindings/undefined-id-getter.html:
* CSS/CSSPropertySetterGetter.html:
* CSS/CSSPropertyUpdateValue.html:
* CSS/PseudoClassSelectors.html:
* DOM/textarea-dom.html:
* DOM/textarea-edit.html:
* Interactive/resources/window-resize.js:
* Layout/flexbox-column-nowrap.html:
* Layout/flexbox-column-wrap.html:
* Layout/flexbox-row-nowrap.html:
* Layout/flexbox-row-wrap.html:
* Layout/line-layout.html:
* Parser/css-parser-yui.html:
* Parser/innerHTML-setter.html:
* Parser/query-selector-deep.html:
* Parser/query-selector-first.html:
* Parser/query-selector-last.html:
* Parser/simple-url.html:
* Parser/textarea-parsing.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
* SVG/SvgNestedUse.html:
* resources/runner.js:
2012-10-17 Ryosuke Niwa <rniwa@webkit.org>
Performance test should support asynchronous tests
https://bugs.webkit.org/show_bug.cgi?id=95668
Reviewed by Dirk Pranke.
Added PerfTestRunner.prepareToMeasureValuesAsync and PerfTestRunner.measureValueAsync,
and deployed it in Animation/balls.
* Animation/balls.html:
* resources/runner.js:
2012-10-16 Elliott Sprehn <esprehn@chromium.org>
html5-full-render.html test uses substring but meant substr
https://bugs.webkit.org/show_bug.cgi?id=99495
Reviewed by Adam Barth.
This test intended to chunk up the HTML5 spec into chunks of 500k chars, but used
substring(to,from) instead of substr(from,length) so it actually loaded 5x more
content than was in the HTML5 spec.
* Parser/html5-full-render.html:
2012-10-11 James Simonsen <simonjam@chromium.org>
unprefix window.performance.webkitNow()
https://bugs.webkit.org/show_bug.cgi?id=88278
Reviewed by Tony Gentilcore.
* resources/runner.js: Bind to proper object to avoid invalid invocation errors.
2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
Skip Layout/subtree-detaching.html temporarily as it's very noisy and
takes 112s to run on Chromium Mac. This is tracked by the bug 98708.
* Skipped:
2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
Perf. test results page is broken when runs have different sets of tests
https://bugs.webkit.org/show_bug.cgi?id=98691
Reviewed by Daniel Bates.
Add "missing" columns for tests that are missing some runs.
Also fix regressions from the previous patch:
- Make reference run switch work again
- Load jquery plugins from the remote server when the jquery is loaded from the remote server.
* resources/results-template.html:
2012-10-08 Ryosuke Niwa <rniwa@webkit.org>
Perf test pesults page takes forever to load on a machine with a slow Internet connection
https://bugs.webkit.org/show_bug.cgi?id=98561
Reviewed by Ojan Vafai.
Try loading jquery both locally and remotely, and use the same method to load the remaining
jquery plugins when either one succeeds.
* resources/results-template.html:
2012-10-04 Hayato Ito <hayato@chromium.org>
[Refactoring] Introduce a traversal strategy in SelectorChecker
https://bugs.webkit.org/show_bug.cgi?id=97298
Reviewed by Antti Koivisto.
Introduces querySelector() performance tests to check SelectorChecker performance.
* CSS/PseudoClassSelectors.html: Added.
2012-10-03 Philip Rogers <pdr@google.com>
Force GC between PageLoad tests.
https://bugs.webkit.org/show_bug.cgi?id=98203
Reviewed by Ryosuke Niwa.
Previously, our PageLoad PerfTests had multi-modal distributions,
typically with a small cluster at 1-2x the median. This turned out
to be caused by not garbage collecting between tests!
This patch adds a new file, force-gc.html, and loads this file between
PageLoad tests to force a GC. I manually verified that this cleans up
our perf test outliers.
* resources/force-gc.html: Added.
2012-10-03 Julien Chaffraix <jchaffraix@webkit.org>
Add a performance test for subtree detaching
https://bugs.webkit.org/show_bug.cgi?id=98281
Reviewed by Eric Seidel.
The new test tries to stress detaching on a heavy subtree (2 levels deep but with 1,000 nodes per level).
We set display: none on the root and measure the time it takes to update the tree. Note that we will also
measure the time taken by recalcStyle and relayout but I don't think we can avoid that.
* Layout/subtree-detaching.html: Added.
2012-10-02 Ryosuke Niwa <rniwa@webkit.org>
Build fix after r130135. Dromaeo tests only report single memory value,
and computeStatistics should report variance as 0 in such cases.
* resources/runner.js:
2012-10-02 Philip Rogers <pdr@google.com>
Fix PerfTest standard deviation calculation.
https://bugs.webkit.org/show_bug.cgi?id=98115
Reviewed by Ryosuke Niwa.
Previously our standard deviation calculation was incorrect. This patch
updates perftest.py's algorithm to calculate the sample standard deviation
(with Bessel's correction) using Knuth's online algorithm:
http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#Online_algorithm
An existing test has been modified to prove our new results.
This patch also updates runner.js to use Bessel's correction in
its sample standard deviation calculation, which is more accurate
for small sample sizes.
Additionally, runner.js has been modified to not calculate
the 'sum' statistic, which was not very useful.
* resources/runner.js:
(PerfTestRunner.computeStatistics):
2012-10-01 Ryosuke Niwa <rniwa@webkit.org>
PerfTestRunner: Move all functions into the closure and always use double quotation for string literals
https://bugs.webkit.org/show_bug.cgi?id=98093
Reviewed by Ojan Vafai.
Move all methods of PerfTestRunner into the closure that defines it.
Also always use double quotations for string literals for consistency.
* resources/runner.js:
2012-10-01 Ryosuke Niwa <rniwa@webkit.org>
Encapsulate private properties in PerfTestRunner better
https://bugs.webkit.org/show_bug.cgi?id=97833
Reviewed by Ojan Vafai.
This patch moves "private" methods and properties of PerfTestRunner into a closure so that they're
inaccssible from outside. Also catch exceptions from test.run, test.done, and other runner code
to ensure we call notifyDone() even if we broke tests. Otherwise DRT will timeout and we end up
waiting for 10 minutes per each broken test on bots.
* resources/runner.js:
(PerfTestRunner.gc):
(logInDocument): Extracted from PerfTestRunner.log.
(PerfTestRunner.log): Moved.
(logFatalError): Added.
(start): Renamed from PerfTestRunner._start.
(scheduleNextRun): Extracted from PerfTestRunner._runLoop. Also catch any exceptions that happen
in the runner and ignoreWarmUpAndLog so that we don't end up timing out. We call logFatalError in
such cases, which in turn ensures notifyDone() is called.
(ignoreWarmUpAndLog): Renamed from PerfTestRunner._ignoreWarmUpAndLog.
(finish): Extracted from PerfTestRunner._runLoop.
(PerfTestRunner.measureTime): Moved. The initialization of runCount is moved into start().
(measureTimeOnce): Renamed from PerfTestRunner._measureTimeOnce.
(PerfTestRunner.runPerSecond): Moved. Ditto about runCount.
(measureRunsPerSecondOnce): Renamed from PerfTestRunner._measureRunsPerSecondOnce.
(callRunAndMeasureTime): Renamed from PerfTestRunner._perSecondRunnerIterator.
2012-10-01 Florin Malita <fmalita@chromium.org>
Add a performance test for nested <use> elements
https://bugs.webkit.org/show_bug.cgi?id=98047
Reviewed by Ryosuke Niwa.
Currently at ~5 runs per second on my workstation, but should go up significantly (100+)
after landing a fix for https://bugs.webkit.org/show_bug.cgi?id=97905.
* SVG/SvgNestedUse.html: Added.
2012-09-28 Ryosuke Niwa <rniwa@webkit.org>
Add back test.runCount for runPerSecond as it's used by tests in fast/harness/perftests.
* resources/runner.js:
(PerfTestRunner.runPerSecond):
2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
Build fix after r129824.
* DOM/resources/dom-perf.js:
(runBenchmarkSuite):
2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
Remove unused features and reduce code duplications in PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=97852
Reviewed by Kentaro Hara.
Made the following refactoring changes:
- Remove PerfTestRunner.info since it's never used.
- Moved the js heap/malloc related functions up to where they belong.
- Moved the initialization of _callsPerIteration, _test, and -description into _start,
and stopped initializing _runFunction and _doneFunction since both test times now
use _test object.
- Made _measureTimeOnce and _measureRunsPerSecondOnce return the measured value
instead of calling ignoreWarmUpAndLog and _runLoop to share the code; they're now
called in _measureRunsPerSecondOnce.
* resources/runner.js:
(PerfTestRunner.storeHeapResults): Moved.
(PerfTestRunner.getUsedMallocHeap): Moved.
(PerfTestRunner.getUsedJSHeap): Moved.
(PerfTestRunner.getAndPrintMemoryStatistics): Moved.
(PerfTestRunner._scheduleNextMeasurementOrNotifyDone): Renamed from _runLoop. Calls
ignoreWarmUpAndLog and schedules the next call.
(PerfTestRunner._measureTimeOnce): Renamed from _runner.
(PerfTestRunner._start): Renamed from initAndStartLoop.
(PerfTestRunner.measureTime):
(PerfTestRunner.runPerSecond):
(PerfTestRunner._measureRunsPerSecondOnce): Renamed from _measureRunsPerSecondOnce.
(PerfTestRunner._perSecondRunnerIterator):
2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
PerfTestRunner.run should take an object
https://bugs.webkit.org/show_bug.cgi?id=97743
Reviewed by Kentaro Hara.
Rename PerfTestRunner.run to PerfTestRunner.measureTime and make it take an object instead of
5 arguments. Also get rid of PerfTestRunner._loopsPerRun since it's no longer used (it's always 1).
* CSS/StyleSheetInsert.html:
* DOM/resources/dom-perf.js:
* Layout/floats_100_100.html:
* Layout/floats_100_100_nested.html:
* Layout/floats_20_100.html:
* Layout/floats_20_100_nested.html:
* Layout/floats_2_100.html:
* Layout/floats_2_100_nested.html:
* Layout/floats_50_100.html:
* Layout/floats_50_100_nested.html:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* SVG/SvgCubics.html:
* SVG/SvgHitTesting.html:
* resources/runner.js:
2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
PerformanceTests/CSS/StyleSheetInsert.html has a time-dependent non-Gaussian distribution
https://bugs.webkit.org/show_bug.cgi?id=97741
Reviewed by Antti Koivisto.
Reset the content in the iframe in each run so that the runtime from each run follows a normal distribution.
We can cleanup this code once my patch to replace the argument list of run by an object is landed.
* CSS/StyleSheetInsert.html:
2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed. Minor appearance tweaks after r129813.
* resources/results-template.html:
2012-09-27 Ryosuke Niwa <rniwa@webkit.org>
Results page should warn about time-dependent distributions
https://bugs.webkit.org/show_bug.cgi?id=97818
Reviewed by Ojan Vafai.
Add a simple linear regression analysis on results page to detect time-dependent distributions.
We add a warning sign (inline SVG) when the regression gave us a slope of at least 0.01 and a R^2 of at least 0.6.
Also added time-series graphs per run under the bar graphs so that humans can manually inspect them.
A nice follow up would be to add some normality test (e.g. Shapiro-Wilk) to detect bi-modal distributions
but we probably need to restructure the code to run it asynchronously since normality tests are slow.
* resources/results-template.html:
2012-09-26 Ryosuke Niwa <rniwa@webkit.org>
Use runPerSecond in PerformanceTests/Bindings/typed-array* and event-target-wrapper
https://bugs.webkit.org/show_bug.cgi?id=97625
Reviewed by Eric Seidel.
Use PerfTestRunner.runPerSecond instead of PerfTestRunner.run. Also reduce the fixed number of
elements and iterations in these tests by a factor of 10 since runPerSecond can dynamically
adjust the number of function calls.
* Bindings/event-target-wrapper.html:
* Bindings/typed-array-construct-from-array.html:
* Bindings/typed-array-construct-from-same-type.html:
* Bindings/typed-array-construct-from-typed.html:
* Bindings/typed-array-set-from-typed.html:
2012-09-25 Antti Koivisto <antti@apple.com>
Optimize stylesheet insertions
https://bugs.webkit.org/show_bug.cgi?id=97627
Reviewed by Andreas Kling.
Add synthetic performance test for avoiding style recalcs on stylesheet inserts.
* CSS/StyleSheetInsert.html: Added.
2012-09-25 Ryosuke Niwa <rniwa@webkit.org>
Skip Dromaeo/jslib-modify-jquery.html per bug 95376.
It runs out of memory on Chromium port, and it takes unreasonably long time (~5 minutes)
to run on other ports.
* Skipped:
2012-09-20 Ryosuke Niwa <rniwa@webkit.org>
Results page should show indivisual value
https://bugs.webkit.org/show_bug.cgi?id=97178
Reviewed by Tony Chang.
Show indivisual values instead of statistics (min, max, stdev).
* resources/results-template.html:
2012-09-20 Ryosuke Niwa <rniwa@webkit.org>
run-perf-tests should record individual value instead of statistics
https://bugs.webkit.org/show_bug.cgi?id=97155
Reviewed by Hajime Morita.
Report the list of values as "values" so that run-perf-tests can parse them.
* resources/runner.js:
(PerfTestRunner.computeStatistics):
(PerfTestRunner.printStatistics):
2012-09-20 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r129091.
http://trac.webkit.org/changeset/129091
https://bugs.webkit.org/show_bug.cgi?id=97205
It broke perf tests everywhere (Requested by Ossy on #webkit).
* resources/runner.js:
(PerfTestRunner.computeStatistics):
(PerfTestRunner.printStatistics):
2012-09-19 Ryosuke Niwa <rniwa@webkit.org>
run-perf-tests should record indivisual value instead of statistics
https://bugs.webkit.org/show_bug.cgi?id=97155
Reviewed by Hajime Morita.
Report the list of values as "values" so that run-perf-tests can parse them.
* resources/runner.js:
(PerfTestRunner.computeStatistics):
(PerfTestRunner.printStatistics):
2012-09-17 Ryosuke Niwa <rniwa@webkit.org>
Perf test results is incomprehensive
https://bugs.webkit.org/show_bug.cgi?id=94668
Reviewed by Eric Seidel.
Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
For each run and test, we show the mean value with the standard deviation along with the percent difference
against the reference run chosen by the user if the difference is statistically significant; it also indicates
whether the new value is progression or not.
The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
by each column. Time and memory results are separated into two tabs.
* resources/jquery.tablesorter.min.js: Added.
* resources/results-template.html:
2012-09-14 Ryosuke Niwa <rniwa@webkit.org>
Use performance.webkitNow in PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=92826
Reviewed by Eric Seidel.
Use performance.webkitNow with Date.now as a fallback for more accurate time measurements.
* resources/runner.js:
(PerfTestRunner._runner):
(PerfTestRunner._perSecondRunnerIterator):
2012-09-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r128562.
http://trac.webkit.org/changeset/128562
https://bugs.webkit.org/show_bug.cgi?id=96747
It broke perf tests on Qt and Chromium (Requested by Ossy on
#webkit).
* resources/runner.js:
(PerfTestRunner._runner):
(PerfTestRunner._perSecondRunnerIterator):
2012-09-14 Ryosuke Niwa <rniwa@webkit.org>
Use performance.webkitNow in PerfTestRunner
https://bugs.webkit.org/show_bug.cgi?id=92826
Reviewed by Eric Seidel.
Use performance.webkitNow with Date.now as a fallback for more acurate time measurements.
* resources/runner.js:
(PerfTestRunner._runner):
(PerfTestRunner._perSecondRunnerIterator):
2012-08-23 Ilya Tikhonovsky <loislo@chromium.org>
WebInspector: unreviewed single line test fix.
The test has to open profiles panel explicitly because it is creating lazily.
* inspector/heap-snapshot-performance-test.js:
2012-08-15 Scott Graham <scottmg@chromium.org>
Rename window.internals.fastMallocStatistics to mallocStatistics
https://bugs.webkit.org/show_bug.cgi?id=94033
Reviewed by Adam Barth.
* resources/runner.js:
(PerfTestRunner.storeHeapResults):
(PerfTestRunner.getUsedMallocHeap):
(PerfTestRunner.getAndPrintMemoryStatistics):
(PerfTestRunner.initAndStartLoop):
2012-08-10 Ryosuke Niwa <rniwa@webkit.org>
Unreviewed; fix an insanely silly typo.
* resources/results-template.html:
2012-08-09 Ryosuke Niwa <rniwa@webkit.org>
Another build fix after r125178.
* resources/runner.js:
2012-08-09 Zoltan Horvath <zoltan@webkit.org>
Add memory measurement to balls.html and dromaeorunner.js
https://bugs.webkit.org/show_bug.cgi?id=93617
Reviewed by Adam Barth.
Since we added memory measurement support to performance tests we need to modify these tests.
* Animation/balls.html:
* Dromaeo/resources/dromaeorunner.js:
2012-08-09 Zoltan Horvath <zoltan@webkit.org>
JSHeap and FastMallocStatistics based memory measurement for performance-tests
https://bugs.webkit.org/show_bug.cgi?id=90858
Reviewed Ryosuke Niwa.
Measure the memory usage of the performancetests with the help of the windows.memory.usedJSHeapSize
object and the window.internals.fastMallocStatistics() function call.
* resources/runner.js:
(PerfTestRunner.logStatistics):
(PerfTestRunner.printStatistics):
(PerfTestRunner.storeHeapResults):
(PerfTestRunner.getUsedFastMallocHeap):
(PerfTestRunner.getUsedJSHeap):
(PerfTestRunner.getAndPrintMemoryStatistics):
(PerfTestRunner.ignoreWarmUpAndLog):
(PerfTestRunner.initAndStartLoop):
2012-08-08 Benjamin Poulain <benjamin@webkit.org>
Calling internals from the performance test runner prevents manual running
https://bugs.webkit.org/show_bug.cgi?id=93527
Reviewed by Ryosuke Niwa.
Since r125065, it is impossible to run the Performance tests manually. The problem is
"internals" is not defined when running outside the test runner, so the whole script
evaluation fails.
* resources/runner.js: Verify is window.internals is available before invoking something on it.
2012-08-08 Zoltan Horvath <zoltan@webkit.org>
Set access to MemoryInfo enabled for the performance tests
https://bugs.webkit.org/show_bug.cgi?id=92498
Reviewed by Ryosuke Niwa.
We need access to console.memory for the memory measurements.
* resources/runner.js:
2012-08-07 Ryosuke Niwa <rniwa@webkit.org>
run-perf-tests should support --no-show-results
https://bugs.webkit.org/show_bug.cgi?id=93409
Reviewed by Dirk Pranke.
Add a flot as a separate file and load it as an external resource.
Also include scripts as external resources from both local filesystem and webkit.org
so that it continues to work regardless of where you put it.
It breaks when someone else receives the file and save it somewhere and doesn't have
a network connection but that seems like a scenario we don't care that much.
* resources/jquery.flot.min.js: Added.
* resources/results-template.html:
2012-08-06 Ryosuke Niwa <rniwa@webkit.org>
run-webkit-tests should have ability to add description to its JSON output
https://bugs.webkit.org/show_bug.cgi?id=93296
Reviewed by Dirk Pranke.
Parse description and show it with the WebKit revision on the results page. Also use bar graphs
instead of line graphs since we're not depicting the time series here per arv's suggestion.
Finally, add the ability to adjust y-axis between the adjusted value and 0 (plot even doesn't adjust
y-axis automatically now) by a mouse click.
* resources/results-template.html:
2012-08-04 Ryosuke Niwa <rniwa@webkit.org>
Use testRunner instead of layoutTestController in performance tests
https://bugs.webkit.org/show_bug.cgi?id=93184
Reviewed by Adam Barth.
* Animation/balls.html:
* Dromaeo/resources/dromaeorunner.js:
* inspector/console-300-lines.html:
* inspector/inspector-startup-time.html:
* inspector/network-append-30-requests.html.broken:
* inspector/show-panel.html.broken:
* resources/runner.js:
(PerfTestRunner.logInfo):
(PerfTestRunner.initAndStartLoop):
2012-08-02 Arnaud Renevier <a.renevier@sisa.samsung.com>
TypedArray set method is slow when called with another typed array
https://bugs.webkit.org/show_bug.cgi?id=92556
Reviewed by Kenneth Russell.
* Bindings/typed-array-set-from-typed.html: Added.
2012-07-28 Ryosuke Niwa <rniwa@webkit.org>
run-perf-tests should generate a results page
https://bugs.webkit.org/show_bug.cgi?id=92575
Reviewed by Eric Seidel.
Add a results page template. This page includes flot and flot.fillbetween.
jQuery and the json that contains test results are injected by run-perf-tests.
* resources/results-template.html: Added.
2012-07-27 Arnaud Renevier <a.renevier@sisa.samsung.com>
use createUninitialized when creating TypedArray from another array
https://bugs.webkit.org/show_bug.cgi?id=92518
Reviewed by Kenneth Russell.
* Bindings/typed-array-construct-from-array.html: Added.
2012-07-27 Ryosuke Niwa <rniwa@webkit.org>
Add more Russian replay performance tests
https://bugs.webkit.org/show_bug.cgi?id=92462
Reviewed by Tony Chang.
Add more Russian sites as suggested by loislo.
* Replay/Russian/lenta.ru.replay: Added.
* Replay/Russian/www.ixbt.com.replay: Added.
* Replay/Russian/www.kp.ru.replay: Added.
* Replay/Russian/www.liveinternet.ru.replay: Added.
* Replay/Russian/www.pravda.ru.replay: Added.
2012-07-26 Arnaud Renevier <a.renevier@sisa.samsung.com>
constructing TypedArray from another TypedArray is slow
https://bugs.webkit.org/show_bug.cgi?id=90838
Reviewed by Kenneth Russell.
* Bindings/typed-array-construct-from-same-type.html: Added.
* Bindings/typed-array-construct-from-typed.html: Added.
2012-07-25 Ryosuke Niwa <rniwa@webkit.org>
Import more replay performance tests from Mozilla's Tp5 test suite
https://bugs.webkit.org/show_bug.cgi?id=92229
Reviewed by Andreas Kling.
Add more replay tests based on Mozilla's Tp5 test suite [1]. Unfortunately,
we cannot import all URLs because some of them are not archived on archive.org
and others do not replay well on web-page-replay. Nonethless, we're still adding
60+ URLs in this patch.
[1] http://people.mozilla.org/~jmaher/tp5.manifest
* Replay/Chinese: Added.
* Replay/Chinese/chinaz.com.replay: Added.
* Replay/Chinese/www.163.com.replay: Added.
* Replay/Chinese/www.alipay.com.replay: Added.
* Replay/Chinese/www.baidu.com.replay: Added.
* Replay/Chinese/www.csdn.net.replay: Added.
* Replay/Chinese/www.douban.com.replay: Added.
* Replay/Chinese/www.hao123.com.replay: Added.
* Replay/Chinese/www.xinhuanet.com.replay: Added.
* Replay/Chinese/www.xunlei.com.replay: Added.
* Replay/Chinese/www.youku.com.replay: Added.
* Replay/English: Added.
* Replay/English/beatonna.livejournal.com.replay: Added.
* Replay/English/cakewrecks.blogspot.com.replay: Added.
* Replay/English/chemistry.about.com.replay: Added.
* Replay/English/digg.com.replay: Added.
* Replay/English/en.wikipedia.org-rorschach_test.replay: Added.
* Replay/English/icanhascheezburger.com.replay: Added.
* Replay/English/imgur.com-gallery.replay: Added.
* Replay/English/online.wsj.com.replay: Added.
* Replay/English/stockoverflow.com-best-comment.replay: Added.
* Replay/English/www.alibaba.com.replay: Added.
* Replay/English/www.amazon.com-kindle.replay: Added.
* Replay/English/www.apple.com.replay: Added.
* Replay/English/www.cnet.com.replay: Added.
* Replay/English/www.dailymotion.com.replay: Added.
* Replay/English/www.ehow.com-prevent-fire.replay: Added.
* Replay/English/www.filestube.com-amy-adams.replay: Added.
* Replay/English/www.foxnews.replay: Added.
* Replay/English/www.huffingtonpost.com.replay: Added.
* Replay/English/www.imdb.com-twilight.replay: Added.
* Replay/English/www.mozilla.com-all-order.replay: Added.
* Replay/English/www.php.net.replay: Added.
* Replay/English/www.reddit.com.replay: Added.
* Replay/English/www.telegraph.co.uk.replay: Added.
* Replay/English/www.w3.org-htmlcss.replay: Added.
* Replay/English/www.w3schools.com-html.replay: Added.
* Replay/English/www.youtube.com-music.replay: Added.
* Replay/French: Added.
* Replay/French/www.orange.fr.replay: Added.
* Replay/German: Added.
* Replay/Italian: Added.
* Replay/Italian/www.repubblica.it.replay: Added.
* Replay/Japanese/entameblog.seesaa.net.replay: Added.
* Replay/Japanese/www.hatena.ne.jp.replay: Added.
* Replay/Japanese/www.nicovideo.jp.replay: Added.
* Replay/Korean: Added.
* Replay/Korean/www.naver.com.replay: Added.
* Replay/Persian: Added.
* Replay/Persian/blogfa.com.replay: Added.
* Replay/Polish: Added.
* Replay/Polish/www.wp.pl.replay: Added.
* Replay/Portuguese: Added.
* Replay/Portuguese/www.uol.com.br.replay: Added.
* Replay/Russian: Added.
* Replay/Russian/vkontakte.ru-help.replay: Added.
* Replay/Russian/www.rambler.ru.replay: Added.
* Replay/Russian/www.ucoz.ru.replay: Added.
* Replay/Russian/www.yandex.ru.replay: Added.
* Replay/Spanish: Added.
* Replay/Spanish/www.taringa.net.replay: Added.
2012-07-24 Ryosuke Niwa <rniwa@webkit.org>
Add some Japanese and Swedish websites to replay tests
https://bugs.webkit.org/show_bug.cgi?id=92076
Reviewed by Andreas Kling.
Added new replay tests as follows.
* Replay/Japanese: Added.
* Replay/Japanese/2ch.net-newsplus.replay: Added.
* Replay/Japanese/ja.wikipedia.org.replay: Added.
* Replay/Japanese/www.livedoor.com.replay: Added.
* Replay/Japanese/www.rakuten.co.jp.replay: Added.
* Replay/Japanese/www.yahoo.co.jp.replay: Added.
* Replay/Swedish: Added.
* Replay/Swedish/www.flashback.se.replay: Added.
* Replay/Swedish/www.tradera.com.replay: Added.
* Replay/www.techcrunch.com.replay: Added.
2012-07-18 MORITA Hajime <morrita@google.com>
Add window resize benchmark
https://bugs.webkit.org/show_bug.cgi?id=91070
Reviewed by Ryosuke Niwa.
Added window-resize.html which exercise html5.html. This test
resizes the window and forces re-layout repeatedly.
* Interactive/resources/window-resize.js: Added.
* Interactive/window-resize.html: Added.
* Parser/resources/html5.html: Modified to inject driver scripts.
2012-07-11 Philip Rogers <pdr@google.com>
Add a performance test for hit testing in SVG
https://bugs.webkit.org/show_bug.cgi?id=90811
Reviewed by Ryosuke Niwa.
The shape rendering code is changing a lot and I'd like a performance test to
make sure we don't regress, and to track our improvements.
Performance results in my Linux desktop:
RESULT SVG: SvgHitTesting= 105.0 ms
median= 103.5 ms, stdev= 4.60434577329 ms, min= 101.0 ms, max= 116.0 ms
RESULT SVG: SvgHitTesting= 97.8 ms
median= 96.5 ms, stdev= 2.67581763205 ms, min= 95.0 ms, max= 102.0 ms
RESULT SVG: SvgHitTesting= 104.3 ms
median= 104.0 ms, stdev= 1.41774468788 ms, min= 102.0 ms, max= 107.0 ms
RESULT SVG: SvgHitTesting= 103.6 ms
median= 103.5 ms, stdev= 1.2 ms, min= 102.0 ms, max= 106.0 ms
* SVG/SvgHitTesting.html: Added.
2012-07-03 Jan Keromnes <janx@linux.com>
Web Inspector: WebInspector.TextViewer should be renamed WebInspector.TextEditor
https://bugs.webkit.org/show_bug.cgi?id=89939
Reviewed by Vsevolod Vlasov.
* inspector/first-open-scripts.html.broken:
2012-06-22 Philip Rogers <pdr@google.com>
Make SvgCubics performance test more consistent
https://bugs.webkit.org/show_bug.cgi?id=89778
Reviewed by Ryosuke Niwa.
Previously this test ran twice for each iteration, but this led to inconsistent repaints.
This change updates the test to only run once per iteration, and adds even more cubics
so that the test runs consistently in the 80ms range on my Linux desktop.
Performance results on my desktop:
RESULT SVG: SvgCubics= 80.5 ms
median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms
RESULT SVG: SvgCubics= 80.1 ms
median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms
RESULT SVG: SvgCubics= 81.45 ms
median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms
RESULT SVG: SvgCubics= 78.9 ms
median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms
* SVG/SvgCubics.html:
2012-06-22 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: partially instrument DOM Tree native memory.
https://bugs.webkit.org/show_bug.cgi?id=89568
This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage.
Reviewed by Yury Semikhatsky.
* inspector/native-memory-snapshot.html:
2012-06-21 Kentaro Hara <haraken@chromium.org>
Add a perf-test for innerHTML setter for a large DOM tree
https://bugs.webkit.org/show_bug.cgi?id=89723
Reviewed by Ryosuke Niwa.
We want a benchmark for innerHTML setter for the following reason:
- innerHTML setter is widely used in the real world.
- I am planning to optimize innerHTML setter in the near future.
- I want to use the innerHTML setter benchmark for the patch of bug 88834.
Performance results in my Linux desktop:
RESULT Parser: innerHTML-setter= 289.782649995 runs/s
median= 290.046269741 runs/s, stdev= 1.06575112224 runs/s, min= 286.831812256 runs/s, max= 291.005291005 runs/s
RESULT Parser: innerHTML-setter= 289.020706132 runs/s
median= 289.093298292 runs/s, stdev= 0.985203313093 runs/s, min= 286.831812256 runs/s, max= 290.620871863 runs/s
RESULT Parser: innerHTML-setter= 288.912051701 runs/s
median= 291.005291005 runs/s, stdev= 3.65241325588 runs/s, min= 283.505154639 runs/s, max= 292.553191489 runs/s
RESULT Parser: innerHTML-setter= 288.644186666 runs/s
median= 288.713910761 runs/s, stdev= 1.31889053717 runs/s, min= 286.085825748 runs/s, max= 290.620871863 runs/s
RESULT Parser: innerHTML-setter= 288.698714577 runs/s
median= 288.713910761 runs/s, stdev= 1.03938198202 runs/s, min= 286.458333333 runs/s, max= 290.237467018 runs/s
* Parser/innerHTML-setter.html: Added.
2012-06-20 Philip Rogers <pdr@google.com>
Add a performance test for paths in SVG
https://bugs.webkit.org/show_bug.cgi?id=89547
Reviewed by Ryosuke Niwa.
This change adds the first performance test for SVG paths.
In the test we modify complex cubic paths in several ways, testing:
transformations, clipping, d attribute changes, stroke properties,
text on a path, and opacity.
Sample test results on my Linux desktop:
RESULT SVG: SvgCubics= 68.85 ms
median= 69.5 ms, stdev= 4.70398767005 ms, min= 56.0 ms, max= 75.0 ms
RESULT SVG: SvgCubics= 68.4 ms
median= 69.0 ms, stdev= 3.51283361405 ms, min= 59.0 ms, max= 74.0 ms
RESULT SVG: SvgCubics= 66.95 ms
median= 67.0 ms, stdev= 3.4420197559 ms, min= 59.0 ms, max= 74.0 ms
RESULT SVG: SvgCubics= 70.2 ms
median= 71.5 ms, stdev= 3.23419232576 ms, min= 63.0 ms, max= 74.0 ms
* SVG: Added.
* SVG/SvgCubics.html: Added.
2012-06-20 Tom Zakrajsek <tomz@codeaurora.org>
Import themaninblue.com/experiment/AnimationBenchmark/ as performance tests
https://bugs.webkit.org/show_bug.cgi?id=78789
Reviewed by Ryosuke Niwa.
Added PerfTestRunner fixture around it.
* Animation/balls.html: Added.
2012-06-18 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: native memory snapshot performance and coverage test implementation.
https://bugs.webkit.org/show_bug.cgi?id=89363
We have to track the performance of MemoryAgent.getProcessMemoryDistribution.
Also this test will work as a burn down chart for Unknown memory metric.
Reviewed by Pavel Feldman.
* inspector/native-memory-snapshot.html: Added.
* inspector/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.reportSize):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):
2012-06-05 Alexei Filippov <alexeif@chromium.org>
Web Inspector: serialize edge counts instead of indexes in heap snapshot
https://bugs.webkit.org/show_bug.cgi?id=88324
The serialized node structure currently holds an index
of its first containment edge in the edges array.
The index can be quite big (up to 7 digits for large snapshots).
The patch changes the serialization format to pass
node containment edge count instead. For most nodes the count
is just a single digit number.
This reduces serialized snapshot size and therefore its transfer time.
Reviewed by Yury Semikhatsky.
* inspector/heap-snapshot-performance-test.js:
2012-06-04 Alexei Filippov <alexeif@chromium.org>
Web Inspector: speed up _calculateRetainedSizes function
https://bugs.webkit.org/show_bug.cgi?id=87863
Reviewed by Yury Semikhatsky.
* inspector/heap-snapshot-advanced.html: Added.
* inspector/heap-snapshot-performance-test.js: Copied from PerformanceTests/inspector/heap-snapshot.html.
(test.performanceTest.step0):
(test.performanceTest.step1):
(test.performanceTest.step2):
(test.performanceTest.cleanup):
(test.performanceTest.done):
(test.performanceTest):
(test):
* inspector/heap-snapshot.html:
2012-06-03 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a benchmark of querySelector() for an element that appears in the depths in the document
https://bugs.webkit.org/show_bug.cgi?id=88202
Reviewed by Ryosuke Niwa.
query-selector-first.html tests querySelector() for an element
that appears at the head of the document. query-selector-last.html
tests querySelector() for an element that appears at the tail of
the document. In addition, we want a benchmark of querySelector()
for an element that appears in the depths in the document.
Test results in my Linux desktop:
RESULT Parser: query-selector-deep= 460.776980611 runs/s
median= 460.947503201 runs/s, stdev= 1.72274941942 runs/s, min= 455.696202532 runs/s, max= 463.32046332 runs/s
RESULT Parser: query-selector-deep= 458.925050915 runs/s
median= 459.183673469 runs/s, stdev= 1.47930124139 runs/s, min= 454.545454545 runs/s, max= 460.947503201 runs/s
RESULT Parser: query-selector-deep= 461.866981491 runs/s
median= 461.538461538 runs/s, stdev= 1.14613123359 runs/s, min= 459.183673469 runs/s, max= 463.917525773 runs/s
RESULT Parser: query-selector-deep= 453.922010788 runs/s
median= 454.258855898 runs/s, stdev= 1.77279123317 runs/s, min= 447.204968944 runs/s, max= 455.696202532 runs/s
RESULT Parser: query-selector-deep= 454.666321221 runs/s
median= 454.545454545 runs/s, stdev= 1.65775667417 runs/s, min= 451.127819549 runs/s, max= 456.852791878 runs/s
* Parser/query-selector-deep.html: Added.
2012-06-03 Kentaro Hara <haraken@chromium.org>
[perf-test] Make query-selector-last.html more realistic
https://bugs.webkit.org/show_bug.cgi?id=88203
Reviewed by Ryosuke Niwa.
query-selector-last.html tests querySelector() for an element
that appears after 1000 div elements, all of which have the same
id and class. To test the performance of querySelector() under
a lot of ids and classes, we should make the ids and classes of
the 1000 elements different.
This patch degrades the performance of query-selector-last.html
by 3.6%.
[Before]
RESULT Parser: query-selector-last= 476.382274152 runs/s
median= 476.821192053 runs/s, stdev= 1.14578875814 runs/s, min= 474.308300395 runs/s, max= 478.087649402 runs/s
RESULT Parser: query-selector-last= 478.423061861 runs/s
median= 478.723404255 runs/s, stdev= 1.54876867255 runs/s, min= 473.684210526 runs/s, max= 481.347773767 runs/s
RESULT Parser: query-selector-last= 479.849287174 runs/s
median= 480.0 runs/s, stdev= 1.69849752498 runs/s, min= 475.561426684 runs/s, max= 481.927710843 runs/s
RESULT Parser: query-selector-last= 476.765438846 runs/s
median= 477.453580902 runs/s, stdev= 1.8724488664 runs/s, min= 471.821756225 runs/s, max= 478.723404255 runs/s
RESULT Parser: query-selector-last= 481.715340644 runs/s
median= 481.637742305 runs/s, stdev= 1.81446361145 runs/s, min= 475.561426684 runs/s, max= 483.675937122 runs/s
[After]
RESULT Parser: query-selector-last= 458.866623582 runs/s
median= 459.183673469 runs/s, stdev= 1.48881464737 runs/s, min= 453.972257251 runs/s, max= 460.947503201 runs/s
RESULT Parser: query-selector-last= 460.363532897 runs/s
median= 460.358056266 runs/s, stdev= 1.58512056995 runs/s, min= 456.273764259 runs/s, max= 462.130937099 runs/s
RESULT Parser: query-selector-last= 457.727448451 runs/s
median= 458.015267176 runs/s, stdev= 1.23681915516 runs/s, min= 453.972257251 runs/s, max= 459.183673469 runs/s
RESULT Parser: query-selector-last= 465.57336853 runs/s
median= 465.717981889 runs/s, stdev= 1.6616925374 runs/s, min= 460.947503201 runs/s, max= 467.532467532 runs/s
RESULT Parser: query-selector-last= 459.836252019 runs/s
median= 459.770114943 runs/s, stdev= 1.84485630505 runs/s, min= 455.696202532 runs/s, max= 462.724935733 runs/s
* Parser/query-selector-last.html:
2012-06-01 Ryosuke Niwa <rniwa@webkit.org>
Add public page loading performance tests using web-page-replay
https://bugs.webkit.org/show_bug.cgi?id=84008
Reviewed by Dirk Pranke.
Add replay tests for google.com and youtube.com as examples.
* Replay: Added.
* Replay/www.google.com.replay: Added.
* Replay/www.youtube.com.replay: Added.
2012-05-30 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a benchmark for querySelector()
https://bugs.webkit.org/show_bug.cgi?id=87742
Reviewed by Ryosuke Niwa.
Now I am optimizing querySelector() (bug 87625).
This patch adds a performance test for querySelector().
query-selector-first.html queries an element that appears
at the head of the document. On the other hand,
query-selector-last.html queries an element that appears
at the tail of the document.
Test results in my desktop:
[query-selector-first.html]
RESULT Parser: query-selector-first= 252.339803014 runs/s
median= 253.646265594 runs/s, stdev= 2.32610873209 runs/s, min= 248.138957816 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 252.688468897 runs/s
median= 252.684876579 runs/s, stdev= 3.60008778708 runs/s, min= 246.002460025 runs/s, max= 258.397932817 runs/s
RESULT Parser: query-selector-first= 253.466019656 runs/s
median= 254.129606099 runs/s, stdev= 1.78002675664 runs/s, min= 247.831474597 runs/s, max= 254.777070064 runs/s
RESULT Parser: query-selector-first= 256.245078189 runs/s
median= 257.06940874 runs/s, stdev= 2.84722072201 runs/s, min= 249.687890137 runs/s, max= 259.74025974 runs/s
RESULT Parser: query-selector-first= 252.203100497 runs/s
median= 252.047989175 runs/s, stdev= 1.75233446036 runs/s, min= 248.138957816 runs/s, max= 255.427841635 runs/s
[query-selector-last.html]
RESULT Parser: query-selector-last= 356.009616076 runs/s
median= 355.781448539 runs/s, stdev= 0.841519086864 runs/s, min= 354.430379747 runs/s, max= 358.056265985 runs/s
RESULT Parser: query-selector-last= 360.735271001 runs/s
median= 361.057532424 runs/s, stdev= 1.12253219867 runs/s, min= 358.514724712 runs/s, max= 362.225097025 runs/s
RESULT Parser: query-selector-last= 359.598592463 runs/s
median= 359.435173299 runs/s, stdev= 0.816538258728 runs/s, min= 358.056265985 runs/s, max= 360.824742268 runs/s
RESULT Parser: query-selector-last= 357.260651715 runs/s
median= 357.598978289 runs/s, stdev= 1.17393159885 runs/s, min= 353.982300885 runs/s, max= 358.974358974 runs/s
RESULT Parser: query-selector-last= 351.696240713 runs/s
median= 351.980025916 runs/s, stdev= 1.14200564038 runs/s, min= 348.692403487 runs/s, max= 353.535353535 runs/s
* Parser/query-selector-first.html: Added.
* Parser/query-selector-last.html: Added.
2012-05-25 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: HeapSnapshot: introduce performance counter for HeapSnapshotConstructorsDataGrid._aggregatesReceived method.
https://bugs.webkit.org/show_bug.cgi?id=87393
Reviewed by Yury Semikhatsky.
* inspector/heap-snapshot.html:
2012-05-25 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: HeapProfiler's perf test: each N-th run pushes the run results N-th times.
https://bugs.webkit.org/show_bug.cgi?id=87476
The time tracking wrappers were attaching on each run.
Reviewed by Yury Semikhatsky.
* inspector/heap-snapshot.html:
2012-05-22 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: HeapProfiler: upstream retainedSize calculation.
https://bugs.webkit.org/show_bug.cgi?id=87107
This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
After that we will be able to drop retainedSize field from the snapshot serialized data.
See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
Reviewed by Yury Semikhatsky.
* inspector/heap-snapshot.html: add counter for the _calculateRetainedSize method.
2012-05-21 Kent Tamura <tkent@chromium.org>
Add performance tests for <textarea>
https://bugs.webkit.org/show_bug.cgi?id=86994
Reviewed by Ryosuke Niwa.
* DOM/textarea-dom.html: Added.
* DOM/textarea-edit.html: Added.
* Parser/textarea-parsing.html: Added.
2012-05-18 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: upstream build dominators tree procedure from v8.
https://bugs.webkit.org/show_bug.cgi?id=86640
The idea is to reduce transfer size and move all the post-processing steps to the front-end.
The JS implementation is ~1.5 times slower.
Reviewed by Yury Semikhatsky.
Covered by existing tests and performance tests.
* inspector/heap-snapshot.html:
2012-05-18 Kentaro Hara <haraken@chromium.org>
[perf-test] Remove Bindings/dom-attributes.html
https://bugs.webkit.org/show_bug.cgi?id=86820
Reviewed by Ryosuke Niwa.
Bindings/dom-attributes.html is just a collection of random
DOM attributes and methods. Now we've added more reasonable
micro benchmarks by classifying DOM binding call paths, we
can remove Bindings/dom-attributes.html.
* Bindings/dom-attributes.html: Removed.
2012-05-18 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a binding benchmark for getElementById() for an undefined id
https://bugs.webkit.org/show_bug.cgi?id=86812
Reviewed by Ryosuke Niwa.
We should remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
This patch adds a benchmark for document.getElementById() for an undefined id.
This benchmark covers 'getElementById (not in document)' in Dromaeo/dom-query.html,
and other Node-query methods that return a null.'
(Note: This benchmark is slower than document.getElementById() for a defined id.
We will fix the performance issue soon.)
Test results in my Linux desktop:
RESULT Bindings: undefined-get-element-by-id= 271.945751345 runs/s
median= 273.122389532 runs/s, stdev= 6.78219237299 runs/s, min= 257.4002574 runs/s, max= 281.690140845 runs/s
RESULT Bindings: undefined-get-element-by-id= 269.105872408 runs/s
median= 268.948655257 runs/s, stdev= 5.73707323755 runs/s, min= 257.4002574 runs/s, max= 278.128950695 runs/s
RESULT Bindings: undefined-get-element-by-id= 269.987513372 runs/s
median= 272.952853598 runs/s, stdev= 5.30252336078 runs/s, min= 255.754475703 runs/s, max= 273.97260274 runs/s
RESULT Bindings: undefined-get-element-by-id= 270.169625901 runs/s
median= 271.604938272 runs/s, stdev= 5.29502391906 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
RESULT Bindings: undefined-get-element-by-id= 269.054631422 runs/s
median= 267.966292802 runs/s, stdev= 6.27197240579 runs/s, min= 258.064516129 runs/s, max= 278.481012658 runs/s
* Bindings/undefined-get-element-by-id.html: Added.
2012-05-18 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a binding benchmark for getElementsByTagName()
https://bugs.webkit.org/show_bug.cgi?id=86810
Reviewed by Ryosuke Niwa.
We should remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
This patch adds a benchmark for document.getElementsByTagName().
This benchmark covers 'getElementsByTagName (not in document)',
'getElementsByTagName', 'getElementsByName (not in document)'
and 'getElementsByName' in Dromaeo/dom-query.html, and other DOM
methods that return a NodeList.
Test results in my Linux desktop:
RESULT Bindings: get-elements-by-tag-name= 364.542328875 runs/s
median= 366.972477064 runs/s, stdev= 5.25387955333 runs/s, min= 351.317440402 runs/s, max= 368.421052632 runs/s
RESULT Bindings: get-elements-by-tag-name= 364.341569369 runs/s
median= 366.492146597 runs/s, stdev= 4.867374197 runs/s, min= 352.644836272 runs/s, max= 367.936925099 runs/s
RESULT Bindings: get-elements-by-tag-name= 363.924242967 runs/s
median= 366.013071895 runs/s, stdev= 5.16768212289 runs/s, min= 351.317440402 runs/s, max= 367.936925099 runs/s
RESULT Bindings: get-elements-by-tag-name= 365.332594438 runs/s
median= 367.454068241 runs/s, stdev= 6.17046918572 runs/s, min= 350.0 runs/s, max= 370.37037037 runs/s
RESULT Bindings: get-elements-by-tag-name= 363.999514324 runs/s
median= 366.492146597 runs/s, stdev= 5.31235674905 runs/s, min= 350.877192982 runs/s, max= 368.421052632 runs/s
* Bindings/get-elements-by-tag-name.html: Added.
2012-05-18 Kentaro Hara <haraken@chromium.org>
[perf-test] Add 7 micro benchmarks for DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=86816
Reviewed by Ryosuke Niwa.
We should remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
This patch adds seven micro benchmarks for DOM bindings.
id-getter.html covers 'element.property' in Dromaeo/dom-attr.html,
'innerHTML' in Dromaeo/dom-modify.html, and other DOM attributes that
return a String.
id-setter.html covers 'element.property = value' in Dromaeo/dom-attr.html,
and other DOM attributes that sets a String.
undefined-id-getter.html covers undefined DOM attributes that return an empty String.
append-child.html covers 'appendChild' and 'removeChild' in Dromaeo/dom-modify.html.
insert-before.html covers 'insertBefore' in Dromaeo/dom-modify.html and replaceChild().
create-element.html covers 'createElement', 'createTextNode' and 'cloneNode'
in Dromaeo/dom-modify.html, and other DOM methods that return a new Node object.
node-list-access.html covers 'childNodes' in Dromaeo/dom-traverse.html,
and other DOM attributes that access NodeList.
Test results in my Linux desktop:
[id-getter]
RESULT Bindings: id-getter= 550.517821097 runs/s
median= 550.688360451 runs/s, stdev= 0.970723739106 runs/s, min= 548.628428928 runs/s, max= 552.070263488 runs/s
RESULT Bindings: id-getter= 550.655839847 runs/s
median= 550.688360451 runs/s, stdev= 1.03312821884 runs/s, min= 549.313358302 runs/s, max= 552.070263488 runs/s
RESULT Bindings: id-getter= 550.277753355 runs/s
median= 550.344180225 runs/s, stdev= 1.19960683464 runs/s, min= 547.945205479 runs/s, max= 552.070263488 runs/s
RESULT Bindings: id-getter= 550.072271009 runs/s
median= 550.344180225 runs/s, stdev= 1.38925152131 runs/s, min= 547.263681592 runs/s, max= 552.070263488 runs/s
RESULT Bindings: id-getter= 548.802050235 runs/s
median= 548.628428928 runs/s, stdev= 1.18244513683 runs/s, min= 545.905707196 runs/s, max= 550.688360451 runs/s
[id-setter]
RESULT Bindings: id-setter= 211.370591663 runs/s
median= 210.803689065 runs/s, stdev= 1.4555795889 runs/s, min= 209.973753281 runs/s, max= 214.285714286 runs/s
RESULT Bindings: id-setter= 215.439081352 runs/s
median= 214.797136038 runs/s, stdev= 1.50920388121 runs/s, min= 213.049267643 runs/s, max= 218.446601942 runs/s
RESULT Bindings: id-setter= 216.721698466 runs/s
median= 215.956886352 runs/s, stdev= 1.54090749644 runs/s, min= 214.285714286 runs/s, max= 219.78021978 runs/s
RESULT Bindings: id-setter= 216.343019087 runs/s
median= 215.827338129 runs/s, stdev= 1.46619894553 runs/s, min= 215.053763441 runs/s, max= 218.97810219 runs/s
RESULT Bindings: id-setter= 216.799288017 runs/s
median= 215.956886352 runs/s, stdev= 1.49100776978 runs/s, min= 215.311004785 runs/s, max= 219.78021978 runs/s
[undefined-id-getter]
RESULT Bindings: undefined-id-getter= 494.104255241 runs/s
median= 494.132368875 runs/s, stdev= 1.13092821109 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
RESULT Bindings: undefined-id-getter= 493.921802916 runs/s
median= 493.827160494 runs/s, stdev= 1.25097443119 runs/s, min= 490.196078431 runs/s, max= 495.662949195 runs/s
RESULT Bindings: undefined-id-getter= 491.976485667 runs/s
median= 492.004920049 runs/s, stdev= 0.947090576896 runs/s, min= 490.196078431 runs/s, max= 493.827160494 runs/s
RESULT Bindings: undefined-id-getter= 491.987710185 runs/s
median= 494.132368875 runs/s, stdev= 8.66602543327 runs/s, min= 454.545454545 runs/s, max= 495.662949195 runs/s
RESULT Bindings: undefined-id-getter= 494.195515847 runs/s
median= 494.437577256 runs/s, stdev= 1.06135681702 runs/s, min= 490.797546012 runs/s, max= 495.662949195 runs/s
[append-child]
RESULT Bindings: append-child= 260.628237026 runs/s
median= 260.926399352 runs/s, stdev= 2.55231060598 runs/s, min= 256.739409499 runs/s, max= 265.604249668 runs/s
RESULT Bindings: append-child= 280.796193436 runs/s
median= 280.791435348 runs/s, stdev= 2.53961321867 runs/s, min= 277.427490542 runs/s, max= 286.085825748 runs/s
RESULT Bindings: append-child= 279.856209714 runs/s
median= 280.25477707 runs/s, stdev= 2.85447647301 runs/s, min= 275.344180225 runs/s, max= 284.237726098 runs/s
RESULT Bindings: append-child= 280.834502714 runs/s
median= 280.25477707 runs/s, stdev= 2.67738046429 runs/s, min= 277.427490542 runs/s, max= 287.206266319 runs/s
RESULT Bindings: append-child= 274.723872106 runs/s
median= 273.291925466 runs/s, stdev= 3.03671746706 runs/s, min= 272.614622057 runs/s, max= 282.413350449 runs/s
[insert-before]
RESULT Bindings: insert-before= 180.986913006 runs/s
median= 180.878552972 runs/s, stdev= 0.758038687299 runs/s, min= 180.18018018 runs/s, max= 183.968462549 runs/s
RESULT Bindings: insert-before= 186.339916144 runs/s
median= 186.170212766 runs/s, stdev= 0.869022097127 runs/s, min= 185.676392573 runs/s, max= 189.798339265 runs/s
RESULT Bindings: insert-before= 189.45344838 runs/s
median= 189.349112426 runs/s, stdev= 0.811854866567 runs/s, min= 187.79342723 runs/s, max= 192.539109507 runs/s
RESULT Bindings: insert-before= 189.363295991 runs/s
median= 189.349112426 runs/s, stdev= 0.75387713097 runs/s, min= 188.014101058 runs/s, max= 192.076830732 runs/s
RESULT Bindings: insert-before= 189.252041642 runs/s
median= 189.349112426 runs/s, stdev= 0.840447225363 runs/s, min= 187.573270809 runs/s, max= 192.076830732 runs/s
[create-element]
RESULT Bindings: create-element= 280.675830077 runs/s
median= 280.701824914 runs/s, stdev= 0.788606343054 runs/s, min= 279.441117764 runs/s, max= 282.542885974 runs/s
RESULT Bindings: create-element= 276.427631436 runs/s
median= 277.227722772 runs/s, stdev= 3.39874667549 runs/s, min= 262.417994377 runs/s, max= 279.162512463 runs/s
RESULT Bindings: create-element= 277.156894411 runs/s
median= 277.227722772 runs/s, stdev= 1.13255119226 runs/s, min= 274.914089347 runs/s, max= 278.884462151 runs/s
RESULT Bindings: create-element= 278.066825356 runs/s
median= 278.191822254 runs/s, stdev= 0.686497782792 runs/s, min= 276.953511375 runs/s, max= 279.162512463 runs/s
RESULT Bindings: create-element= 276.431538109 runs/s
median= 276.406712734 runs/s, stdev= 0.759593662298 runs/s, min= 275.229357798 runs/s, max= 278.053624628 runs/s
[node-list-access]
RESULT Bindings: node-list-access= 222.747504073 runs/s
median= 222.772277228 runs/s, stdev= 0.789027527555 runs/s, min= 221.674876847 runs/s, max= 224.159402242 runs/s
RESULT Bindings: node-list-access= 220.722448287 runs/s
median= 221.266217576 runs/s, stdev= 1.65463497875 runs/s, min= 217.391304348 runs/s, max= 222.222222222 runs/s
RESULT Bindings: node-list-access= 222.195870443 runs/s
median= 222.222222222 runs/s, stdev= 0.489709262091 runs/s, min= 221.13022113 runs/s, max= 223.048327138 runs/s
RESULT Bindings: node-list-access= 221.431121677 runs/s
median= 221.538545435 runs/s, stdev= 0.608292116087 runs/s, min= 220.048899756 runs/s, max= 222.772277228 runs/s
RESULT Bindings: node-list-access= 219.001367135 runs/s
median= 221.538545435 runs/s, stdev= 4.65773933007 runs/s, min= 209.973753281 runs/s, max= 222.496909765 runs/s
* Bindings/append-child.html: Added.
* Bindings/create-element.html: Added.
* Bindings/id-getter.html: Added.
* Bindings/id-setter.html: Added.
* Bindings/insert-before.html: Added.
* Bindings/node-list-access.html: Added.
* Bindings/undefined-id-getter.html: Added.
2012-05-18 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a binding benchmark for div.setAttribute()
https://bugs.webkit.org/show_bug.cgi?id=86815
Reviewed by Ryosuke Niwa.
We should remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
This patch adds a benchmark for div.setAttribute(). This benchmark
covers 'setAttribute' in Dromaeo/dom-attr.html and other DOM methods
that return an undefined.
Test results in my Linux desktop:
RESULT Bindings: set-attribute= 793.745073252 runs/s
median= 791.589665765 runs/s, stdev= 6.00467159709 runs/s, min= 785.27607362 runs/s, max= 808.080808081 runs/s
RESULT Bindings: set-attribute= 790.858444164 runs/s
median= 787.918921436 runs/s, stdev= 7.86264953655 runs/s, min= 780.234070221 runs/s, max= 806.04534005 runs/s
RESULT Bindings: set-attribute= 787.277571417 runs/s
median= 784.31372549 runs/s, stdev= 7.45363346657 runs/s, min= 778.588807786 runs/s, max= 804.020100503 runs/s
RESULT Bindings: set-attribute= 782.401393791 runs/s
median= 779.062978802 runs/s, stdev= 6.48250081621 runs/s, min= 777.642770352 runs/s, max= 796.019900498 runs/s
RESULT Bindings: set-attribute= 791.792516608 runs/s
median= 791.556728232 runs/s, stdev= 6.49182980397 runs/s, min= 779.220779221 runs/s, max= 808.080808081 runs/s
* Bindings/set-attribute.html: Added.
2012-05-17 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a binding benchmark for div.getAttribute()
https://bugs.webkit.org/show_bug.cgi?id=86814
Reviewed by Ryosuke Niwa.
We should remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
This patch adds a benchmark for div.getAttribute(). This benchmark
covers 'getAttribute' in Dromaeo/dom-attr.html, and other DOM methods
that return a String.
Test results in my Linux desktop:
RESULT Bindings: get-attribute= 250.088158538 runs/s
median= 250.469728765 runs/s, stdev= 4.66551901315 runs/s, min= 240.673886883 runs/s, max= 256.739409499 runs/s
RESULT Bindings: get-attribute= 250.209764698 runs/s
median= 250.626959986 runs/s, stdev= 4.12030002477 runs/s, min= 241.254523522 runs/s, max= 255.102040816 runs/s
RESULT Bindings: get-attribute= 248.907532887 runs/s
median= 250.312891114 runs/s, stdev= 3.23173125874 runs/s, min= 240.673886883 runs/s, max= 251.572327044 runs/s
RESULT Bindings: get-attribute= 250.243680844 runs/s
median= 250.783797637 runs/s, stdev= 4.19327170024 runs/s, min= 240.963855422 runs/s, max= 255.102040816 runs/s
RESULT Bindings: get-attribute= 245.329046608 runs/s
median= 244.948040416 runs/s, stdev= 2.24314248534 runs/s, min= 240.384615385 runs/s, max= 248.756218905 runs/s
* Bindings/get-attribute.html: Added.
2012-05-17 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a binding benchmark for getElementById()
https://bugs.webkit.org/show_bug.cgi?id=86808
Reviewed by Ryosuke Niwa.
Currently Bindings/dom-attributes.html is just a collection
of random DOM attributes and methods. We should remove it and
instead add more reasonable micro benchmarks by classifying
DOM binding call paths.
This patch adds a benchmark for document.getElementById(),
which covers other DOM methods that return a Node Object.
The reason why we want to add a benchmark for document.getElementById()
in spite of the fact that Dromaeo/dom-query.html is already testing
document.getElementById(), is that Dromaeo/dom-query.html outputs one
result for several benchmarks (i.e. getElementById().nodeType,
getElementsByTagName()[0].nodeType etc), and thus we cannot observe
regression of getElementById() itself. (Catching regression of
getElementById() would be critical.)
Test results in my Linux desktop:
RESULT Bindings: get-element-by-id= 300.933707795 runs/s
median= 302.267002519 runs/s, stdev= 3.04954648504 runs/s, min= 295.930949445 runs/s, max= 305.34351145 runs/s
RESULT Bindings: get-element-by-id= 302.030324483 runs/s
median= 302.267481977 runs/s, stdev= 1.78518068367 runs/s, min= 298.507462687 runs/s, max= 304.568527919 runs/s
RESULT Bindings: get-element-by-id= 301.993483538 runs/s
median= 302.648171501 runs/s, stdev= 1.87604126626 runs/s, min= 296.662546354 runs/s, max= 304.568527919 runs/s
RESULT Bindings: get-element-by-id= 301.936607982 runs/s
median= 302.45758701 runs/s, stdev= 1.88991087072 runs/s, min= 298.879202989 runs/s, max= 304.955527319 runs/s
RESULT Bindings: get-element-by-id= 301.952234563 runs/s
median= 302.648171501 runs/s, stdev= 1.59929752614 runs/s, min= 299.625468165 runs/s, max= 304.568527919 runs/s
* Bindings/get-element-by-id.html: Added.
2012-05-17 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a benchmark for body.scrollTop
https://bugs.webkit.org/show_bug.cgi?id=86806
Reviewed by Ryosuke Niwa.
Currently Bindings/dom-attributes.html is just a collection of random
DOM attributes and methods. We should remove it and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
This patch adds a benchmark for body.scrollTop, which covers other
DOM attributes that return small integers.
(Note: Performance optimization for the benchmark will be coming soon.)
Test results in my Linux desktop:
RESULT Bindings: scroll-top= 209.410654239 runs/s
median= 211.64021164 runs/s, stdev= 4.09958741195 runs/s, min= 201.005025126 runs/s, max= 212.483399734 runs/s
RESULT Bindings: scroll-top= 195.651111157 runs/s
median= 196.319018405 runs/s, stdev= 1.77011627406 runs/s, min= 191.846522782 runs/s, max= 197.28729963 runs/s
RESULT Bindings: scroll-top= 200.004907612 runs/s
median= 201.511335013 runs/s, stdev= 3.27455403827 runs/s, min= 193.236714976 runs/s, max= 202.53164557 runs/s
RESULT Bindings: scroll-top= 209.582737512 runs/s
median= 210.803689065 runs/s, stdev= 3.16769655464 runs/s, min= 203.045685279 runs/s, max= 211.920529801 runs/s
RESULT Bindings: scroll-top= 199.924607687 runs/s
median= 201.13144338 runs/s, stdev= 3.11080503619 runs/s, min= 193.003618818 runs/s, max= 202.02020202 runs/s
* Bindings/scroll-top.html: Added.
2012-05-17 Kentaro Hara <haraken@chromium.org>
[perf-test] Add a micro benchmark for div.firstChild getter for an undefined firstChild
https://bugs.webkit.org/show_bug.cgi?id=86725
Reviewed by Ryosuke Niwa.
We are going to remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
In this bug, we add a micro benchmark for div.firstChild getter for an
undefined firstChild. This benchmark covers other undefined DOM attributes
that return a null.
(Note: In V8, div.firstChild for an undefined firstChild is currently slower
than div.firstChild for a defined firstChild.)
Test results in my Linux desktop:
RESULT Bindings: undefined-first-child= 541.408311042 runs/s
median= 541.205412054 runs/s, stdev= 1.29841219187 runs/s, min= 537.897310513 runs/s, max= 543.209876543 runs/s
RESULT Bindings: undefined-first-child= 541.00750695 runs/s
median= 540.540540541 runs/s, stdev= 0.967521230965 runs/s, min= 539.215686275 runs/s, max= 543.209876543 runs/s
RESULT Bindings: undefined-first-child= 523.630714897 runs/s
median= 523.560209424 runs/s, stdev= 1.01570919645 runs/s, min= 522.193211488 runs/s, max= 525.624178712 runs/s
RESULT Bindings: undefined-first-child= 553.077663588 runs/s
median= 553.459119497 runs/s, stdev= 0.805697397863 runs/s, min= 551.378446115 runs/s, max= 554.156171285 runs/s
RESULT Bindings: undefined-first-child= 541.5401432 runs/s
median= 541.538666618 runs/s, stdev= 0.954301364767 runs/s, min= 539.877300613 runs/s, max= 543.209876543 runs/s
* Bindings/undefined-first-child.html: Added.
2012-05-17 Kentaro Hara <haraken@chromium.org>
[Performance test] Add a micro benchmark for div.firstChild getter
https://bugs.webkit.org/show_bug.cgi?id=86582
Reviewed by Ryosuke Niwa.
We are going to remove Bindings/dom-attributes.html and instead add more
reasonable micro benchmarks by classifying DOM binding call paths.
In this bug, we add a micro benchmark for div.firstChild getter.
This benchmark covers 'firstChild', 'lastChild', 'nextSibling' and
'previousSibling' in Dromaeo/dom-traverse.html, and other DOM attributes
that return a Node object.
Multiple test results in my Linux desktop:
RESULT Bindings: first-child= 798.157160346 runs/s
median= 798.004987531 runs/s, stdev= 1.52006063407 runs/s, min= 796.019900498 runs/s, max= 801.001251564 runs/s
RESULT Bindings: first-child= 797.603608554 runs/s
median= 797.872340426 runs/s, stdev= 2.2522621261 runs/s, min= 791.556728232 runs/s, max= 801.001251564 runs/s
RESULT Bindings: first-child= 798.656295468 runs/s
median= 798.004987531 runs/s, stdev= 1.79367478063 runs/s, min= 797.01120797 runs/s, max= 803.011292346 runs/s
RESULT Bindings: first-child= 797.812784267 runs/s
median= 798.004987531 runs/s, stdev= 2.31766523191 runs/s, min= 791.100123609 runs/s, max= 802.005012531 runs/s
RESULT Bindings: first-child= 797.963311597 runs/s
median= 798.004987531 runs/s, stdev= 2.53014907337 runs/s, min= 789.14919852 runs/s, max= 801.001251564 runs/s
* Bindings/first-child.html: Added.
2012-05-16 Kentaro Hara <haraken@chromium.org>
[Performance test] Support "description" for PerfTestRunner.run and PerfTestRunner.runPerSecond
https://bugs.webkit.org/show_bug.cgi?id=86696
Reviewed by Ryosuke Niwa.
We want to add some description for each PerfTestRunner.run and
PerfTestRunner.runPerSecond, so that people can know what each
run is testing.
Output example:
$ ./Tools/Scripts/run-perf-tests Bindings/first-child.html
Running Bindings/first-child.html (1 of 1)
DESCRIPTION: Benchmark for DOM attributes that return a Node object.
RESULT Bindings: first-child= 788.359076534 runs/s
median= 797.508097751 runs/s, stdev= 19.0972905207 runs/s, min= 746.666666667 runs/s, max= 801.001251564 runs/s
* resources/runner.js:
(PerfTestRunner.logStatistics):
(PerfTestRunner.printStatistics):
(PerfTestRunner.runPerSecond):
2012-05-16 Yury Semikhatsky <yurys@chromium.org>
Unreviewed. Fix heap profiler performance test after r117234.
* inspector/heap-snapshot.html:
2012-05-14 Ryosuke Niwa <rniwa@webkit.org>
Convert CSS and Parser tests to runs/s tests
https://bugs.webkit.org/show_bug.cgi?id=86399
Reviewed by Ojan Vafai.
Use runPerSecond instead of run to measure results in function calls per second (run/s) instead of time (ms).
This allows us to continue measuring performance reliably even when WebKit's performance improves and results
become too small for Date.now()'s precision (around 15 ms).
It should also reduce perf. bots cycle time for slower tests because we limit the number of function calls by time.
* CSS/CSSPropertySetterGetter.html:
* CSS/CSSPropertyUpdateValue.html:
* Parser/css-parser-yui.html:
* Parser/simple-url.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
2012-05-14 Dan Bernstein <mitz@apple.com>
Add a line layout performance test
https://bugs.webkit.org/show_bug.cgi?id=86216
Reviewed by Ryosuke Niwa.
* Layout/line-layout.html: Added.
2012-05-14 Tony Chang <tony@chromium.org>
Don't append log lines while perf tests are running.
https://bugs.webkit.org/show_bug.cgi?id=86028
Reviewed by Ryosuke Niwa.
In some tests, the extra DOM nodes can cause the test timing to change.
Avoid adding DOM nodes until the test is over. When running in a browser,
we append nodes as we run so the user can have some feedback.
* resources/runner.js:
(PerfTestRunner.log): Store the log lines in an array until the test is finished.
2012-05-14 Ryosuke Niwa <rniwa@webkit.org>
Build fix. Don't adjust calls per iteration in the second run.
* resources/runner.js:
(PerfTestRunner._perSecondRunner):
2012-05-13 Ryosuke Niwa <rniwa@webkit.org>
performance tests should be able to measure runs/sec rather than time
https://bugs.webkit.org/show_bug.cgi?id=86021
Reviewed by Ojan Vafai.
Add PerfTestRunner.runPerSecond. It uses _runLoop but replaces _runner by _perSecondRunner
to compute runs/s of runFunction.
When _perSecondRunner is called for the first time, i.e. _completedRuns is 0 (notice this is -1
in regular run/_runner), it slowly increases the number of function calls to runFunction between
time measurements in order to discount the time used by new Date() calls themselves until the
total time spent reaches 100 milliseconds.
By default, runPerSecond runs the test for at least 750 milliseconds in each run, and executes
21 runs, yielding the total run time of roughly 18 seconds. This is significantly faster than
most of existing performance tests. Also see http://ejohn.org/blog/accuracy-of-javascript-time/.
Finally, refactored the existing methods of PerfTestRunner to allow "runs/s" unit and share code.
* Layout/flexbox-column-nowrap.html:
* Layout/flexbox-column-wrap.html:
* Layout/flexbox-row-nowrap.html:
* Layout/flexbox-row-wrap.html:
* resources/runner.js:
(PerfTestRunner.computeStatistics): Takes unit.
(PerfTestRunner.logStatistics): Ditto.
(PerfTestRunner._runLoop):
(PerfTestRunner._runner):
(PerfTestRunner.runPerSecond): Added.
(PerfTestRunner._perSecondRunner): Added. Called by _runLoop.
(PerfTestRunner._perSecondRunnerIterator): Added.
2012-05-09 Tony Chang <tony@chromium.org>
add some basic perf-o-matic tests for flexbox
https://bugs.webkit.org/show_bug.cgi?id=86017
Reviewed by Ryosuke Niwa.
Each of these tests take < 3s on my machine.
* Layout/flexbox-column-nowrap.html: Added.
* Layout/flexbox-column-wrap.html: Added.
* Layout/flexbox-row-nowrap.html: Added.
* Layout/flexbox-row-wrap.html: Added.
2012-05-05 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: unreviewed followup fix for the performance test after r116218.
* inspector/heap-snapshot.html:
2012-05-02 Tom Zakrajsek <tomz@codeaurora.org>
Need tests for PerfTestRunner.computeStatistics
https://bugs.webkit.org/show_bug.cgi?id=85410
Reviewed by Ryosuke Niwa.
* resources/runner.js:
2012-05-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r115905.
http://trac.webkit.org/changeset/115905
https://bugs.webkit.org/show_bug.cgi?id=85435
New computeStatistics test is failing on chromium ports
(Requested by tomz on #webkit).
* resources/runner.js:
2012-05-02 Tom Zakrajsek <tomz@codeaurora.org>
Need tests for PerfTestRunner.computeStatistics
https://bugs.webkit.org/show_bug.cgi?id=85410
Reviewed by Ryosuke Niwa.
* resources/runner.js:
2012-04-29 Tom Zakrajsek <tomz@codeaurora.org>
PerfTestRunner.computeStatistics incorrectly calculates min, max and median
https://bugs.webkit.org/show_bug.cgi?id=85111
Reviewed by Ryosuke Niwa.
The sort of the data input was being done alphabetically.
So I provided a numeric compare function.
* resources/runner.js:
2012-04-17 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: the fix for test after massive rename in r114271.
https://bugs.webkit.org/show_bug.cgi?id=84147
Drive by fix. The test was renamed to heap-snapshot.html
Reviewed by Yury Semikhatsky.
* inspector/heap-snapshot.html: Renamed from PerformanceTests/inspector/detailed-heapshots-smoke-test.html.
2012-04-16 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
https://bugs.webkit.org/show_bug.cgi?id=84038
A bunch of renames "detailed heapshot" -> "heap snapshot".
Reviewed by Pavel Feldman.
* inspector/detailed-heapshots-smoke-test.html:
2012-04-13 Ryosuke Niwa <rniwa@webkit.org>
Fix skipped list.
* Skipped:
2012-04-12 Ryosuke Niwa <rniwa@webkit.org>
Enable SVG page loading performance tests
https://bugs.webkit.org/show_bug.cgi?id=83861
Reviewed by Adam Barth.
Unskip PageLoad directory and skip tests that load too fast (less than 100ms) and are unstable,
and the ones that take too long to load (more than 20s).
* Skipped:
2012-04-04 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: Unreviewed. temporary disable broken inspector tests.
* inspector/first-open-scripts.html.broken: Renamed from PerformanceTests/inspector/first-open-scripts.html.
* inspector/network-append-30-requests.html.broken: Renamed from PerformanceTests/inspector/network-append-30-requests.html.
* inspector/show-panel.html.broken: Renamed from PerformanceTests/inspector/show-panel.html.
2012-04-04 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: linearise aggregate's retaining size calculation.
https://bugs.webkit.org/show_bug.cgi?id=83125
This version is twice as fast as the original and it is non-recursive.
Reviewed by Yury Semikhatsky.
* inspector/detailed-heapshots-smoke-test.html:
2012-03-30 David Barr <davidbarr@chromium.org>
Split up top-level .gitignore and .gitattributes
https://bugs.webkit.org/show_bug.cgi?id=82687
Reviewed by Tor Arne Vestbø.
* .gitattributes: Added.
2012-03-28 Yury Semikhatsky <yurys@chromium.org>
Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
https://bugs.webkit.org/show_bug.cgi?id=82453
Updated heap profiler performance test after heap profiler front-end
changes.
Reviewed by Pavel Feldman.
* inspector/detailed-heapshots-smoke-test.html:
2012-03-27 Alexis Menard <alexis.menard@openbossa.org>
Add a perf test which updates the value of an already declared CSS property.
https://bugs.webkit.org/show_bug.cgi?id=82321
Reviewed by Andreas Kling.
This benchmark update CSS existing properties of the style from JS.
* CSS/CSSPropertyUpdateValue.html: Added.
2012-03-15 Kentaro Hara <haraken@chromium.org>
[PerformanceTests] run-perf-tests should output correct units
https://bugs.webkit.org/show_bug.cgi?id=78303
Reviewed by Ryosuke Niwa.
Previously run-perf-tests just supported "ms" for units.
Consequently, Dromaeo perf tests had been reporting runs/s as "ms".
This patch fixes run-perf-tests so that they can support custom units.
The default unit is "ms".
The test result looks like this:
$ ./Tools/Scripts/run-perf-tests Dromaeo/dom-attr.html
RESULT Dromaeo: dom-attr= 6465.9525483 runs/s
median= 0.0 runs/s, stdev= 24.2983433436 runs/s, min= 6435.87649402 runs/s, max= 6515.63693392 runs/s
* Dromaeo/resources/dromaeorunner.js:
(.):
* resources/runner.js:
(PerfTestRunner.computeStatistics):
(PerfTestRunner.printStatistics):
2012-03-15 Alexis Menard <alexis.menard@openbossa.org>
Fix the test failing with run-perf-tests.
Rubber stamped by Ryosuke Niwa.
* CSS/CSSPropertySetterGetter.html:
2012-03-14 Alexis Menard <alexis.menard@openbossa.org>
Add a new perf test to benchmark setting and reading CSS properties from JS.
https://bugs.webkit.org/show_bug.cgi?id=81155
Reviewed by Ryosuke Niwa.
This benchmark read and set CSS properties from JS. It contains a list
of common CSS properties.
* CSS/CSSPropertySetterGetter.html: Added.
2012-03-14 Alexandru Chiculita <achicu@adobe.com>
Layout/floats.html should be runnable by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=77051
Reviewed by Ryosuke Niwa.
I've split Layout/floats.html into multiple tests for each button in the original manual test.
Some tests take longer to run and I've changed the number of iterations, so that each tests finishes under 30s per run.
* DOM/resources/dom-perf.js:
* Layout/floats.html: Removed.
* Layout/floats_100_100.html: Added.
* Layout/floats_100_100_nested.html: Added.
* Layout/floats_20_100.html: Added.
* Layout/floats_20_100_nested.html: Added.
* Layout/floats_2_100.html: Added.
* Layout/floats_2_100_nested.html: Added.
* Layout/floats_50_100.html: Added.
* Layout/floats_50_100_nested.html: Added.
* Layout/resources/floats.css: Added.
(.container):
(.float):
(.big):
(.float-end):
* Layout/resources/floats.js: Added.
(.):
* Skipped:
* resources/runner.js:
(PerfTestRunner.resetRandomSeed):
(PerfTestRunner.random):
(Math.random):
Moved the Math.random to runner.js to be used by all tests.
Added resetRandomSeed to bring the randomizer back to initial seed.
It is useful to get the same results at every run and minimize the
differences between runs.
2012-03-14 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r110559.
http://trac.webkit.org/changeset/110559
https://bugs.webkit.org/show_bug.cgi?id=81142
Broke Dromaeo tests (Requested by rniwa on #webkit).
* Dromaeo/resources/dromaeorunner.js:
(.):
2012-03-13 Kentaro Hara <haraken@chromium.org>
Dromaeo perf-tests results are wrong
https://bugs.webkit.org/show_bug.cgi?id=80974
Reviewed by Hajime Morita.
Dromaeo perf-tests had reported the sum of runs/seconds as "ms".
This patch fixes them to report the execution time per run.
At present, they report "0.0ms" for "stdev". This is because
dromaeorunner.js can just know stdev of "runs/seconds"
and cannot calculate stdev of "ms" from that. We can fix it later.
* Dromaeo/resources/dromaeorunner.js:
(.):
2012-03-12 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: chromium: increase heap snapshot performance coverage.
https://bugs.webkit.org/show_bug.cgi?id=80829
Reviewed by Yury Semikhatsky.
* inspector/detailed-heapshots-smoke-test.html:
* inspector/performance-test.js:
(initialize_TimeTracker.InspectorTest.measureFunction):
2012-03-06 Kentaro Hara <haraken@chromium.org>
[Perf tests] Reduce the number of loops in dom-attributes.html
https://bugs.webkit.org/show_bug.cgi?id=80077
Reviewed by Ryosuke Niwa.
dom-attributes.html takes 100~ seconds in the perf bots. This patch reduces
the time by reducing the number of loops.
This is just a temporary fix. After more detailed investigation, I will reduce
the number of tests in dom-attributes.html, and revert back the number of loops
to guarantee the reliability of the perf test results.
* Bindings/dom-attributes.html:
2012-03-06 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: Heap Snapshot test: split overal time metric into separate metrics.
https://bugs.webkit.org/show_bug.cgi?id=80409
Reviewed by Yury Semikhatsky.
* inspector/detailed-heapshots-smoke-test.html:
2012-03-05 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: [chromium] introduce HeapSnapshot performance test.
https://bugs.webkit.org/show_bug.cgi?id=80280
Reviewed by Pavel Feldman.
* inspector/detailed-heapshots-smoke-test.html: Added.
2012-03-01 Ryosuke Niwa <rniwa@webkit.org>
DOM tests take too long to run
https://bugs.webkit.org/show_bug.cgi?id=80082
Reviewed by Eric Seidel.
Reduce benchmark.timeToRun from 500ms to 100ms. Doesn't seem to affect test results much
(except DOM/DOMTable.html) but significantly reduces the runtime of tests.
* DOM/resources/dom-perf.js:
(BenchmarkSuite.prototype.RunSingle):
2012-02-26 Kentaro Hara <haraken@chromium.org>
[Performance Tests] [Chromium] Bindings/dom-attributes.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=79593
Reviewed by Adam Barth.
This patch halves the execution time of Bindings/dom-attributes.html
in order to avoid timeout in Chromium. The reason for the timeout is that
V8 DOM bindings are too much slower than JSC bindings.
I am a bit afraid that this patch will reduce the accuracy of the
perf test results, but it would make sense to reduce the execution time
until we fix the performance issue in V8 DOM bindings.
* Bindings/dom-attributes.html:
2012-02-24 Ryosuke Niwa <rniwa@webkit.org>
Rename dom*_*attributes.html to dom*-*attributes.html to follow the WebKit convention.
* Bindings/dom-attributes.html: Copied from PerformanceTests/Bindings/dom_attributes.html.
* Bindings/dom_attributes.html: Removed.
2012-02-24 Kentaro Hara <haraken@chromium.org>
Unreviewed, rolling out r108477.
http://trac.webkit.org/changeset/108477
https://bugs.webkit.org/show_bug.cgi?id=79209
The perf tests committed in r108748 covers the perf tests
committed in r108477. So I'll roll out r108477.
* Bindings/dom_attributes_id_getter.html: Removed.
* Bindings/dom_attributes_id_setter.html: Removed.
* Bindings/resources/dom_attributes_common.js: Removed.
2012-02-24 Kentaro Hara <haraken@chromium.org>
Add performance tests for DOM attribute getters and setters
https://bugs.webkit.org/show_bug.cgi?id=79208
Reviewed by Ryosuke Niwa.
This patch adds performance micro-benchmarks for DOM attribute
getters and setters. We selected DOM attributes from HTMLElement,
Element and Node which will most impact on the DOM performance
in the real Web and which have different call-paths from another
DOM attribute.
The perf test result in my local Chromium/Linux environment is as follows:
median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms
If we run the test with DumpRenderTree, we can get the following test results:
Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70
Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67
Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67
Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68
Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67
Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110
Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94
Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82
Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68
Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71
Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68
Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143
Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77
Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82
Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283
Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210
Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568
Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247
Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446
Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58
Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64
Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62
Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55
Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66
Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380
Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81
Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63
Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64
Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63
Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80
Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246
Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53
Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81
Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161
Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99
Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99
Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97
Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503
Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65
Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59
Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57
Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63
Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71
Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99
Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98
Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68
Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77
Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61
Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56
Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129
Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55
Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55
Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54
Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55
Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051
Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155
Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66
Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66
Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706
Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58
Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68
Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68
Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152
Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25
Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51
Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199
* Bindings/dom_attributes.html: Added.
* resources/runner.js:
(PerfTestRunner.info):
2012-02-22 Kentaro Hara <haraken@chromium.org>
Add performance tests for the Element.id getter and setter
https://bugs.webkit.org/show_bug.cgi?id=79209
Reviewed by Adam Barth.
This patch adds performance tests for the Element.id getter and setter.
The results of 10 runs in my local Chromium/Linux are as follows:
dom_attributes_id_getter.html:
median= 92.0 ms, stdev= 1.65151445649 ms, min= 89.0 ms, max= 96.0 ms
median= 87.5 ms, stdev= 1.84390889146 ms, min= 85.0 ms, max= 92.0 ms
median= 94.0 ms, stdev= 1.46543508898 ms, min= 90.0 ms, max= 95.0 ms
median= 86.0 ms, stdev= 1.66958078571 ms, min= 84.0 ms, max= 91.0 ms
median= 94.0 ms, stdev= 2.25610283454 ms, min= 103.0 ms, max= 98.0 ms
median= 86.0 ms, stdev= 1.49666295471 ms, min= 84.0 ms, max= 91.0 ms
median= 86.0 ms, stdev= 1.5321553446 ms, min= 84.0 ms, max= 90.0 ms
median= 86.0 ms, stdev= 2.20227155455 ms, min= 84.0 ms, max= 94.0 ms
median= 96.0 ms, stdev= 1.74570902501 ms, min= 101.0 ms, max= 99.0 ms
median= 86.0 ms, stdev= 1.63935963108 ms, min= 84.0 ms, max= 90.0 ms
median= 94.0 ms, stdev= 1.49248115566 ms, min= 90.0 ms, max= 95.0 ms
median= 88.0 ms, stdev= 5.20192272146 ms, min= 84.0 ms, max= 98.0 ms
median= 86.0 ms, stdev= 1.41067359797 ms, min= 84.0 ms, max= 89.0 ms
median= 86.0 ms, stdev= 1.48660687473 ms, min= 84.0 ms, max= 89.0 ms
median= 94.0 ms, stdev= 1.58113883008 ms, min= 93.0 ms, max= 97.0 ms
median= 86.0 ms, stdev= 1.95959179423 ms, min= 84.0 ms, max= 93.0 ms
median= 86.0 ms, stdev= 1.8547236991 ms, min= 84.0 ms, max= 92.0 ms
median= 86.0 ms, stdev= 1.39283882772 ms, min= 84.0 ms, max= 89.0 ms
median= 88.0 ms, stdev= 1.48660687473 ms, min= 85.0 ms, max= 90.0 ms
median= 86.5 ms, stdev= 2.3 ms, min= 84.0 ms, max= 93.0 ms
dom_attributes_id_setter.html:
median= 123.0 ms, stdev= 2.06397674406 ms, min= 119.0 ms, max= 128.0 ms
median= 119.0 ms, stdev= 1.92028643697 ms, min= 117.0 ms, max= 123.0 ms
median= 121.0 ms, stdev= 1.8781639971 ms, min= 118.0 ms, max= 123.0 ms
median= 123.0 ms, stdev= 2.21585198062 ms, min= 119.0 ms, max= 130.0 ms
median= 124.5 ms, stdev= 2.36378933071 ms, min= 119.0 ms, max= 129.0 ms
median= 122.0 ms, stdev= 2.4474476501 ms, min= 118.0 ms, max= 128.0 ms
median= 123.0 ms, stdev= 1.76351920885 ms, min= 118.0 ms, max= 125.0 ms
median= 119.0 ms, stdev= 1.79652442232 ms, min= 117.0 ms, max= 125.0 ms
median= 121.0 ms, stdev= 1.49916643506 ms, min= 119.0 ms, max= 123.0 ms
median= 119.5 ms, stdev= 1.85135085816 ms, min= 117.0 ms, max= 125.0 ms
median= 124.0 ms, stdev= 1.43090880213 ms, min= 120.0 ms, max= 124.0 ms
median= 122.0 ms, stdev= 1.45859521458 ms, min= 118.0 ms, max= 123.0 ms
median= 123.0 ms, stdev= 1.50332963784 ms, min= 120.0 ms, max= 124.0 ms
median= 123.0 ms, stdev= 1.3638181697 ms, min= 120.0 ms, max= 125.0 ms
median= 119.0 ms, stdev= 1.43527000944 ms, min= 117.0 ms, max= 121.0 ms
median= 122.5 ms, stdev= 1.71682847134 ms, min= 118.0 ms, max= 124.0 ms
median= 121.0 ms, stdev= 1.44481832768 ms, min= 118.0 ms, max= 123.0 ms
median= 120.0 ms, stdev= 1.40978721799 ms, min= 117.0 ms, max= 122.0 ms
median= 122.0 ms, stdev= 1.68522995464 ms, min= 119.0 ms, max= 125.0 ms
median= 122.0 ms, stdev= 1.55804364509 ms, min= 118.0 ms, max= 123.0 ms
* Bindings/dom_attributes_id_getter.html: Added.
* Bindings/dom_attributes_id_setter.html: Added.
* Bindings/resources/dom_attributes_common.js: Added.
2012-02-16 Alexis Menard <alexis.menard@openbossa.org>
Add a perf test for the CSS parser.
https://bugs.webkit.org/show_bug.cgi?id=78114
Reviewed by Ryosuke Niwa.
Add a perf test for the CSS parser. It load a big CSS chunk
which contains some snippets of the YUI library from Yahoo!.
* Parser/css-parser-yui.html: Added.
2012-02-08 Hajime Morrita <morrita@chromium.org>
[PerformanceTests] sunspider-crypto-md5.html and sunspider-crypto-sha1.html are timing out on cr-mac perf bot
https://bugs.webkit.org/show_bug.cgi?id=78174
Reviewed by Ryosuke Niwa.
Pulled back removed files.
* Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
2012-02-02 Hajime Morrita <morrita@chromium.org>
[PerformanceTests] Each Dromaeo test needs its landing html.
https://bugs.webkit.org/show_bug.cgi?id=77504
Reviewed by Ryosuke Niwa.
- Added landing pages for each test which are listed in MANIFEST.json
- Removed some tests which depends on the library whose license is incompatible to WebKit.
- Added local copy of corresponding library. And replace the references to the remote sources
to the local copies.
- Removed old library files under Dromaeo/resources/dromaeo/web/lib/.
- Skipped Sunsupier and v8 test. Such JS centric test should have its own test instead of
running as a part of Dromaeo.
* Dromaeo/cssquery-dojo.html: Added.
* Dromaeo/cssquery-jquery.html: Added.
* Dromaeo/cssquery-prototype.html: Added.
* Dromaeo/dom-attr.html: Added.
* Dromaeo/dom-modify.html: Added.
* Dromaeo/dom-traverse.html: Added.
* Dromaeo/dromaeo-3d-cube.html: Added.
* Dromaeo/dromaeo-core-eval.html: Added.
* Dromaeo/dromaeo-object-array.html: Added.
* Dromaeo/dromaeo-object-regexp.html: Added.
* Dromaeo/dromaeo-object-string.html: Added.
* Dromaeo/dromaeo-string-base64.html: Added.
* Dromaeo/jslib-attr-jquery.html: Added.
* Dromaeo/jslib-attr-prototype.html: Added.
* Dromaeo/jslib-event-jquery.html: Added.
* Dromaeo/jslib-event-prototype.html: Added.
* Dromaeo/jslib-modify-jquery.html: Added.
* Dromaeo/jslib-modify-prototype.html: Added.
* Dromaeo/jslib-style-jquery.html: Added.
* Dromaeo/jslib-style-prototype.html: Added.
* Dromaeo/jslib-traverse-jquery.html: Added.
* Dromaeo/jslib-traverse-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/lib/dojo.js: Removed.
* Dromaeo/resources/dromaeo/web/lib/dojo-1.6.1.js: Added.
* Dromaeo/resources/dromaeo/web/lib/jquery.js: Removed.
* Dromaeo/resources/dromaeo/web/lib/jquery-1.6.4.js: Added.
* Dromaeo/resources/dromaeo/web/lib/mootools.js: Removed.
* Dromaeo/resources/dromaeo/web/lib/prototype.js: Removed.
* Dromaeo/resources/dromaeo/web/lib/prototype-1.7.js: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html:
* Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Removed.
* Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html:
* Dromaeo/sunspider-3d-morph.html: Added.
* Dromaeo/sunspider-3d-raytrace.html: Added.
* Dromaeo/sunspider-access-binary-trees.html: Added.
* Dromaeo/sunspider-access-fannkuch.html: Added.
* Dromaeo/sunspider-access-nbody.html: Added.
* Dromaeo/sunspider-access-nsieve.html: Added.
* Dromaeo/sunspider-bitops-3bit-bits-in-byte.html: Added.
* Dromaeo/sunspider-bitops-bits-in-byte.html: Added.
* Dromaeo/sunspider-bitops-bitwise-and.html: Added.
* Dromaeo/sunspider-bitops-nsieve-bits.html: Added.
* Dromaeo/sunspider-controlflow-recursive.html: Added.
* Dromaeo/sunspider-crypto-aes.html: Added.
* Dromaeo/sunspider-crypto-md5.html: Added.
* Dromaeo/sunspider-crypto-sha1.html: Added.
* Dromaeo/sunspider-date-format-tofte.html: Added.
* Dromaeo/sunspider-date-format-xparb.html: Added.
* Dromaeo/sunspider-math-cordic.html: Added.
* Dromaeo/sunspider-math-partial-sums.html: Added.
* Dromaeo/sunspider-math-spectral-norm.html: Added.
* Dromaeo/sunspider-regexp-dna.html: Added.
* Dromaeo/sunspider-string-fasta.html: Added.
* Dromaeo/sunspider-string-tagcloud.html: Added.
* Dromaeo/sunspider-string-unpack-code.html: Added.
* Dromaeo/sunspider-string-validate-input.html: Added.
* Dromaeo/v8-crypto.html: Added.
* Dromaeo/v8-deltablue.html: Added.
* Dromaeo/v8-earley-boyer.html: Added.
* Dromaeo/v8-raytrace.html: Added.
* Dromaeo/v8-richards.html: Added.
* Skipped:
2012-02-02 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r106543.
http://trac.webkit.org/changeset/106543
https://bugs.webkit.org/show_bug.cgi?id=77671
Made tests less stable (Requested by rniwa on #webkit).
* resources/init.html: Removed.
2012-02-02 Ryosuke Niwa <rniwa@webkit.org>
[PerformanceTests] tests have dependencies
https://bugs.webkit.org/show_bug.cgi?id=77506
Reviewed by Hajime Morita.
* resources/init.html: Added.
2012-02-01 Ryosuke Niwa <rniwa@webkit.org>
Fix after r106386. The empty anchor element was generating an erroneous whitespace.
* Bindings/event-target-wrapper.html:
2012-02-01 Ryosuke Niwa <rniwa@webkit.org>
Another fix after r106379.
* Parser/html5-full-render.html:
2012-01-31 Hajime Morrita <morrita@chromium.org>
Import Dromaeo to WebKit repository.
https://bugs.webkit.org/show_bug.cgi?id=77328
Reviewed by Ryosuke Niwa.
Imported a modified version of Dromaeo which is able to
run on the DRT.
The imported version originally came from:
https://github.com/omo/dromaeo/commit/c942a1452109cdd5f759b3c4aee8d68d490d44a2
* Dromaeo/resources/dromaeo/web/application.css: Added.
* Dromaeo/resources/dromaeo/web/favicon.ico: Added.
* Dromaeo/resources/dromaeo/web/favicon.png: Added.
* Dromaeo/resources/dromaeo/web/htmlrunner.js: Added.
* Dromaeo/resources/dromaeo/web/ie.css: Added.
* Dromaeo/resources/dromaeo/web/images/bg.png: Added.
* Dromaeo/resources/dromaeo/web/images/clouds.png: Added.
* Dromaeo/resources/dromaeo/web/images/clouds2.png: Added.
* Dromaeo/resources/dromaeo/web/images/comets.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino1.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino2.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino3.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino4.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino5.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino6.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino7.png: Added.
* Dromaeo/resources/dromaeo/web/images/dino8.png: Added.
* Dromaeo/resources/dromaeo/web/images/left.png: Added.
* Dromaeo/resources/dromaeo/web/images/logo.png: Added.
* Dromaeo/resources/dromaeo/web/images/logo2.png: Added.
* Dromaeo/resources/dromaeo/web/images/logo3.png: Added.
* Dromaeo/resources/dromaeo/web/images/right.png: Added.
* Dromaeo/resources/dromaeo/web/images/top.png: Added.
* Dromaeo/resources/dromaeo/web/images/water.png: Added.
* Dromaeo/resources/dromaeo/web/index.html: Added.
* Dromaeo/resources/dromaeo/web/jquery.js: Added.
* Dromaeo/resources/dromaeo/web/lib/dojo.js: Added.
* Dromaeo/resources/dromaeo/web/lib/jquery.js: Added.
* Dromaeo/resources/dromaeo/web/lib/mootools.js: Added.
* Dromaeo/resources/dromaeo/web/lib/prototype.js: Added.
* Dromaeo/resources/dromaeo/web/pngfix.js: Added.
* Dromaeo/resources/dromaeo/web/reset.css: Added.
* Dromaeo/resources/dromaeo/web/test-head.html: Added.
* Dromaeo/resources/dromaeo/web/test-head.js: Added.
* Dromaeo/resources/dromaeo/web/test-tail.html: Added.
* Dromaeo/resources/dromaeo/web/test-tail.js: Added.
* Dromaeo/resources/dromaeo/web/tests/MANIFEST.json: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-dojo.html: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-mootools.html: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-yui.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dom-attr.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dom-modify.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dom-query.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dom-traverse.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dromaeo-3d-cube.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dromaeo-core-eval.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dromaeo-object-array.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dromaeo-object-regexp.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dromaeo-object-string.html: Added.
* Dromaeo/resources/dromaeo/web/tests/dromaeo-string-base64.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-attr-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-event-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-modify-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-style-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html: Added.
* Dromaeo/resources/dromaeo/web/tests/jslib-traverse-prototype.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-3d-morph.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-access-binary-trees.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-access-fannkuch.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-access-nbody.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-access-nsieve.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-3bit-bits-in-byte.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bits-in-byte.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-nsieve-bits.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-controlflow-recursive.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-aes.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-md5.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-crypto-sha1.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-tofte.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-date-format-xparb.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-math-partial-sums.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-math-spectral-norm.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-regexp-dna.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-string-fasta.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-string-unpack-code.html: Added.
* Dromaeo/resources/dromaeo/web/tests/sunspider-string-validate-input.html: Added.
* Dromaeo/resources/dromaeo/web/tests/v8-crypto.html: Added.
* Dromaeo/resources/dromaeo/web/tests/v8-deltablue.html: Added.
* Dromaeo/resources/dromaeo/web/tests/v8-earley-boyer.html: Added.
* Dromaeo/resources/dromaeo/web/tests/v8-raytrace.html: Added.
* Dromaeo/resources/dromaeo/web/tests/v8-richards.html: Added.
* Dromaeo/resources/dromaeo/web/tests/72px.png: Added.
* Dromaeo/resources/dromaeo/web/web-style.css: Added.
* Dromaeo/resources/dromaeo/web/webrunner.js: Added.
* Skipped: Unskip the dromaeo driver.
2012-01-31 Ryosuke Niwa <rniwa@webkit.org>
Fix Parser/html5-full-render.html after r106379.
* Parser/html5-full-render.html:
2012-01-31 Ryosuke Niwa <rniwa@webkit.org>
PerfTestRunner should automatically create pre#log
https://bugs.webkit.org/show_bug.cgi?id=77469
Reviewed by Tony Chang.
Automatically generate <pre id="log"></pre> if there isn't one.
* Bindings/event-target-wrapper.html:
* DOM/Accessors.html:
* DOM/CloneNodes.html:
* DOM/CreateNodes.html:
* DOM/DOMDivWalk.html:
* DOM/DOMTable.html:
* DOM/DOMWalk.html:
* DOM/Events.html:
* DOM/GetElement.html:
* DOM/GridSort.html:
* DOM/Template.html:
* Dromaeo/dom-query.html:
* Dromaeo/resources/dromaeorunner.js:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* Parser/simple-url.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
* resources/runner.js:
(PerfTestRunner.log):
(PerfTestRunner.printStatistics):
2012-01-31 Ryosuke Niwa <rniwa@webkit.org>
runner.js in performance tests should define a class
https://bugs.webkit.org/show_bug.cgi?id=77074
Reviewed by Eric Seidel.
Wrap all functions in runner.js by PerfTestRunner and update tests that runner.js accordingly.
Also replace compute* functions in runner.js by more robust code from dom-perf.js.
* Bindings/event-target-wrapper.html:
* DOM/DOMTable.html:
* DOM/resources/dom-perf.js:
(BenchmarkSuite.prototype.RunSingle):
(runBenchmarkSuite):
* Mutation/append-child-deep.html:
* Mutation/append-child.html:
* Mutation/inner-html.html:
* Mutation/remove-child-deep.html:
* Mutation/remove-child.html:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* Parser/simple-url.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
* resources/runner.js:
(PerfTestRunner.log):
(PerfTestRunner.logInfo):
(PerfTestRunner.loadFile):
(PerfTestRunner.computeStatistics):
(PerfTestRunner.logStatistics):
(PerfTestRunner._runLoop.else):
(PerfTestRunner._runLoop):
(PerfTestRunner._runner):
2012-01-31 Hajime Morrita <morrita@chromium.org>
[PerformanceTests] Add landing html for Dromaeo dom-query test
https://bugs.webkit.org/show_bug.cgi?id=77329
Reviewed by Ryosuke Niwa.
Added a "landing html" which includes actual dromaemo page and
send messages to interact with it. The landing html also dumps the
score in run-perf-tests friendly format.
This test isn't enabled until Dromaemo itself is available for run-perf-tests.
It will happen in a separate change.
* Dromaeo/dom-query.html: Added.
* Dromaeo/resources/dromaeorunner.js: Added.
* Skipped: Skipping this for now.
2012-01-30 Ryosuke Niwa <rniwa@webkit.org>
Skip inspector tests since they have been timing out.
* Skipped:
2012-01-29 Ryosuke Niwa <rniwa@webkit.org>
DOM/DOMDivWalk.html result is unreliable
https://bugs.webkit.org/show_bug.cgi?id=77313
Reviewed by Adam Barth.
Trigger garbage collection manually between test runs to avoid GC
to occur in the middle of runs.
* DOM/resources/dom-perf.js:
(BenchmarkSuite.prototype.RunSingle):
* resources/runner.js:
(gc.else.gcRec):
(gc):
(runLoop):
2012-01-26 Ryosuke Niwa <rniwa@webkit.org>
Import Chromium's dom_perf test
https://bugs.webkit.org/show_bug.cgi?id=77175
Reviewed by Adam Barth.
Import dom_perf.
Note resources/dom/suites.js isn't used by any html file yet but it will be used by Chromium port
once its perf bots start pulling test files from WebKit repository instead of Google's internal repository.
* DOM: Added.
* DOM/Accessors.html: Added.
* DOM/CloneNodes.html: Added.
* DOM/CreateNodes.html: Added.
* DOM/DOMDivWalk.html: Added.
* DOM/DOMTable.html: Added.
* DOM/DOMWalk.html: Added.
* DOM/Events.html: Added.
* DOM/GetElement.html: Added.
* DOM/GridSort.html: Added.
* DOM/Template.html: Added.
* DOM/resources: Added.
* DOM/resources/dom-perf.js: Added.
* DOM/resources/dom-perf: Added.
* DOM/resources/dom-perf/accessors.js: Added.
* DOM/resources/dom-perf/clonenodes.js: Added.
* DOM/resources/dom-perf/createnodes.js: Added.
* DOM/resources/dom-perf/domdivwalk.js: Added.
* DOM/resources/dom-perf/domtable.js: Added.
* DOM/resources/dom-perf/domwalk.js: Added.
* DOM/resources/dom-perf/events.js: Added.
* DOM/resources/dom-perf/getelement.js: Added.
* DOM/resources/dom-perf/gridsort.js: Added.
* DOM/resources/dom-perf/suites.js: Added.
* DOM/resources/dom-perf/template.js: Added.
* resources/runner.js:
2012-01-25 Ryosuke Niwa <rniwa@webkit.org>
html5-full-render.html fails due to a log
https://bugs.webkit.org/show_bug.cgi?id=77046
Reviewed by Adam Barth.
Replace the call to log() in html5-full-render.html by a call to newly added logInfo(),
which doesn't print anything inside DRT.
* Parser/html5-full-render.html:
* resources/runner.js:
(logInfo):
2012-01-19 Adam Barth <abarth@webkit.org>
PerformanceTests's runner.js shouldn't be Parser-specific
https://bugs.webkit.org/show_bug.cgi?id=76670
Reviewed by Ryosuke Niwa.
This runner script is used by a bunch of difference performance tests.
It shouldn't be in the Parser directory anymore.
* Bindings/event-target-wrapper.html:
* Mutation/append-child-deep.html:
* Mutation/append-child.html:
* Mutation/inner-html.html:
* Mutation/remove-child-deep.html:
* Mutation/remove-child.html:
* Parser/html-parser.html:
* Parser/html5-full-render.html:
* Parser/resources/runner.js: Removed.
* Parser/simple-url.html:
* Parser/tiny-innerHTML.html:
* Parser/url-parser.html:
* Parser/xml-parser.html:
* resources: Added.
* resources/runner.js: Copied from PerformanceTests/Parser/resources/runner.js.
2012-01-19 Ryosuke Niwa <rniwa@webkit.org>
Some perf tests time out when ran by run-perf-tests
https://bugs.webkit.org/show_bug.cgi?id=76612
Reviewed by Dirk Pranke and Eric Seidel.
Replace all images in html5.html by geenbox.png to avoid accessing whatwg.org when
running the parser tests. Also call dumpAsText, waitUntilDone, and notifyDone automatically
inside runner.js to avoid having to call them in individual tests.
* Bindings/event-target-wrapper.html: Removed calls to layoutTestController methods since
they are now called by runner.js automatically.
* Parser/resources/greenbox.png: Copied from LayoutTests/fast/css/resources/greenbox.png.
* Parser/resources/html5.html:
* Parser/resources/runner.js:
(runLoop):
2012-01-18 Ryosuke Niwa <rniwa@webkit.org>
run-perf-tests should support Skipped list
https://bugs.webkit.org/show_bug.cgi?id=76594
Reviewed by Adam Barth.
Add Skipped list to be used by run-perf-tests as it can only runs tests in
Bindings, Parser, and inspector at the moment.
* Skipped: Added.
2012-01-12 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: performance: restore 'log 300 messages into console' test.
https://bugs.webkit.org/show_bug.cgi?id=76170
It was removed in order of transition from layout tests to perf tests.
Reviewed by Yury Semikhatsky.
* inspector/console-300-lines.html: Added.
2012-01-12 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: performance tests: fix memory leak in first-open-resources test.
https://bugs.webkit.org/show_bug.cgi?id=76049
first-open-resources doesn't reset resource panel properly after test run.
Reviewed by Yury Semikhatsky.
* inspector/first-open-resources.html:
2012-01-10 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed. WebInspector: Remove unnecessary logging from the test.
* inspector/first-open-resources.html:
2012-01-10 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed. Restore test that was removed during migration from LayoutTests folder.
* inspector/first-open-resources.html: Added.
2012-01-09 Ilya Tikhonovsky <loislo@chromium.org>
Unreviewed test fix after r103683.
* inspector/first-open-scripts.html:
* inspector/show-panel.html:
2012-01-03 Adam Barth <abarth@webkit.org>
html-parser.html takes too long to run
https://bugs.webkit.org/show_bug.cgi?id=75515
Reviewed by Eric Seidel.
In working on runner.js, we introduced a factor of 10 increase to the
running time of this benchmark. This patch dials down the number of
iterations to something more user-friendly.
* Parser/html-parser.html:
2011-12-18 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: move heap data stats to separate tab.
https://bugs.webkit.org/show_bug.cgi?id=74704
Reviewed by Pavel Feldman.
* inspector/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):
2011-12-01 Ilya Tikhonovsky <loislo@chromium.org>
Web Inspector: chromium: move and adapt Inspector's performance tests for running with run-inspector-perf-tests.py.
https://bugs.webkit.org/show_bug.cgi?id=72260
Reviewed by Pavel Feldman.
* inspector/first-open-elements.html: Renamed from LayoutTests/inspector/performance/resources/first-open-elements.html.
* inspector/first-open-scripts.html: Renamed from LayoutTests/inspector/performance/resources/first-open-scripts.html.
* inspector/inspector-startup-time.html: Renamed from LayoutTests/inspector/performance/resources/inspector-startup-time.html.
* inspector/network-append-30-requests.html: Renamed from LayoutTests/inspector/performance/resources/network-append-30-requests.html.
* inspector/performance-test.js: Renamed from LayoutTests/inspector/performance/resources/performance-test.js.
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.start):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.finish):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._getJSHeapSize):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._runTest):
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype._dump):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):
(initialize_TimeTracker.InspectorTest.mark):
* inspector/show-panel.html: Renamed from LayoutTests/inspector/performance/resources/show-panel.html.
2011-11-09 Adam Klein <adamk@chromium.org>
[MutationObservers] Microbenchmarks for appendChild, removeChild, and innerHTML
https://bugs.webkit.org/show_bug.cgi?id=71939
Reviewed by Ojan Vafai.
These benchmarks time both the DOM mutations themselves and the time taken
to call the MutationCallback. This measurement is achieved by
executing the code entirely within the MutationCallback itself.
* Mutation/append-child-deep.html: Added. Covers appendChild in a 200-node-deep tree with subtree observation.
* Mutation/append-child.html: Added. Covers appendChild in a flat tree.
* Mutation/inner-html.html: Added. Covers innerHTML adding and removing many nodes at a time.
* Mutation/remove-child-deep.html: Added. Covers removeChild in a 200-node-deep tree with subtree observation.
* Mutation/remove-child.html: Added. Covers removeChild in a flat tree.
2011-10-25 Adam Barth <abarth@webkit.org>
EventTargetFactory.in is not sorted
https://bugs.webkit.org/show_bug.cgi?id=70855
Reviewed by Eric Seidel.
Add a microbenchmark for wrapping event target.
* Bindings: Added.
* Bindings/event-target-wrapper.html: Added.
* Parser/resources/runner.js:
(runLoop):
- Let the user of the harness get a callback when the test is done.
2011-10-04 Eric Seidel <eric@webkit.org>
Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would
https://bugs.webkit.org/show_bug.cgi?id=69374
Unreviewed.
Per https://bugs.webkit.org/show_bug.cgi?id=69374#c7
updating the chunksize to be a bit smaller now that the total
size of the html5 spec is smaller than when I wrote the test.
This should increase the prevalence of style resolution in the
sample time, which more closely matches instrument samples
taken when loading the full page in Safari.
* Parser/html5-full-render.html:
2011-10-04 Eric Seidel <eric@webkit.org>
Update html5-full-render.html to load the HTML5 spec incrementally, closer to how the browser would
https://bugs.webkit.org/show_bug.cgi?id=69374
Reviewed by James Robinson.
This should finally be able to provide us with a repeatable metric
for how fast we're currently able to load the HTML5 spec.
There are a variety of interesting functions which show up in this
sample, including of course style resolution.
* Parser/html5-full-render.html:
2011-10-04 Eric Seidel <eric@webkit.org>
Update our copy of the HTML5 spec used for performance testing to match the latest version
https://bugs.webkit.org/show_bug.cgi?id=69364
Unreviewed. The patch is too large to post, so landing this unreviewed. :(
The copy of the html5 spec we were using for testing was over a year old
and didn't have any of the subresources with it (we were only using it
as an HTML parsing benchmark). I'm about to use it for testing
the full load/render time of the benchmark, so I've updated to the latest
version of the spec (now 8mb instead of 5mb) and inlined two of the
CSS files. (Inlining the CSS was necessary to make my testing consistent
as there seems to be a race with some timer fired after CSS load.)
Increasing from 5mb to 8mb showed a similar 30% slowdown in our parser
benchmarks as expected.
* Parser/resources/html5.html:
2011-10-04 Eric Seidel <eric@webkit.org>
Add loopsPerRun option to Parser performance test runner
https://bugs.webkit.org/show_bug.cgi?id=69363
Reviewed by Antti Koivisto.
Add loopsPerRun option and abstract out runLoop function (to make the UI more responsive).
No change in behavior in any of the tests.
* Parser/resources/runner.js:
(runLoop):
(run):
(start):
2011-10-03 Eric Seidel <eric@webkit.org>
Add a microbenchmark for a full-page render of the HTML5 spec
https://bugs.webkit.org/show_bug.cgi?id=69285
Reviewed by Adam Barth.
This was designed to be a test for https://bugs.webkit.org/show_bug.cgi?id=68944
But it seems that by far our dominating cost for the HTML5 benchmark is
time spent laying out lines (which isn't actually that surprising).
I'm adding the performance test for posterity.
* Parser/html-parser.html:
- Removed use of "about:blank" which abarth says is a no-op. Made comment more accurate.
* Parser/html5-full-render.html: Copied from PerformanceTests/Parser/html-parser.html.
2011-10-03 Eric Seidel <eric@webkit.org>
PerformanceTests/Parser/html-parser is only testing parsing of the head element
https://bugs.webkit.org/show_bug.cgi?id=69283
Reviewed by Adam Barth.
While investigating https://bugs.webkit.org/show_bug.cgi?id=68944
I found that the html-parser benchmark was only parsing up to the
first script tag per loop! We've fixed this by adding the sandbox
tag which will deny all external loads and allow the parser to
synchronously continue parsing the entire document to completion
(as we had expected it was doing).
This changes the profile somewhat. Line number counting is much
hotter, since we're actually accounting for the parse of the entire
document in our sample.
Total sample time only about doubles, from 1800ms to 3800ms on my machine
which is less than I would have expected.
* Parser/html-parser.html:
2011-08-09 Alexandru Chiculita <achicu@adobe.com>
Fixing 65868 REGRESSION(r92610) caused by 65668 - Optimize floating elements lookup
https://bugs.webkit.org/show_bug.cgi?id=65871
Reviewed by Dave Hyatt.
* Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree.
2011-08-08 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r92610.
http://trac.webkit.org/changeset/92610
https://bugs.webkit.org/show_bug.cgi?id=65868
Caused assertion failures when running fast/multicol tests
(Requested by andersca on #webkit).
* Layout/floats.html:
2011-08-08 Alexandru Chiculita <achicu@adobe.com>
Optimize floating elements lookup
https://bugs.webkit.org/show_bug.cgi?id=65668
Reviewed by David Hyatt.
* Layout/floats.html: Added the nested divs, so that we can test the propagation impact of the floats tree.
2011-08-04 Alexandru Chiculita <achicu@adobe.com>
Add a performance test for floating elements layout algorithm
https://bugs.webkit.org/show_bug.cgi?id=65741
The test creating lots of small floats and randomly changes
the width of one element at a time. It measures how often it can do that.
Reviewed by Adam Barth.
* Layout/floats.html: Added.
2011-05-30 Daniel Bates <dbates@webkit.org>
Reviewed by Adam Barth.
Rename XSSFilter to XSSAuditor
https://bugs.webkit.org/show_bug.cgi?id=61718
Currently we use the names XSSFilter and XSSAuditor throughout the project.
Instead, we should choose one name for consistency.
No functionality was changed. So, no new tests.
* XSSAuditor: Copied from PerformanceTests/XSSFilter.
* XSSFilter: Removed.
* XSSFilter/large-post-many-events.html: Removed.
* XSSFilter/large-post-many-inline-scripts-and-events.html: Removed.
* XSSFilter/resources: Removed.
* XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Removed.
2011-03-25 Leo Yang <leo.yang@torchmobile.com.cn>
Reviewed by Dirk Schulze.
SVG <use> element performance improvement
https://bugs.webkit.org/show_bug.cgi?id=57077
Add a manual test case which is from
http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg
for svg <use> element performance test.
* PageLoad/svg/files/Sierpinski_carpet_6.svg: Added.
* PageLoad/svg/svg.pltsuite:
2011-02-05 Eric Seidel <eric@webkit.org>
Reviewed by Adam Barth.
Add performance tests for URL parsing
https://bugs.webkit.org/show_bug.cgi?id=53845
The final-url-en URL corpus is from:
http://corpus.leeds.ac.uk/internet.html
There are also other language corpuses which we may want to use in the future.
The usage instructions were as follows:
"URL lists and other resources: you can freely use them in your research
provided that you supply a link to this website: http://corpus.leeds.ac.uk/."
Done.
* Parser/simple-url.html: Added.
On my machine:
Firefox: 255ms
TOT WebKit: 378ms
Chrome: 286ms
Opera: 2830ms (no, that is not a typo)
* Parser/url-parser.html: Added.
Firefox: 381ms
TOT WebKit: 216ms
Chrome: 131ms
Opera: 1383ms (again, not a typo)
* Parser/resources/final-url-en: Added.
2011-02-03 Adam Barth <abarth@webkit.org>
Reviewed by Daniel Bates.
Add another XSSFilter PerformanceTest
https://bugs.webkit.org/show_bug.cgi?id=53750
This PerformanceTest tests the case that was slow in
https://bugs.webkit.org/show_bug.cgi?id=49845
* XSSFilter/large-post-many-inline-scripts-and-events.html: Added.
* XSSFilter/resources: Added.
* XSSFilter/resources/target-for-large-post-many-inline-scripts-and-events.html: Added.
2011-02-03 Adam Barth <abarth@webkit.org>
Reviewed by Eric Seidel.
Add PerformanceTest for XSSFilter
https://bugs.webkit.org/show_bug.cgi?id=53741
This performance tests covers the case of a large POST data and many
small event handlers.
* XSSFilter: Added.
* XSSFilter/large-post-many-events.html: Added.
2011-02-02 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Merge PerformanceTests/Parser/ChangeLog and
PerformanceTests/PageLoad/ChangeLog into PerformanceTests/ChangeLog.
It's silly to have ChangeLogs for each of these directories separately.
I've left SunSpider with its own ChangeLog because it's more of an
independent entity.
* ChangeLog: Added.
2011-02-02 Eric Seidel <eric@webkit.org>
Unreviewed. Just fixing an exception seen in Firefox.
HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
https://bugs.webkit.org/show_bug.cgi?id=48719
Make the benchmarks work in Firefox/Opera.
* resources/runner.js:
(log):
2011-01-27 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
https://bugs.webkit.org/show_bug.cgi?id=48719
It's unclear exactly what the Peacekeeper benchmark is testing,
because I haven't found a way to run it myself.
However, I constructed a benchmark which shows at least one possible slow point.
The HTML5 spec talks about creating a new document for every time we use
the fragment parsing algorithm. Document() it turns out, it a huge bloated
mess, and the constructor and destructor do a huge amount of work.
* benchmarks/parser/tiny-innerHTML.html: Added.
2011-01-29 Sheriff Bot <webkit.review.bot@gmail.com>
Unreviewed, rolling out r77050.
http://trac.webkit.org/changeset/77050
https://bugs.webkit.org/show_bug.cgi?id=53371
Caused a crash in Chromium's test_shell_tests (Requested by
rniwa on #webkit).
* resources/performance-test.js: Removed.
* tiny-innerHTML.html: Removed.
2011-01-28 Eric Seidel <eric@webkit.org>
Reviewed by Darin Adler.
HTML5 TreeBuilder regressed a Peacekeeper DOM test by 40%
https://bugs.webkit.org/show_bug.cgi?id=48719
It's unclear exactly what the Peacekeeper benchmark is testing,
because I haven't found a way to run it myself.
However, I constructed a benchmark which shows at least one possible slow point.
The HTML5 spec talks about creating a new document for every time we use
the fragment parsing algorithm. Document() it turns out, it a huge bloated
mess, and the constructor and destructor do a huge amount of work.
To avoid constructing (or destructing) documents for each innerHTML call,
this patch adds a shared dummy document used by all innerHTML calls.
* benchmarks/parser/tiny-innerHTML.html: Added.
2010-12-31 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Move HTML and XML parser benchmarks into PerformanceTests/Parser
https://bugs.webkit.org/show_bug.cgi?id=51772
Add a ChangeLog for tracking changes to the Parser PerformanceTest.
* ChangeLog: Added.
2010-12-31 Adam Barth <abarth@webkit.org>
Rubber-stamped by Eric Seidel.
Move PageLoadTests to PerformanceTests/PageLoad
https://bugs.webkit.org/show_bug.cgi?id=51771
Update URLs to point to the new directory name.
* svg/svg.pltsuite:
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by olliej.
* svg/svg.pltsuite: re-enable word-iso.svg after fixing http://bugs.webkit.org/show_bug.cgi?id=11987
2006-12-26 Eric Seidel <eric@webkit.org>
Reviewed by bradee-oh.
Add new PageLoadTests directory (this one)
Add LICENSES file to explain where each SVG came from.
* ChangeLog: Added.
* svg/LICENSES: Added.
* svg/files/33041-Samurai.svg: Added.
* svg/files/42470-flower_from_my_garden_v2.svg: Added.
* svg/files/Harvey_Rayner.svg: Added.
* svg/files/az-lizard_benji_park_01.svg: Added.
* svg/files/bamboo_01.svg: Added.
* svg/files/cacuts_01.svg: Added.
* svg/files/cowboy.svg: Added.
* svg/files/crawfish2_ganson.svg: Added.
* svg/files/deb9frac1.svg: Added.
* svg/files/food_leif_lodahl_01.svg: Added.
* svg/files/france.svg: Added.
* svg/files/francobollo_gnome_ezechi_02.svg: Added.
* svg/files/gearflowers.svg: Added.
* svg/files/hereGear4.svg: Added.
* svg/files/mtsthelens.svg: Added.
* svg/files/mtsthelens0.jpg: Added.
* svg/files/world-iso.svg: Added.
* svg/files/worldcup.svg: Added.
* svg/svg.pltsuite: Added.