Steve Block | a7e24c1 | 2009-10-30 11:49:00 +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). |
| 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. |
| 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. |
| 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. |
| 55 | |
| 56 | |
| 57 | Changes from Version 4 to Version 5 |
| 58 | =================================== |
| 59 | |
| 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. |
Kristian Monsen | 25f6136 | 2010-05-21 11:50:48 +0100 | [diff] [blame] | 64 | |
| 65 | |
| 66 | Changes from Version 5 to Version 6 |
| 67 | =================================== |
| 68 | |
Steve Block | 8defd9f | 2010-07-08 12:39:36 +0100 | [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 |
Kristian Monsen | 0d5e116 | 2010-09-30 15:31:59 +0100 | [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. |
Steve Block | 8defd9f | 2010-07-08 12:39:36 +0100 | [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. |
Ben Murdoch | 3ef787d | 2012-04-12 10:51:47 +0100 | [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. |