x64 Ubuntu : Intel® Q6600® quad-core |
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.
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-body | 1/7 | 1,280× | ± | 5,000,000 |
| spectral-norm | 1/5 | 1/2 | 1/3 | |
| binary-trees | 1/4 | 2× | ± | 16 |
| fasta | 1/2 | 41× | ± | |
| regex-dna | ± | 4× | ± | |
| fannkuch | 2× | 1/3 | ± | |
| k-nucleotide | 6× | 1/3 | 1/2 | |
| reverse-complement | 8× | 3× | 2× | |
| pidigits | 333× | 16× | 2× | 6,000 |
± read the measurements and then read the program source code.
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 = 5,000,000 reduced workload | |||||
| JavaScript TraceMonkey | 22.45 | 22.47 | 3,293,176 | 1287 | 100% 0% 0% 0% |
| Perl | 168.45 | 168.44 | 2,572 | 1140 | 0% 100% 0% 0% |
| spectral-norm | |||||
| JavaScript TraceMonkey | 58.40 | 58.41 | 4,428 | 311 | 0% 100% 0% 0% |
| Perl | 1,137.10 | 285.55 | 10,976 | 846 | 100% 100% 100% 100% |
| binary-trees N = 16 reduced workload | |||||
| JavaScript TraceMonkey | 12.71 | 12.71 | 154,316 | 467 | 100% 0% 0% 0% |
| Perl | 50.61 | 50.61 | 70,092 | 541 | 0% 0% 0% 100% |
| fasta | |||||
| JavaScript TraceMonkey | 135.09 | 136.49 | 104,300 | 923 | 30% 21% 24% 28% |
| Perl | 314.46 | 314.46 | 2,548 | 934 | 100% 0% 0% 0% |
| regex-dna | |||||
| JavaScript TraceMonkey | 10.79 | 10.80 | 636,800 | 365 | 0% 100% 0% 0% |
| Perl | 38.61 | 12.84 | 167,208 | 527 | 78% 66% 76% 81% |
| fannkuch | |||||
| JavaScript TraceMonkey | 2,255.13 | 2,255.05 | 2,688 | 488 | 14% 51% 34% 0% |
| Perl | 3,749.89 | 942.90 | 8,808 | 471 | 99% 100% 100% 100% |
| k-nucleotide | |||||
| JavaScript TraceMonkey | 443.71 | 444.53 | 1,057,340 | 423 | 98% 1% 1% 0% |
| Perl | 256.15 | 78.58 | 2,883,780 | 648 | 81% 71% 88% 84% |
| reverse-complement | |||||
| JavaScript TraceMonkey | 44.49 | 44.49 | 1,377,688 | 456 | 100% 0% 0% 0% |
| Perl | 5.25 | 5.25 | 431,496 | 298 | 100% 0% 0% 0% |
| pidigits N = 6,000 reduced workload | |||||
| JavaScript TraceMonkey | 1,106.85 | 1,106.79 | 57,796 | 609 | 1% 100% 1% 1% |
| Perl | 3.32 | 3.32 | 3,548 | 385 | 100% 0% 0% 0% |
| mandelbrot | |||||
| JavaScript TraceMonkey | |||||
| chameneos-redux | |||||
"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