÷

 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
 spectral-norm1/191/31/3
 n-body1/71,280×± 5,000,000
 binary-trees1/4± 16
 regex-dna1/4±
 fasta1/241×±
 fannkuch±±±
 k-nucleotide±±
 reverse-complement
 pidigits339×16× 6,000

± 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
 spectral-norm 
JavaScript TraceMonkey58.4958.494,424311  0% 0% 0% 100%
Perl1,094.721,094.6511,060846  0% 0% 0% 100%
 n-body N = 5,000,000 reduced workload 
JavaScript TraceMonkey22.6322.633,293,1761287  4% 3% 3% 100%
Perl162.35162.352,5721140  0% 0% 0% 100%
 binary-trees N = 16 reduced workload 
JavaScript TraceMonkey12.7912.79154,316467  0% 0% 0% 100%
Perl52.4452.4470,092541  0% 0% 0% 100%
 regex-dna 
JavaScript TraceMonkey10.7910.79636,800365  0% 0% 0% 100%
Perl38.7838.78165,064527  0% 0% 0% 100%
 fasta 
JavaScript TraceMonkey135.74135.77104,772923  1% 0% 1% 100%
Perl311.00310.982,548934  1% 1% 1% 100%
 fannkuch 
JavaScript TraceMonkey2,296.582,296.462,696488  0% 0% 0% 100%
Perl2,660.572,660.432,060391  0% 0% 0% 100%
 k-nucleotide 
JavaScript TraceMonkey438.71439.271,057,344423  0% 0% 0% 100%
Perl225.09228.97780,228359  0% 0% 0% 100%
 reverse-complement 
JavaScript TraceMonkey44.8044.801,378,936456  0% 0% 0% 100%
Perl5.305.30433,056298  0% 0% 0% 100%
 pidigits N = 6,000 reduced workload 
JavaScript TraceMonkey1,110.601,110.5557,720609  0% 0% 0% 100%
Perl3.273.283,564385  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-6282cd265a5c

Home Page: Introduction to the JavaScript shell

Download: Building SpiderMonkey tip

Revised BSD license