Lisp SBCL versus Java fastest performance Always look at the source code. If the fastest programs are hand-written vector instructions, does the host language matter? You might be more interested in the less optimised programs — more seconds, less gz source code. fannkuch-redux source secs mem gz cpu secs Lisp SBCL #5 30.77 35,984 681 30.77 Lisp SBCL #3 36.37 29,828 826 36.36 Lisp SBCL #4 9.96 29,748 1527 39.01 Java #3 40.36 39,932 1257 40.43 Java 10.71 40,324 1282 42.25 Lisp SBCL #2 46.46 15,576 517 46.46 Java #2 46.85 38,492 514 46.91 n-body source secs mem gz cpu secs Java #5 6.77 40,632 1429 6.82 Java #4 6.86 40,516 1489 6.89 Java #2 7.32 40,508 1424 7.37 Java #3 7.38 40,492 1430 7.43 Lisp SBCL #2 7.79 15,980 1403 7.79 Java 7.76 40,724 1430 7.80 Lisp SBCL 12.79 15,864 1368 12.79 spectral-norm source secs mem gz cpu secs Lisp SBCL #6 5.32 17,484 505 5.32 Lisp SBCL 5.32 17,960 631 5.32 Lisp SBCL #7 1.44 10,880 762 5.68 Lisp SBCL #2 1.44 10,880 915 5.69 Lisp SBCL #3 1.45 10,880 890 5.69 Lisp SBCL #8 1.44 10,880 791 5.69 Java #3 1.54 42,324 756 5.93 Java 7.02 41,448 514 7.09 Java #2 2.39 41,092 950 9.25 mandelbrot source secs mem gz cpu secs Java #4 4.39 101,236 660 16.12 Java #2 4.11 83,924 796 16.21 Lisp SBCL 4.66 47,552 2473 16.48 Lisp SBCL #4 4.17 39,252 2447 16.63 Java #6 4.27 84,532 802 16.86 Java 25.66 40,860 665 25.73 Lisp SBCL #3 10.85 47,100 894 29.07 Java #3 7.37 88,056 903 29.24 pidigits source secs mem gz cpu secs Java #3 0.92 38,380 764 0.95 Java #2 1.34 41,352 938 1.42 Lisp SBCL #3 3.22 127,976 493 3.21 Lisp SBCL #4 3.22 127,976 489 3.22 Lisp SBCL #2 6.02 137,764 648 6.02 Java 7.44 430,616 800 8.45 regex-redux source secs mem gz cpu secs Java 8.58 767,552 868 16.68 Java #6 5.40 637,728 740 17.08 Java #3 5.45 736,544 929 17.42 Lisp SBCL #4 15.63 819,344 1972 31.32 fasta source secs mem gz cpu secs Java #4 3.17 40,400 1524 3.27 Java #6 1.16 46,068 2543 3.65 Java #5 1.23 46,180 2473 3.79 Java #2 4.32 44,708 1257 4.45 Lisp SBCL #6 4.54 15,816 1757 4.54 Lisp SBCL #3 5.96 15,876 1587 5.96 Lisp SBCL #2 9.34 15,996 1622 9.34 Lisp SBCL 9.43 18,812 1424 9.43 k-nucleotide source secs mem gz cpu secs Java 5.03 361,196 1812 16.40 Lisp SBCL #5 16.48 153,116 2320 16.45 Lisp SBCL #4 17.02 152,920 2291 17.02 Java #6 7.17 357,700 1607 25.04 Java #3 7.12 357,568 1635 25.06 Java #4 35.38 201,052 1882 35.83 Lisp SBCL #6 10.20 537,800 2479 37.02 Lisp SBCL 11.81 381,756 2424 38.08 Java #5 18.82 208,376 2219 40.84 Lisp SBCL #3 52.10 381,228 1290 52.08 Lisp SBCL #2 52.27 381,232 1284 52.27 reverse-complement source secs mem gz cpu secs Java #6 3.02 2,027,152 752 3.69 Java #5 4.46 1,094,060 1108 4.58 Lisp SBCL 5.58 1,516,388 904 5.58 Java #4 5.51 1,886,052 651 5.62 Java #7 24.15 1,032,956 1647 6.20 Java #3 Bad Output Lisp SBCL #2 Timed Out Java #8 Bad Output binary-trees source secs mem gz cpu secs Java #4 4.47 2,116,292 840 5.15 Java #6 4.88 2,058,280 529 5.59 Java #3 4.91 2,101,240 540 5.61 Java #2 5.05 2,095,888 552 5.73 Java #7 2.52 1,726,148 835 7.89 Lisp SBCL #3 5.01 364,316 932 9.32 Lisp SBCL 11.20 376,512 589 11.19 Lisp SBCL SBCL 2.3.0 Java openjdk 20 2023-03-21 OpenJDK Runtime Environment (build 20+36-2344) OpenJDK 64-Bit Server VM (build build 20+36-2344 mixed mode, sharing) all Lisp SBCL programs & measurements all Java programs & measurements