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