1 2009-06-19 Adam Treat <adam.treat@torchmobile.com>
3 Reviewed by Oliver Hunt.
5 https://bugs.webkit.org/show_bug.cgi?id=26540
6 Currently the SunSpider test driver lacks an option to run a test suite that
7 will test JavaScriptCore parsing performance only. This patch adds just such
8 a test suite and option to SunSpider as well as the jsc test shell. I've included
9 three large javascript source files found in the wild: jquery, mootools and prototype.
10 Combined with the concatenation of all three, these form a new testsuite to measure
11 and test pure JavaScriptCore parsing performance.
13 * resources/sunspider-standalone-driver.js:
14 Load the js with parse-only flag if it is part of the parse-only suite.
16 Add the parse-only suite to the list of options.
17 * sunspider-compare-results:
18 Add the parse-only suite to the list of options.
19 * tests/LIST-PARSE-ONLY: Added.
20 * tests/parse-only/concat-jquery-mootools-prototype.js: Added.
21 A very large concatenation of the scripts found below. This js takes ~30ms to parse on my machine.
22 * tests/parse-only/jquery-1.3.2.js: Added.
23 Latest version from jquery.com.
24 * tests/parse-only/mootools-1.2.2-core-nc.js: Added.
25 Latest version from mootools.net.
26 * tests/parse-only/prototype-1.6.0.3.js: Added.
27 Latest version from prototypejs.org.
29 2009-06-13 Steve Falkenburg <sfalken@apple.com>
31 Update V8 benchmark to version 4.
33 Reviewed by Cameron Zwarich.
37 * tests/v8-deltablue.js:
38 * tests/v8-earley-boyer.js:
39 * tests/v8-raytrace.js:
40 * tests/v8-regexp.js: Added.
41 * tests/v8-richards.js:
42 * tests/v8-splay.js: Added.
44 2009-05-26 Olivier DOLE <odole@pleyo.com>
48 Store sunspider test suite results in a specific directory for each
49 different type of benchmark (sunspider, V8 or ubench).
52 * sunspider-compare-results:
54 2009-05-12 Steve Falkenburg <sfalken@apple.com>
60 2009-05-11 Steve Falkenburg <sfalken@apple.com>
62 Include SunSpider tests in production builds.
64 Reviewed by Adam Roben.
66 * SunSpider.make: Added.
67 * xcopy.excludes: Added.
69 2009-03-04 Oliver Hunt <oliver@apple.com>
71 Added a few more tests to ubench
75 Adding a couple of test to cover too few and too many arguments. This
76 is needed to prevent regressions in all call paths from my current refactoring.
79 * tests/ubench/function-correct-args.js: Added.
81 * tests/ubench/function-excess-args.js: Added.
84 2008-10-30 Zoltan Horvath <Horvath.Zoltan.6@stud.u-szeged.hu>
86 Fix a bug where when V8's or UBENCH's test suite list file is missing
87 the error message is suggesting that SunSpider's list file is missing.
89 Reviewed by Sam Weinig.
92 (loadTestsList): Fix the error message to use the right list name.
94 2008-10-07 David Hyatt <hyatt@apple.com>
96 https://bugs.webkit.org/show_bug.cgi?id=18989
98 Remove global substitution from SunSpider regexp test, since only Firefox was honoring it and
99 we want all browsers to be doing the same thing on the test.
103 * tests/regexp-dna.js:
105 2008-09-09 Cameron Zwarich <cwzwarich@uwaterloo.ca>
107 Rubber-stamped by Maciej Stachowiak.
109 The bleeding edge branch of V8 now supports passing fileanmes after
110 '-f', so the SunSpider script should be changed to do this again.
111 This allows all 3 major JavaScript engines to be used with the
112 unmodified SunSpider script.
116 2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
118 Reviewed by Maciej Stachowiak.
120 Add a '--args' option to SunSpider, so that we can pass '-j' to TraceMonkey
121 and '--expose-gc' to V8. Also, rename the '--v8' option to '--v8-suite' and
122 correct the punctuation in its documentation.
126 2008-09-04 Cameron Zwarich <cwzwarich@uwaterloo.ca>
128 Reviewed by Oliver Hunt.
130 Bug 20616: Incorporate V8 benchmarks in testing
131 <https://bugs.webkit.org/show_bug.cgi?id=20616>
133 This is a first attempt at running the V8 benchmarks within SunSpider,
134 with the --v8 option. The number of iterations is fixed for each
135 benchmark, and was chosen to make each of the benchmarks run between
136 500 ms and 600 ms in V8 on my machine, a 2.16 GHz MacBook Pro.
139 * tests/LIST-V8: Added.
140 * tests/v8-crypto.js: Added.
141 * tests/v8-deltablue.js: Added.
142 * tests/v8-earley-boyer.js: Added.
143 * tests/v8-raytrace.js: Added.
144 * tests/v8-richards.js: Added.
146 2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
150 Remove a local change that was accidentally committed in r36034.
152 * resources/sunspider-standalone-driver.js:
154 2008-09-02 Cameron Zwarich <cwzwarich@uwaterloo.ca>
156 Rubber-stamped by Oliver Hunt.
158 Make SunSpider work with JavaScript shells that don't take filenames
159 after a '-f' argument.
163 2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
167 Remove the --squirrelfish option from SunSpider, as it is no longer needed.
170 * tests/LIST-SQUIRRELFISH: Removed.
172 2008-06-03 Alexey Proskuryakov <ap@webkit.org>
174 Rubber-stamped by Mark Rowe.
176 Roll out r31215 - with Mac OS X 10.5.3, there is no need to pause update daemon any more.
180 2008-04-15 Maciej Stachowiak <mjs@apple.com>
182 Rubber stamped by Oliver.
184 - add newly working tests to squirrelfish list
186 * tests/LIST-SQUIRRELFISH: Add 3d-raytrace and string-unpack-code
188 2008-04-14 Maciej Stachowiak <mjs@apple.com>
190 Rubber stamped by Oliver.
192 - move ubench tests properly.
194 * tests/ubench: Added.
195 * tests/ubench/function-closure.js: Added.
196 * tests/ubench/function-empty.js: Added.
197 * tests/ubench/function-missing-args.js: Added.
198 * tests/ubench/function-sum.js: Added.
199 * tests/ubench/loop-empty-resolve.js: Added.
200 * tests/ubench/loop-empty.js: Added.
201 * tests/ubench/loop-sum.js: Added.
203 2008-04-14 Maciej Stachowiak <mjs@apple.com>
205 Rubber stamped by Oliver.
207 * sunspider: Don't force --runs=1 in squirrelfish mode any more.
209 2008-04-14 Maciej Stachowiak <mjs@apple.com>
213 - make --squirrelfish mode use the real harness, but a reduced set of tests
215 Also add a new ubench mode which runs the older squirrelfish microbenchmarks.
218 * tests/LIST-SQUIRRELFISH:
219 * tests/LIST-UBENCH: Added.
220 * tests/squirrelfish: Moved to tests/ubench
222 2008-04-14 Geoffrey Garen <ggaren@apple.com>
224 Reviewed by Maciej Stachowiak.
226 Removed an unused test.
228 * tests/squirrelfish/loop-resolve.js: Removed.
230 2008-04-10 Maciej Stachowiak <mjs@apple.com>
234 Add newly runnable tests to --squirrelfish mode.
236 * tests/LIST-SQUIRRELFISH:
238 2008-04-06 Geoffrey Garen <ggaren@apple.com>
240 Reviewed by Maciej Stachowiak.
242 A little more love for --squirrelfish mode:
244 Fixed a misplaced sort. Results properly sort now.
246 Added a test list just for squirrelfish, and updated it to include
247 all currently passing SunSpider tests.
249 Fixed the pruning regexp to match 3d-morph.js.
253 2008-03-26 Geoffrey Garen <ggaren@apple.com>
255 Reviewed by Oliver Hunt.
257 --squirrelfish mode: pared down tests for squirrelfish to chew on.
261 * tests/squirrelfish: Added.
262 * tests/squirrelfish/function-closure.js: Added.
263 * tests/squirrelfish/function-empty.js: Added.
264 * tests/squirrelfish/function-missing-args.js: Added.
265 * tests/squirrelfish/function-sum.js: Added.
266 * tests/squirrelfish/loop-empty-resolve.js: Added.
267 * tests/squirrelfish/loop-empty.js: Added.
268 * tests/squirrelfish/loop-resolve.js: Added.
269 * tests/squirrelfish/loop-sum.js: Added.
271 2008-03-21 Alexey Proskuryakov <ap@webkit.org>
275 * sunspider: Pause update daemon on Darwin to make results reliable
276 again (workaround for <rdar://problem/5811127>).
278 2008-02-07 Eric Seidel <eric@webkit.org>
282 * sunspider: add an error message when ./tests/LIST is not found
284 2007-12-29 Alp Toker <alp@atoker.com>
288 * hosted/sunspider.html:
290 2007-12-29 Alp Toker <alp@atoker.com>
294 Provide the current URL in the SunSpider results page. Useful for
295 copying benchmark results out of browsers without a location bar or
296 where the location bar can't handle long URLs.
298 * hosted/sunspider-results.html:
300 2007-12-20 Eric Seidel <eric@webkit.org>
304 * sunspider: increase default number of runs for more accurate numbers
306 2007-12-18 Mark Rowe <mrowe@apple.com>
310 * hosted/sunspider.html:
312 2007-12-18 Maciej Stachowiak <mjs@apple.com>
316 - give an extra digit of precision for small differences.
318 * resources/sunspider-compare-results.js:
320 2007-12-17 Maciej Stachowiak <mjs@apple.com>
324 - work around IE layout bugs
326 * hosted/sunspider.css:
328 2007-12-17 Maciej Stachowiak <mjs@apple.com>
332 - fix compare feature
334 * hosted/sunspider-results.html:
336 2007-12-17 Maciej Stachowiak <mjs@apple.com>
340 - Change the format of the output URL to be shorter, to meet IE constraints
342 * hosted/sunspider-driver.html:
343 * hosted/sunspider-results.html:
345 2007-12-13 Maciej Stachowiak <mjs@apple.com>
349 - Add some explanatory test and a dumb logo to SunSpider web hosted version
351 * hosted/sunspider-driver.html:
352 * hosted/sunspider-results.html:
353 * hosted/sunspider.css:
354 * hosted/sunspider.html:
356 2007-12-13 Maciej Stachowiak <mjs@apple.com>
360 - Make the web-hosted version of SunSpider look a little bit less drab.
362 * hosted/sunspider-driver.html:
363 * hosted/sunspider-results.html:
364 * hosted/sunspider.css: Added.
365 * hosted/sunspider.html:
366 * resources/TEMPLATE.html:
368 2007-12-12 Maciej Stachowiak <mjs@apple.com>
372 - Change sunspider-compare-results output from showing "% faster" values to "x as fast" values.
374 A sample of what new-style results would look like:
376 TEST COMPARISON FROM TO DETAILS
378 ** TOTAL **: 1.41x as fast 6613.6ms +/- 0.1% 4703.0ms +/- 0.1% significant
380 3bit-bits-in-byte: *1.36x as slow* 88.8ms +/- 0.6% 121.1ms +/- 0.6% significant
382 * resources/sunspider-compare-results.js:
384 2007-11-14 Eric Seidel <eric@webkit.org>
388 * sunspider: add --shark-cache for L2 Cache Miss profiling
390 2007-11-09 Alexey Proskuryakov <ap@webkit.org>
392 Reviewed by Darin Adler.
394 http://bugs.webkit.org/show_bug.cgi?id=15925
395 SunSpider should check for Shark being installed
397 * sunspider: Explicitly test that shark command line tool is installed.
399 2007-11-04 Darin Adler <darin@apple.com>
401 * hosted/sunspider.html: Tweaked formatting a bit.
403 2007-11-03 Maciej Stachowiak <mjs@apple.com>
405 Reviewed by Darin Adler.
407 - Add compare mode and a description of the benchmark to the hosted version.
409 * hosted/sunspider-results.html: Add compare mode - you can just paste in another results URL.
410 * hosted/sunspider.html: Added intro text.
411 * make-hosted: Copy new file.
412 * resources/sunspider-compare-results.js: Made more reusable by putting the implementation in
414 * resources/sunspider-standalone-compare.js: Added. Calls the function in the way standalone mode
416 * sunspider-compare-results: Use sunspider-standalone-compare.js.
418 2007-11-02 Darin Adler <darin@apple.com>
420 * sunspider: Changed "--base" to "--set-baseline".
422 2007-11-02 Darin Adler <darin@apple.com>
426 * sunspider: Added a "--base" option that records the current test as a baseline.
427 Moved the code to find the newest .mshark file into a function (since I needed to use
428 it in the other script and I prefer to copy/paste a function).
430 * sunspider-compare-results: Added logic to compare the baseline with the last
431 run when you don't pass any parameters.
433 2007-10-29 Maciej Stachowiak <mjs@apple.com>
437 - Added list of ECMAScript3 features that SunSpider does not cover currently.
441 2007-10-29 Maciej Stachowiak <mjs@apple.com>
445 - Give better error messages when sunspider-compare-results fails
447 * sunspider-compare-results:
449 2007-10-29 Maciej Stachowiak <mjs@apple.com>
451 Reviewed by Darin Adler.
453 - fix Date tests to work in command-line SpiderMonkey
455 * tests/date-format-tofte.js:
456 * tests/date-format-xparb.js:
458 2007-10-29 Darin Adler <darin@apple.com>
462 * sunspider: Added --shark20 option, to run Shark at its highest sample
463 resolution instead of its default.
465 2007-10-28 Adam Roben <aroben@apple.com>
467 Fix SunSpider on Windows
471 * sunspider: Don't use colons in filenames.
473 2007-10-28 Darin Adler <darin@apple.com>
477 * resources/sunspider-analyze-results.js: Tweak the output format a little.
478 Change so that when there's only one run we don't write out confidence
479 intervals at all rather than writing "NaN" over and over again.
481 * sunspider: Use the time and date as a suffix on the results file, that way
482 all the results are left behind in the tmp directory. This will make it easy
483 for us to add features that compare past results in the future. Also rename
484 the .mshark files using the same scheme.
486 * sunspider-compare-results: Relax the parsing rules so we can parse the
487 results file exactly as it's emitted from sunspider.
489 2007-10-25 Adam Roben <aroben@apple.com>
491 Strip carriage returns from results
493 Carriage returns were screwing up sunspider-compare-results on
496 Rubberstamped by Oliver.
500 2007-10-24 Darin Adler <darin@apple.com>
504 * sunspider: Open the profile in shark after completing a run.
505 * sunspider-compare-results: Tiny perl tweaks.
507 2007-10-23 Maciej Stachowiak <mjs@apple.com>
509 Reviewed by Darin Adler.
511 - Don't hardcode my path to testkjs
513 * sunspider-compare-results:
515 2007-10-23 Maciej Stachowiak <mjs@apple.com>
517 Reviewed by Darin Adler.
519 - Add a compare script to compare results, and improve formatting of standard results a bit.
521 * resources/sunspider-analyze-results.js:
522 * resources/sunspider-compare-results.js: Added.
523 * sunspider-compare-results: Added.
525 2007-10-23 Maciej Stachowiak <mjs@apple.com>
527 Reviewed by Darin Adler.
529 * resources/sunspider-analyze-results.js: Do the error range
530 properly, using the t-distribution instead of 1.96 (which was
531 based on the normal distribution).
533 * sunspider: Print results in a way that will be friendlier to the
534 soon-to-come compare mode.
536 2007-10-22 Maciej Stachowiak <mjs@apple.com>
540 - add more tests (probably the final set for now)
542 Already balanced. Added date, regexp, control flow, and a few
543 more string and object/array access tests.
546 * tests/access-fannkuch.js: Added.
547 * tests/access-nbody.js: Added.
548 * tests/controlflow-recursive.js: Added.
549 * tests/date-format-tofte.js: Added.
550 * tests/date-format-xparb.js: Added.
551 * tests/regexp-dna.js: Added.
552 * tests/string-validate-input.js: Added.
554 2007-10-21 Eric Seidel <eric@webkit.org>
558 * sunspider: make --shark only sample from testkjs
560 2007-10-21 Maciej Stachowiak <mjs@apple.com>
562 Rubber stamped by Eric.
564 - added crypto tests (already balanced)
567 * tests/crypto-aes.js: Added.
568 * tests/crypto-md5.js: Added.
569 * tests/crypto-sha1.js: Added.
571 2007-10-21 Maciej Stachowiak <mjs@apple.com>
575 - rebalance new tests
577 Scaled the new tests so they take 400-600ms on a reasonably normal user setup:
579 Internet Explorer 7, Window XP, Dell Latitude D810 with a 2.13GHz Pentium M
581 This balances them with the existing tests.
583 * tests/access-binary-trees.js:
584 * tests/access-nsieve.js:
585 * tests/bitops-nsieve-bits.js:
586 * tests/math-partial-sums.js:
587 * tests/math-spectral-norm.js:
588 * tests/string-fasta.js:
590 2007-10-20 Eric Seidel <eric@webkit.org>
594 Add improved argument handling to sunspider, including
595 --runs=<number>, --tests=<pattern, --shark, and --help
596 Also re-factor code into subroutines
598 * sunspider: improved argument handling
600 2007-10-20 Maciej Stachowiak <mjs@apple.com>
604 - Add more new tests, mostly from the computer language shootout. Not normalized yet.
608 * tests/access-binary-trees.js: Added.
609 * tests/access-nsieve.js: Added.
610 * tests/bitops-nsieve-bits.js: Added.
611 * tests/math-partial-sums.js: Added.
612 * tests/math-spectral-norm.js: Added.
613 * tests/string-fasta.js: Added.
615 2007-10-20 Maciej Stachowiak <mjs@apple.com>
617 Reviewed by Darin Adler.
619 * TODO: Updated to note areas that are now well-covered.
621 - Change the tests and the driver to avoid leaving large object
622 graphs hanging around, since that throws off the subsequent tests.
624 * resources/sunspider-standalone-driver.js:
627 * tests/3d-raytrace.js:
628 * tests/bitops-bitwise-and.js:
629 * tests/string-base64.js:
630 * tests/string-tagcloud.js:
632 2007-10-20 Maciej Stachowiak <mjs@apple.com>
636 - Rebalance test complexity.
638 Scaled all the tests so they take 400-600ms on a reasonably normal user setup:
640 Internet Explorer 7, Window XP, Dell Latitude D810 with a 2.13GHz Pentium M
642 However, for some tests, IE7 was a huge outlier compared to other
643 major browsers. For those tests, I used Firefox 2.0.0.8 on the
644 same OS and hardware as a normalization basis.
647 * tests/3d-raytrace.js:
648 * tests/bitops-3bit-bits-in-byte.js:
649 * tests/bitops-bits-in-byte.js:
650 * tests/bitops-bitwise-and.js:
651 * tests/math-cordic.js:
652 * tests/string-base64.js:
653 * tests/string-tagcloud.js:
654 * tests/string-unpack-code.js:
656 2007-10-20 Maciej Stachowiak <mjs@apple.com>
660 - Fix the browser-hosted driver to be compatible with Safari 2
662 * hosted/sunspider-driver.html:
664 2007-10-20 Maciej Stachowiak <mjs@apple.com>
666 Rubber stamped by Hyatt.
668 - Add BSD license notice to cordic test, the original author said to do so.
670 * tests/math-cordic.js:
672 2007-10-18 Maciej Stachowiak <mjs@apple.com>
676 - Support Windows and Windows browsers.
678 * hosted/sunspider-results.html: Display results correctly in IE.
679 * sunspider: tweaks to work on Windows, and with spaces in the path.
681 2007-10-18 Maciej Stachowiak <mjs@apple.com>
683 Rubber stamped by Oliver.
685 * tests/string-tagcloud.js: Remove stray print()
687 2007-10-17 Maciej Stachowiak <mjs@apple.com>
691 Add some string test cases.
693 * tests/string-base64.js: Added. Does base64 encoding and decoding.
694 * tests/string-tagcloud.js: Added. Parses a JSON string and
695 generates tagcloud HTML markup based on the data.
696 * tests/string-unpack-code.js: Added. Unpack compressed versions of
697 four of the most popular JavaScript libraries.
698 * tests/LIST: Added the new tests.
700 2007-10-16 Maciej Stachowiak <mjs@apple.com>
704 * TODO: Updated with info on how to do the stats properly.
706 * hosted/sunspider-driver.html: Reduce timeout from 500 to 200 to
707 avoid overly slowing down the benchmark.
709 Added some 3D-related test cases.
711 * tests/3d-cube.js: Added.
712 * tests/3d-morph.js: Added.
713 * tests/3d-raytrace.js: Added.
716 2007-10-14 Maciej Stachowiak <mjs@apple.com>
718 Reviewed by Darin Adler.
720 - New JavaScript benchmark
721 http://bugs.webkit.org/show_bug.cgi?id=15515
723 A start on a new JavaScript benchmark, with standalone and
724 browser-hosted drivers.
726 The test content is still incomplete and the drivers could use
727 some more features but there is enough here to make a good start.
729 The drivers compute a 95% confidence interval on the mean for the
730 whole test, each category, and each individual test to make it
731 easier to tell whether differences are statistically
732 significant. The confidence interval can be narrowed by running
735 * TODO: Added. Remaining things that need to be done.
736 * sunspider: Added. Perl script that acts as the standalone test driver.
737 * resources/sunspider-standalone-driver.js: Added. JavaScript part
738 of standalone test driver.
739 * resources/sunspider-analyze-results.js: Added. JavaScript statistical
741 * resources/TEMPLATE.html: Added. Template for browser-hosted tests.
742 * make-hosted: Added. Script to generate browser-hosted tests.
743 * hosted/sunspider.html: Added. Start page for browser-hosted test.
744 * hosted/sunspider-driver.html: Added. Driver for browser-hosted tests.
745 * hosted/sunspider-results.html: Added. Results page for browser-hosted
747 * hosted/sunspider-record-result.js: Added. Helper file for browser-hosted
749 * tests/LIST: Added. List of tests to use.
750 * tests/bitops-3bit-bits-in-byte.js: Added. Some initial test content.
751 * tests/bitops-bits-in-byte.js: Added. Ditto.
752 * tests/bitops-bitwise-and.js: Added. Ditto.
753 * tests/math-cordic.js: Added. Ditto.