v8.team.kasperl | 727e995 | 2008-09-02 14:56:44 +0000 | [diff] [blame] | 1 | V8 Benchmark Suite |
| 2 | ================== |
| 3 | |
| 4 | This is the V8 benchmark suite: A collection of pure JavaScript |
| 5 | benchmarks that we have used to tune V8. The licenses for the |
| 6 | individual benchmarks are included in the JavaScript files. |
| 7 | |
| 8 | In addition to the benchmarks, the suite consists of the benchmark |
| 9 | framework (base.js), which must be loaded before any of the individual |
| 10 | benchmark files, and two benchmark runners: An HTML version (run.html) |
| 11 | and a standalone JavaScript version (run.js). |
kasperl@chromium.org | 41044eb | 2008-10-06 08:24:46 +0000 | [diff] [blame] | 12 | |
| 13 | |
| 14 | Changes From Version 1 To Version 2 |
| 15 | =================================== |
| 16 | |
| 17 | For version 2 the crypto benchmark was fixed. Previously, the |
| 18 | decryption stage was given plaintext as input, which resulted in an |
| 19 | error. Now, the decryption stage is given the output of the |
| 20 | encryption stage as input. The result is checked against the original |
| 21 | plaintext. For this to give the correct results the crypto objects |
| 22 | are reset for each iteration of the benchmark. In addition, the size |
| 23 | of the plain text has been increased a little and the use of |
| 24 | Math.random() and new Date() to build an RNG pool has been removed. |
| 25 | |
| 26 | Other benchmarks were fixed to do elementary verification of the |
| 27 | results of their calculations. This is to avoid accidentally |
| 28 | obtaining scores that are the result of an incorrect JavaScript engine |
| 29 | optimization. |
iposva@chromium.org | 245aa85 | 2009-02-10 00:49:54 +0000 | [diff] [blame] | 30 | |
| 31 | |
| 32 | Changes From Version 2 To Version 3 |
| 33 | =================================== |
| 34 | |
| 35 | Version 3 adds a new benchmark, RegExp. The RegExp benchmark is |
| 36 | generated by loading 50 of the most popular pages on the web and |
| 37 | logging all regexp operations performed. Each operation is given a |
| 38 | weight that is calculated from an estimate of the popularity of the |
| 39 | pages where it occurs and the number of times it is executed while |
| 40 | loading each page. Finally the literal letters in the data are |
| 41 | encoded using ROT13 in a way that does not affect how the regexps |
| 42 | match their input. |
kasperl@chromium.org | b3284ad | 2009-05-18 06:12:45 +0000 | [diff] [blame] | 43 | |
| 44 | |
| 45 | Changes from Version 3 to Version 4 |
| 46 | =================================== |
| 47 | |
| 48 | The Splay benchmark is a newcomer in version 4. It manipulates a |
| 49 | splay tree by adding and removing data nodes, thus exercising the |
| 50 | memory management subsystem of the JavaScript engine. |
| 51 | |
| 52 | Furthermore, all the unused parts of the Prototype library were |
| 53 | removed from the RayTrace benchmark. This does not affect the running |
| 54 | of the benchmark. |
sgjesse@chromium.org | 755c5b1 | 2009-05-29 11:04:38 +0000 | [diff] [blame] | 55 | |
| 56 | |
| 57 | Changes from Version 4 to Version 5 |
| 58 | =================================== |
| 59 | |
kasperl@chromium.org | 68ac009 | 2009-07-09 06:00:35 +0000 | [diff] [blame] | 60 | Removed duplicate line in random seed code, and changed the name of |
| 61 | the Object.prototype.inherits function in the DeltaBlue benchmark to |
| 62 | inheritsFrom to avoid name clashes when running in Chromium with |
| 63 | extensions enabled. |
vegorov@chromium.org | dff694e | 2010-05-17 09:10:26 +0000 | [diff] [blame] | 64 | |
| 65 | |
| 66 | Changes from Version 5 to Version 6 |
| 67 | =================================== |
| 68 | |
lrn@chromium.org | 32d961d | 2010-06-30 09:09:34 +0000 | [diff] [blame] | 69 | Removed dead code from the RayTrace benchmark and fixed a couple of |
| 70 | typos in the DeltaBlue implementation. Changed the Splay benchmark to |
| 71 | avoid converting the same numeric key to a string over and over again |
| 72 | and to avoid inserting and removing the same element repeatedly thus |
fschneider@chromium.org | c20610a | 2010-09-22 09:44:58 +0000 | [diff] [blame] | 73 | increasing pressure on the memory subsystem. Changed the RegExp |
| 74 | benchmark to exercise the regular expression engine on different |
| 75 | input strings. |
lrn@chromium.org | 32d961d | 2010-06-30 09:09:34 +0000 | [diff] [blame] | 76 | |
| 77 | Furthermore, the benchmark runner was changed to run the benchmarks |
| 78 | for at least a few times to stabilize the reported numbers on slower |
| 79 | machines. |
rossberg@chromium.org | 2c067b1 | 2012-03-19 11:01:52 +0000 | [diff] [blame] | 80 | |
| 81 | |
| 82 | Changes from Version 6 to Version 7 |
| 83 | =================================== |
| 84 | |
| 85 | Added the Navier-Stokes benchmark, a 2D differential equation solver |
| 86 | that stresses arithmetic computations on double arrays. |