|
|
|
|
|
The table below shows our results as of February 1st, 2000, on an UltraSparc machine running Matlab 5.3 and our latest version of MAJIC. Execution times are in seconds. The FALCON speedups are from Luiz DeRose's PhD thesis for a similar machine; our asymptotic speedups are measured by comparing interpreted runtimes with the execution time of the JIT-ted code. We do not include compile time into these speedup measurements; hence "asymptotic" (the speedups would be accurate if the problem size were infinite). The compile time itself tends to be around 2 seconds, at an average of maybe 20 milliseconds per line of MATLAB source.
This version of MAJIC doesn't have any of the advanced techniques implemented. There is a very basic type analysis followed by a just-in-time code generator. We are looking to build in new compiler techniques to generate more execution speed.
Benchmark | MATLAB running time | MAJIC interpreted running time | MAJIC JIT pure execution time | MAJIC JIT compile + execution time | MAJIC asymptotic speedup | FALCON speedup |
adapt | 8.98 | 13.65 | N/A | N/A | N/A | 2.31 |
cgopt | 3.15 | 3.61 | 3.43 | 3.92 | 0.92 | 2.25 |
crnich | 27.17 | 19.44 | N/A | N/A | N/A | 169.38 |
dirich | 19.81 | 14.65 | 0.22 | 1.25 | 90.05 | 289.53 |
finedif | 17.45 | 20.53 | 0.22 | 0.80 | 79.32 | 175.07 |
galrkn | 17.26 | 24.0 | 0.39 | 1.76 | 44.26 | 78.38 |
icn | 11.01 | 9.64 | 0.36 | 1.09 | 30.58 | 27.37 |
mei | 17.36 | 16.79 | 18.88 | 19.93 | 0.92 | 6.01 |
orbec | 15.68 | 16.33 | 8.08 | 8.60 | 1.94 | 380.89 |
orbrk | 12.34 | 14.36 | N/A | N/A | N/A | 232.39 |
qmr | 15.85 | 16.87 | 16.67 | 18.17 | 0.95 | 3.95 |
sor | 14.26 | 14.41 | 14.42 | 15.10 | 0.99 | 2.53 |