Serverside Javascript Tracemonkey Performance – Part V

Path: mv.asterisco.pt!mvalente
From: mvale…@ruido-visual.pt (Mario Valente)
Newsgroups: mv
Subject: Serverside Javascript Tracemonkey Performance – Part V
Date: Wed, 27 Aug 08 01:50:21 GMT

Finally had some time free to run the Sunspider tests on
serverside Javascript 1.6 and JS1.8tracemonkey. The results are
listed below.

http://svn.webkit.org/repository/webkit/trunk/SunSpider/tests/

Performance wise there’s not much of notice. Results are
basically in line with Brendan Eich’s results for browserside
tests.

http://weblogs.mozillazine.org/roadmap/archives/2008/08/tracemonkey_javascript_lightsp.html

One thing is of notice though: JS1.8 throws a segfault in
at least 5 of the tests. I dont have much time to debug right
now, but a strace shows that the last system call was a call
to gettimeofday, after a bunch of read()s containing js source
code lines. Maybe a call to date functions… or the fact that
I patched and compiled in the not-recomended jsfile.c File object
support ;-)… Will have to look into it later…

—————————————
3d-cube.js
JS 1.6
real 0.59
user 0.55
sys 0.01

JS 1.8
real 0.08
user 0.06
sys 0.01
—————————————
3d-morph.js
JS 1.6
real 0.69
user 0.61
sys 0.04

JS 1.8
real 0.06
user 0.04
sys 0.02
—————————————
3d-raytrace.js
JS 1.6
real 0.47
user 0.41
sys 0.02

JS 1.8
./perftest: line 1: 13589 Segmentation fault js18 -j $f
real 0.01
user 0.01
sys 0.00
—————————————
access-binary-trees.js
JS 1.6
real 0.27
user 0.22
sys 0.03

JS 1.8
real 0.10
user 0.08
sys 0.01
—————————————
access-fannkuch.js
JS 1.6
real 0.97
user 0.93
sys 0.00

JS 1.8
./perftest: line 1: 13593 Segmentation fault js18 -j $f
real 0.03
user 0.02
sys 0.00
—————————————
access-nbody.js
JS 1.6
real 0.60
user 0.44
sys 0.06

JS 1.8
real 0.07
user 0.05
sys 0.01
—————————————
access-nsieve.js
JS 1.6
real 0.56
user 0.50
sys 0.00

JS 1.8
real 0.03
user 0.03
sys 0.01
—————————————
bitops-3bit-bits-in-byte.js
JS 1.6
real 0.26
user 0.26
sys 0.00

JS 1.8
real 0.00
user 0.00
sys 0.00
—————————————
bitops-bits-in-byte.js
JS 1.6
real 0.40
user 0.38
sys 0.00

JS 1.8
real 0.01
user 0.01
sys 0.00
—————————————
bitops-bitwise-and.js
JS 1.6
real 0.34
user 0.29
sys 0.00

JS 1.8
real 0.03
user 0.01
sys 0.01
—————————————
bitops-nsieve-bits.js
JS 1.6
real 0.66
user 0.56
sys 0.00

JS 1.8
real 0.04
user 0.00
sys 0.00
—————————————
controlflow-recursive.js
JS 1.6
real 0.14
user 0.12
sys 0.00

JS 1.8
real 0.07
user 0.07
sys 0.00
—————————————
crypto-aes.js
JS 1.6
real 0.46
user 0.32
sys 0.04

JS 1.8
./perftest: line 1: 13609 Segmentation fault js18 -j $f
real 0.01
user 0.00
sys 0.00
—————————————
crypto-md5.js
JS 1.6
real 0.38
user 0.27
sys 0.01

JS 1.8
./perftest: line 1: 13611 Segmentation fault js18 -j $f
real 0.02
user 0.02
sys 0.00
—————————————
crypto-sha1.js
JS 1.6
real 0.35
user 0.25
sys 0.01

JS 1.8
real 0.02
user 0.02
sys 0.00
—————————————
date-format-tofte.js
JS 1.6
real 1.03
user 0.69
sys 0.09

JS 1.8
./perftest: line 1: 13615 Segmentation fault js18 -j $f
real 0.08
user 0.07
sys 0.00
—————————————
date-format-xparb.js
JS 1.6
real 1.74
user 1.37
sys 0.17

JS 1.8
real 0.19
user 0.15
sys 0.02
—————————————
math-cordic.js
JS 1.6
real 0.63
user 0.51
sys 0.00

JS 1.8
real 0.05
user 0.04
sys 0.00
—————————————
math-partial-sums.js
JS 1.6
real 0.42
user 0.36
sys 0.02

JS 1.8
real 0.03
user 0.03
sys 0.00
—————————————
math-spectral-norm.js
JS 1.6
real 0.28
user 0.21
sys 0.04

JS 1.8
real 0.02
user 0.01
sys 0.00
—————————————
regexp-dna.js
JS 1.6
real 0.60
user 0.50
sys 0.05

JS 1.8
real 0.37
user 0.33
sys 0.01
—————————————
string-base64.js
JS 1.6
real 1.10
user 0.94
sys 0.07

JS 1.8
real 0.03
user 0.01
sys 0.02
—————————————
string-fasta.js
JS 1.6
real 0.77
user 0.66
sys 0.05

JS 1.8
real 0.23
user 0.20
sys 0.02
—————————————
string-tagcloud.js
JS 1.6
real 0.63
user 0.58
sys 0.00

JS 1.8
real 0.23
user 0.19
sys 0.02
—————————————
string-unpack-code.js
JS 1.6
real 0.54
user 0.48
sys 0.01

JS 1.8
real 0.33
user 0.28
sys 0.04
—————————————
string-validate-input.js
JS 1.6
real 0.43
user 0.35
sys 0.04

JS 1.8
real 0.10
user 0.07
sys 0.02

— MV