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 |