Racket versus Java -Xint 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 Racket #2 113.80 76,180 916 113.79 Racket #3 30.20 77,300 1109 114.95 Racket 145.19 75,048 655 145.18 Java -Xint #2 646.88 34,844 520 647.12 Java -Xint #3 724.53 35,492 1264 724.79 Java -Xint 194.95 35,732 1289 772.19 n-body source secs mem gz cpu secs Racket #2 14.23 78,496 1695 14.23 Racket 40.72 78,124 1503 40.71 Java -Xint #4 152.29 36,480 1495 152.34 Java -Xint #2 173.31 36,516 1430 173.35 Java -Xint #3 178.93 36,520 1436 178.99 Java -Xint 214.08 36,516 1437 214.15 Java -Xint #5 235.47 36,260 1435 235.55 spectral-norm source secs mem gz cpu secs Racket #3 3.94 76,456 639 14.82 Racket #2 15.07 75,004 539 15.07 Racket 29.59 76,644 452 29.59 Java -Xint 66.36 37,548 521 66.38 Java -Xint #2 16.93 37,300 956 67.39 Java -Xint #3 26.77 37,928 762 104.77 mandelbrot source secs mem gz cpu secs Racket #3 34.73 76,156 808 34.73 Racket #4 10.56 135,104 810 41.33 Racket 49.27 75,972 524 49.27 Racket #2 51.25 73,732 592 51.25 Java -Xint 359.43 36,376 671 359.55 Java -Xint #3 123.45 75,044 910 492.42 Java -Xint #4 172.46 98,700 667 641.60 Java -Xint #2 163.31 74,520 802 651.81 Java -Xint #6 170.34 74,148 808 680.04 pidigits source secs mem gz cpu secs Java -Xint #3 0.96 36,096 770 0.96 Racket #2 1.34 79,072 1142 1.34 Java -Xint #2 1.46 38,020 944 1.46 Racket 10.38 78,084 459 10.38 Java -Xint 169.47 187,692 807 169.57 regex-redux source secs mem gz cpu secs Racket 23.80 1,294,036 548 23.80 Racket #2 13.97 1,545,628 736 25.59 Java -Xint 511.20 620,232 875 908.60 Java -Xint #6 346.10 1,220,172 746 915.26 Java -Xint #3 350.48 598,176 935 919.31 fasta source secs mem gz cpu secs Racket #3 8.07 76,708 1291 8.07 Racket 18.32 74,776 1071 18.31 Java -Xint #5 8.78 40,484 2478 23.13 Java -Xint #4 24.99 35,732 1528 24.99 Java -Xint #6 9.00 40,480 2549 30.30 Java -Xint #2 36.75 35,476 1259 36.76 k-nucleotide source secs mem gz cpu secs Racket #4 63.67 926,924 893 63.66 Racket 200.38 2,438,152 554 198.38 Java -Xint 169.72 354,492 1821 424.92 Java -Xint #4 649.13 187,068 1887 649.37 Java -Xint #5 287.03 206,928 2225 675.05 Java -Xint #6 405.71 353,208 1614 1,348.49 Java -Xint #3 405.61 355,152 1642 1,348.58 reverse-complement source secs mem gz cpu secs Racket #2 8.99 783,600 1038 8.98 Racket 40.99 2,047,504 560 40.99 Java -Xint #6 39.98 2,027,164 760 49.13 Java -Xint #4 82.48 1,882,316 656 82.50 Java -Xint #5 160.63 1,088,900 1115 158.65 Java -Xint #7 615.74 1,029,908 1654 1,436.84 Java -Xint #3 Bad Output Java -Xint #8 Bad Output binary-trees source secs mem gz cpu secs Racket #3 6.79 300,316 480 6.79 Racket #2 9.00 323,828 422 9.00 Racket #4 4.77 408,068 861 9.38 Racket 15.80 544,844 482 15.79 Java -Xint #3 63.72 1,339,436 546 64.37 Java -Xint #6 67.18 1,289,400 535 67.82 Java -Xint #2 67.24 1,271,088 558 67.95 Java -Xint #4 83.92 1,110,452 846 84.71 Java -Xint #7 30.46 1,084,356 841 89.46 Racket Racket v8.12 [cs]. Java -Xint java 22 2024-03-19 Java HotSpot(TM) 64-Bit Server VM (build 22+36-2370, interpreted mode, sharing) all Racket programs & measurements all Java -Xint programs & measurements