V8bench Info

This info is for v8-v5.

v8-crypto

Almost all the time is spent in the function am3(), which is an integer arithmetic kernel that operates on arrays.

JM generates good code for am3().

Type specialization (Crankshaft/TI) is expected to give a big perf boost here.

See also bug 643565.

v8-deltablue

The benchmark builds a system of constraints and runs a solver. The constraints are represented by object-oriented data structures with several levels of wrapping. The bottom level is 'function OrderedCollection', which wraps a JS array.

Because of the many small functions that wrap each other in Java-esque style, this benchmark benefits strongly from fast method calls (o.f()) and/or inlining.

This benchmark also creates many objects and arrays, so allocation speed is also important. GC mark/sweep speed is not critical, but matters somewhat.

The benchmark does a lot of |array.length|, equality comparisons, and Array.push/pop, so making those faster would also help.

See also [1]

v8-earley-boyer

v8-raytrace

v8-regexp

Description. Numerous kernels stuck together. A collection of regexp operations gathered from 50 popular websites, lightly modified, and run in succession.

Key features. Ninety-four different regexps are used in many calls to RegExp.exec() and String.replace(). The return values of these calls are never used.

Mozilla-specific things. We convert RegExp.exec() to RegExp.test() if the result isn't used, or is only tested for null (bug 581595). This speeds the test up by about 1.8x.

v8-richards

v8-splay