Friday, October 2, 2015

Richards Benchmark


baseline

javascript backend: 0.012 seconds

with manual pre-jitting

javascript backend + JIT Natives: 0.0106 seconds

The Chrome V8 JIT is already optimized for the Richards benchmark, so its harder to make it run any faster. Using a V8 native JIT call to force a method to be optimized before the benchmark timer, it is possible to get a tiny 1/50th of a second more speed. It would be interesting if V8 exposed other native calls that could improve performance. This is enabled with the command line option `--v8-natives`, and the syntax `v8->(F(args))` where `F(args)` is a function or method called with dummy arguments that will warm up the function so V8 can infer its static types.

richards.py

rusthon_0.9.4_all.deb

Wednesday, September 23, 2015

Benchmarks updated


add.py

fannkuch.py

fannkuch old version vs fast setslice

old profile
  • __jsdict_pop replaced by direct call to __array_insert
  • __array_getslice replaced by __array_getslice_lowerstep: 200ms faster
  • __array_setslice 90ms faster

float.py

nbody.py

operator_overloading_functor.py

pystone.py

rusthon_0.9.3_all.deb