The Computer Language
24.04 Benchmarks Game

F# .NET versus OCaml 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
F# .NET #6 8.37 31,488 1103 32.55
OCaml #3 8.94 19,796 1024 35.72
OCaml #4 8.93 19,796 1018 35.73
F# .NET #5 9.84 36,572 927 38.67
OCaml #2 46.91 19,668 478 46.91
OCaml 51.57 19,668 529 51.57
F# .NET 91.91 49,912 558 96.68
n-body
source secs mem gz cpu secs
F# .NET #6 4.97 34,020 1395 4.95
F# .NET #5 5.01 34,008 1363 5.00
OCaml 6.83 19,688 1255 6.83
F# .NET #4 6.88 34,256 1296 6.87
F# .NET #3 6.92 32,088 1624 6.89
F# .NET #2 7.39 34,188 1387 7.37
F# .NET 7.76 49,484 1272 7.82
spectral-norm
source secs mem gz cpu secs
OCaml #2 5.31 19,688 383 5.31
F# .NET #4 1.62 36,224 738 6.01
F# .NET #2   Timed Out  
mandelbrot
source secs mem gz cpu secs
F# .NET #2 7.22 38,032 1054 28.29
OCaml #6 28.68 19,688 450 28.68
OCaml 7.55 19,812 723 30.02
F# .NET #5   Make Error  
F# .NET   Make Error  
F# .NET #6   Make Error  
pidigits
source secs mem gz cpu secs
F# .NET #6 0.97 31,460 917 0.95
F# .NET #4 1.35 33,388 887 1.37
OCaml #5 2.86 19,508 465 2.86
OCaml #7   Make Error  
regex-redux
source secs mem gz cpu secs
F# .NET #2 4.63 852,508 437 4.87
F# .NET #6 1.76 860,064 622 5.19
F# .NET #7 4.50 1,397,868 610 6.36
OCaml #2 13.51 922,760 644 13.51
F# .NET   Bad Output  
F# .NET #4   Bad Output  
OCaml #3   Make Error  
fasta
source secs mem gz cpu secs
OCaml #6 3.36 201,856 1194 3.36
F# .NET #3 1.14 72,032 1361 4.13
F# .NET #4 1.24 90,032 1355 4.62
OCaml #3 4.66 19,796 1075 4.66
k-nucleotide
source secs mem gz cpu secs
F# .NET #2 4.71 198,872 1932 16.34
F# .NET #5 4.92 198,784 1964 16.53
F# .NET #3 12.07 1,322,292 1124 26.04
F# .NET #4 10.47 1,321,944 1522 26.43
OCaml #3 15.81 258,380 1839 42.53
OCaml 43.82 338,264 894 43.81
OCaml #2 26.57 314,252 1247 60.40
F# .NET 24.10 1,108,380 713 83.78
F# .NET #6   Make Error  
reverse-complement
source secs mem gz cpu secs
OCaml 2.23 19,816 1372 5.42
OCaml #3 2.28 19,816 1361 6.06
OCaml #2 9.26 888,064 426 9.26
F# .NET 37.87 1,962,472 603 39.22
F# .NET #4   Timed Out  
F# .NET #5   Timed Out  
binary-trees
source secs mem gz cpu secs
OCaml #5 8.18 213,760 468 8.17
OCaml #2 3.42 217,384 759 9.63
F# .NET 10.25 1,214,512 517 12.10
F# .NET #7 5.26 1,671,736 527 15.45
F# .NET

.NET SDK 8.0.200
Host Version: 8.0.2
Commit: 1381d5ebd2
<ServerGarbageCollection>true
F# 8.0

OCaml

OCaml native-code
version 5.1.1