÷

 Step 1 : Are the JavaScript TraceMonkey programs faster? At a glance.

This chart shows 3 comparisons - Time-used, Memory-used and Code-used.

Each chart bar shows, for one unidentified benchmark, how much the fastest JavaScript TraceMonkey program used compared to the fastest Perl program.


 Step 2 : Are the JavaScript TraceMonkey programs faster? Approximately.

This table shows 3 comparisons - Time-used, Memory-used and Code-used.

Each table row shows, for one named benchmark, how much the fastest JavaScript TraceMonkey program used compared to the fastest Perl program.

 JavaScript TraceMonkey used what fraction? used how many times more? 
Benchmark Time Memory Code Reduced N
 n-body1/6142×± 500,000
 spectral-norm1/51/21/3
 binary-trees1/5± 16
 fasta1/250×±
 regex-dna1/2±
 fannkuch1/3±
 k-nucleotide1/41/2
 reverse-complement11×
 pidigits614×19×

± read the measurements and then read the program source code.

 Step 3 : Are the JavaScript TraceMonkey programs faster? Measurements.

This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ~ CPU Load.

For each named benchmark, measurements of the fastest JavaScript TraceMonkey program are shown for comparison against measurements of the fastest Perl program.

Program Source Code CPU secs Elapsed secs Memory KB Code B ~ CPU Load
 n-body N = 500,000 reduced workload 
JavaScript TraceMonkey2.992.99301,7841287  100% 0% 0% 0%
Perl19.0819.082,1321140  0% 0% 100% 0%
 spectral-norm 
JavaScript TraceMonkey58.5858.594,072311  0% 0% 100% 0%
Perl1,212.30304.617,792846  100% 100% 99% 100%
 binary-trees N = 16 reduced workload 
JavaScript TraceMonkey11.6411.64142,040467  0% 0% 100% 0%
Perl53.1153.1141,788541  0% 100% 0% 0%
 fasta 
JavaScript TraceMonkey197.41197.60106,252923  1% 0% 23% 76%
Perl339.78339.762,112934  100% 0% 0% 0%
 regex-dna 
JavaScript TraceMonkey8.548.54570,712365  0% 100% 0% 0%
Perl39.0714.23153,584527  55% 66% 58% 96%
 fannkuch 
JavaScript TraceMonkey1,674.181,674.082,400488  0% 0% 0% 100%
Perl4,206.051,062.526,020471  99% 99% 99% 100%
 k-nucleotide 
JavaScript TraceMonkey547.79548.79659,444423  2% 97% 0% 0%
Perl281.5788.722,774,904648  78% 73% 88% 83%
 reverse-complement 
JavaScript TraceMonkey61.4961.49894,528456  0% 0% 100% 0%
Perl5.785.79124,036237  0% 0% 0% 100%
 pidigits 
JavaScript TraceMonkey4,316.674,316.5261,700609  3% 17% 0% 81%
Perl7.037.033,284385  0% 0% 0% 100%
 mandelbrot
JavaScript TraceMonkeyFailed
 chameneos-redux
   No program

 Measurements for all the accepted programs

 JavaScript TraceMonkey : ubiquitous web-browser embedded scripting  

"Trace-based Just-in-Time Type Specialization for Dynamic Languages" pdf

mozilla-central-4b8962aad902

Home Page: Introduction to the JavaScript shell

Download: Building SpiderMonkey tip

Revised BSD license