The Computer Language
25.02 Benchmarks Game

Node.js versus Java

How the programs are written matters! 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
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Java #3 40.03 62,276 1264 1.93 39.96—40.70
Java 10.50 62,824 1289 1.76 42.15—43.19
Node.js #5 11.14 109,359 1320 0.11 44.12—44.75
Java #2 45.42 60,305 520 1.59 46.60—54.76
Java #8 46.67 60,162 517 1.65 52.08—57.09
Node.js #8 58.20 63,136 452 0.11 58.18
n-body
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Java #4 6.92 60,936 1495 1.76 6.94
Java #5 7.34 61,641 1435 1.63 7.39
Java #2 7.51 60,588 1430 1.66 7.53
Java #3 7.53 60,764 1436 1.65 7.54
Java #8 7.62 61,059 1322 1.65 7.66
Java 7.89 61,207 1437 1.64 7.91
Node.js #6 8.60 66,097 1274 0.11 8.62—8.69
Node.js #8 9.65 65,671 1173 0.12 9.66—9.77
spectral-norm
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Node.js #7 5.40 65,417 420 0.14 5.40
Node.js 5.41 66,429 326 0.12 5.42—5.62
Java 5.47 61,923 521 1.65 5.51
Java #8 5.47 62,214 453 1.66 5.51
Java #3 1.61 62,992 762 1.70 6.02
Node.js #6 1.61 114,618 1002 0.12 6.03
Java #2 1.64 61,846 956 1.69 6.19
Node.js #8 6.53 66,380 355 0.11 6.53—6.67
mandelbrot
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Node.js #3 4.05 143,802 1128 0.07 15.87—15.93
Java #4 4.43 125,346 667 1.85 16.14—16.20
Java #2 4.17 100,966 802 1.70 16.33—16.47
Java #6 4.23 101,396 808 1.78 16.65—16.80
Java 24.55 60,981 671 1.74 24.60—24.73
Java #8 27.72 63,488 441 1.63 27.85—27.90
Java #3 7.12 101,405 910 1.66 30.67—35.89
Node.js #2 29.40 73,261 422 0.12 29.42
Node.js 68.65 67,793 380 0.11 70.52—72.09
Node.js #8 70.27 67,498 412 0.09 71.43—72.95
fasta
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Java #4 3.32 62,530 1528 1.71 3.44
Java #6 1.20 68,858 2549 1.89 3.73
Java #5 1.27 68,436 2478 1.89 4.00—4.17
Java #2 4.49 63,721 1259 1.86 4.68—4.72
* Node.js #5 2.55 117,953 2050 0.14 7.11—7.18
Java #8 10.26 202,498 894 1.75 10.97—11.26
Node.js #8 19.16 73,728 742 0.10 19.41—19.52
Node.js 38.96 70,394 815 0.12 39.72—40.24
k-nucleotide
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Java 4.95 395,911 1821 2.18 16.20—17.07
Java #3 7.34 440,570 1642 2.09 25.33—26.04
Java #6 7.33 440,021 1614 2.04 25.38—26.07
Java #4 34.47 219,398 1887 2.03 34.92—35.12
Java #5 15.99 242,340 2225 2.25 41.77—45.84
Node.js #3 16.44 452,764 1817 0.12 44.48—45.05
Java #8 80.18 1,478,750 786 2.25 84.45—86.62
Node.js #8 107.03 736,874 678 0.09 109.38—113.28
Node.js #2 37.75 1,894,363 941 0.11 113.17—114.37
Node.js 39.56 1,365,475 1011 0.11 115.80—116.78
reverse-complement
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Java #6 3.23 2,102,866 760 1.77 3.86
Java #5 4.81 1,143,628 1115 1.68 4.92—5.03
Java #4 5.77 1,956,815 656 1.51 5.90—5.94
* Node.js #2 15.52 764,158 1228 0.13 16.24—16.30
* Node.js #7   Bad Output  
Java #7   Bad Output  
Java #3   Bad Output  
binary-trees
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Java #4 4.55 1,848,893 846 1.84 5.55—5.91
Java #6 4.88 1,587,278 535 1.66 5.70—5.81
Java #3 4.84 1,661,899 546 1.59 5.65—5.74
Java #2 5.06 1,738,625 558 1.59 5.88—5.97
Java #8 6.56 1,640,554 596 1.62 7.30—7.37
Java #7 2.64 1,787,023 841 1.81 8.18—8.24
Node.js #7 15.99 1,076,969 458 0.11 28.29—28.58
Node.js #6 8.54 1,278,456 752 0.12 30.88—31.03
Node.js #8 19.97 952,320 521 0.13 33.35—33.64
Node.js 8.95 1,401,799 717 0.11 33.88—34.17
pidigits
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
* Java #3 0.84 60,092 770 1.82 0.84
Node.js #4 1.15 71,004 487 0.12 1.16
* Java #2 1.33 64,795 944 1.62 1.39
Java 7.72 423,662 807 1.76 8.77—8.81
Node.js #2 12.19 101,380 405 0.12 12.18—12.39
Node.js #3 12.28 101,482 431 0.14 12.42—12.70
regex-redux
  elapsed       Mean or 95% CI
source secs mem gz make cpu secs
Node.js #3 4.31 839,913 675 0.12 5.33
Node.js #4 5.46 1,036,313 471 0.11 5.73—5.82
Java 8.50 532,001 875 1.73 16.76—16.99
Java #6 5.63 1,287,786 746 1.95 17.15—17.44
Java #3 5.33 643,936 935 1.97 17.06—17.25
Java #2   Bad Output  
Node.js

v23.0.0

Java

java 23 2024-09-17
Java HotSpot(TM) 64-Bit Server VM
(build 23+37-2369,
mixed mode, sharing)