OLD | NEW |
(Empty) | |
| 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. |
| 64 |
| 65 |
| 66 Changes from Version 5 to Version 6 |
| 67 =================================== |
| 68 |
| 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 |
| 73 increasing pressure on the memory subsystem. Changed the RegExp |
| 74 benchmark to exercise the regular expression engine on different |
| 75 input strings. |
| 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. |
OLD | NEW |