Lua 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 Lua 601.99 19,664 469 601.97 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 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 Lua #4 227.77 19,672 1312 227.76 Java -Xint #5 235.47 36,260 1435 235.55 Lua #2 239.26 19,672 1200 239.25 Lua 267.17 19,672 1207 267.16 spectral-norm source secs mem gz cpu secs Java -Xint 66.36 37,548 521 66.38 Java -Xint #2 16.93 37,300 956 67.39 Lua 78.53 19,672 335 78.53 Java -Xint #3 26.77 37,928 762 104.77 mandelbrot source secs mem gz cpu secs Lua #3 343.95 19,672 364 343.94 Lua 344.46 19,672 365 344.43 Java -Xint 359.43 36,376 671 359.55 Lua #2 375.98 19,672 373 375.96 Lua #6 113.21 282,112 630 398.58 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 Java -Xint #2 1.46 38,020 944 1.46 Java -Xint 169.47 187,692 807 169.57 Lua #7 Failed Lua #5 Failed Lua Failed regex-redux source secs mem gz cpu secs 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 Lua Failed fasta source secs mem gz cpu secs Java -Xint #5 8.78 40,484 2478 23.13 Lua #2 24.01 19,672 1065 24.01 Lua #3 24.02 19,672 1065 24.02 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 Lua #2 97.75 596,472 620 97.73 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 Lua #2 40.39 2,654,604 560 40.39 Lua #5 41.27 2,169,636 725 41.26 Lua #4 49.05 1,030,016 600 49.04 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 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 Lua #2 143.45 956,672 418 143.42 Lua #3 82.25 809,984 690 164.04 Lua #4 47.92 956,672 670 178.17 Lua Lua 5.4.6 Copyright (C) 1994-2023 Lua.org, PUC-Rio Java -Xint java 22 2024-03-19 Java HotSpot(TM) 64-Bit Server VM (build 22+36-2370, interpreted mode, sharing) all Lua programs & measurements all Java -Xint programs & measurements