new2 new2
WWW http://www.math.utah.edu/~beebe

Just-in-time compilation improvement on the Linpack 100x100 benchmark

Last update: [25-Jun-1998]

Original version: Tue Jun 30 12:36:21 1998
Last update: Fri Nov 12 15:52:51 2004

The following tables were computed using the Java version of the Linpack 100x100 benchmark program. For each machine tested (all at the author's site), debugging vs. no-debugging, and just-in-time compilation vs. byte-code interpretation. This gives four combinations: each was run 16 times, and the results were averaged. In some cases, the Mflop ratings varied by as much as a factor of two in these runs, so the averaging is essential.

The results were collected in a spreadsheet, where the last two columns are computed from the ratios of earlier column pairs, and the result then saved and converted to HTML for this file.

Local copies of the Java program, a UNIX Makefile for running the benchmarks, and the spreadsheets in a variety of exchange formats, are available here. Contributions of results for additional machines are welcome, and can be sent to beebe@math.utah.edu. If you run this benchmark on other Sun models running Solaris 2.x, you can use the /opt/SUNWspro/bin/fpversion program to find out the chip name and clock rate.

The table rows are sorted first by O/S, and then in descending order by the JIT Mflops values.

The Java implementation in Sun Solaris 2.5 does not offer just-in-time compilation, but Solaris 2.6 does, and the effect is dramatic. Notice the SPARC 20/512 results, which are provided for both versions of the operating system.

Compilation for debugging

Vendor Model Chip MHz O/S Debug+JIT Debug+no-JIT (Debug+JIT)/
Mflops Mflops (Debug+no-JIT)
Sun SPARCstation 5 Fujitsu MB86904 microSPARC II 110 Solaris 2.5 0.079 0.064 1.234
Sun SPARC 20/512 TI TMS390Z50 SuperSPARC 50 Solaris 2.5 0.062 0.060 1.033
Sun SPARCstation 10/41 TI TMS390Z50 SuperSPARC 40 Solaris 2.5 0.058 0.058 1.000
Sun SPARCstation LX TI TMS390S10 microSPARC 50 Solaris 2.5 0.029 0.030 0.967
Sun SPARCstation 2 SPARC 40 Solaris 2.5 0.028 0.028 1.000
Sun SPARCstation IPX SPARC 40 Solaris 2.5 0.028 0.028 1.000
Sun SPARCstation IPC SPARC 25 Solaris 2.5 0.017 0.017 1.000
Sun SPARCstation ELC SPARC 20 Solaris 2.5 0.014 0.014 1.000
Sun Ultra 10 UltraSPARC 300 Solaris 2.6 13.112 0.273 48.029
Sun Ultra 5 UltraSPARC 270 Solaris 2.6 11.149 0.244 45.693
Sun UltraSPARC 2200 UltraSPARC 200 Solaris 2.6 9.258 0.186 49.774
Sun UltraSPARC 2170 UltraSPARC 167 Solaris 2.6 7.604 0.156 48.744
Sun UtraSPARC 170E-3D UltraSPARC 167 Solaris 2.6 7.754 0.157 49.389
Sun UltraSPARC 170 UltraSPARC 167 Solaris 2.6 7.277 0.150 48.513
Sun UltraSPARC 140 UltraSPARC 143 Solaris 2.6 6.639 0.135 49.178
Sun SPARC 20/512 TI TMS390Z50 SuperSPARC 50 Solaris 2.6 2.910 0.059 49.322

Normal compilation

Vendor Model Chip MHz O/S JIT no-JIT JIT/
Mflops Mflops no-JIT
Sun SPARCstation 5 Fujitsu MB86904 microSPARC II 110 Solaris 2.5 0.406 0.407 0.998
Sun SPARC 20/512 TI TMS390Z50 SuperSPARC 50 Solaris 2.5 0.284 0.286 0.993
Sun SPARCstation 10/41 TI TMS390Z50 SuperSPARC 40 Solaris 2.5 0.232 0.231 1.004
Sun SPARCstation LX TI TMS390S10 microSPARC 50 Solaris 2.5 0.126 0.122 1.033
Sun SPARCstation 2 SPARC 40 Solaris 2.5 0.116 0.115 1.009
Sun SPARCstation IPX SPARC 40 Solaris 2.5 0.116 0.115 1.009
Sun SPARCstation IPC SPARC 25 Solaris 2.5 0.065 0.065 1.000
Sun SPARCstation ELC SPARC 20 Solaris 2.5 0.052 0.049 1.061
Sun Ultra 10 UltraSPARC 300 Solaris 2.6 13.485 1.754 7.688
Sun Ultra 5 UltraSPARC 270 Solaris 2.6 11.553 1.542 7.492
Sun UltraSPARC 2200 UltraSPARC 200 Solaris 2.6 9.612 1.184 8.118
Sun UltraSPARC 2170 UltraSPARC 167 Solaris 2.6 8.097 0.997 8.121
Sun UtraSPARC 170E-3D UltraSPARC 167 Solaris 2.6 7.989 0.995 8.029
Sun UltraSPARC 170 UltraSPARC 167 Solaris 2.6 7.766 0.965 8.048
Sun UltraSPARC 140 UltraSPARC 143 Solaris 2.6 6.893 0.850 8.109
Sun SPARC 20/512 TI TMS390Z50 SuperSPARC 50 Solaris 2.6 3.273 0.517 6.331