V8

V8 resources starting point:

Dependencies:

  • Python, Subversion
  • Note that SCons is no longer needed, gyp (generate your projects) is being used instead. A pre-defined version of gyp is downloaded into the v8 clone, see command flow below.

Download and build:

Basic flow:

# Clone v8
git clone git://github.com/v8/v8.git v8 && cd v8

# Download GYP into the v8 folder
make dependencies

# Build v8 with shell in release mode, shared library
make library=shared arm.release

# Run the v8 benchmark suite
cd benchmarks; ../out/arm.release/shell run.js

Notes:

  • Approximately, the time to build the V8 engine on ARM is 18 min

SunSpider

# Check out a copy
svn checkout http://svn.webkit.org/repository/webkit/trunk WebKit

# SunSpider resides here
cd WebKit/PerformanceTests/SunSpider

# Run the SunSpider benchmark, the default version which is 1.0:
./sunspider --shell=PATH_TO_V8_DIR/shell --args=--expose_gc --runs=10

Running SunSpider in cbuild

v8-SunSpider can be run in cbuild like the other benchmarks.

A file containing a copy of v8 must be placed in the cbuild/files folder. The file is attached to this wiki page. Please note that SunSpder and gyp is included in the tar ball, so the steps above describing how to download and build v8 and SunSpider are not needed.

# Build the V8 engine using gcc-linaro-4.6-2012.02 and run SunSpider (with default settings)
make -f ../../lib/build.mk gcc-linaro-4.6-2012.02/benchmarks.stamp BENCHMARKS=v8

Look here for more cbuild instructions.

Results

Here we see the total result for the SunSpider benchmark for four different toolchains. I have used gcc-4.6.2 as the reference. The total result is just the sum of the individual test cases.

sunspider-overall-trimmed.png

The following charts, one for each variant, show the improvement/regression for each subtest in the suite.

sunspider-relative_improvement_o2-trimmed.png

sunspider-relative_improvement_o3-trimmed.png

WorkingGroups/ToolChain/Benchmarks/V8_And_SunSpider (last modified 2012-03-21 14:22:02)