| 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 |