The Computer Language
24.04 Benchmarks Game

Free Pascal versus Ada 2012 GNAT fastest performance

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
source secs mem gz cpu secs
Ada 2012 GNAT #3 8.21 19,784 2120 32.46
Free Pascal 10.58 19,664 1032 42.13
n-body
source secs mem gz cpu secs
Ada 2012 GNAT #2 5.74 19,840 2623 5.74
Ada 2012 GNAT #3 5.82 19,712 1758 5.82
Ada 2012 GNAT 5.83 19,712 1624 5.83
Free Pascal 6.28 19,680 1315 6.28
Free Pascal #2 6.28 19,680 1328 6.28
Free Pascal #3 7.16 19,680 1424 7.16
Ada 2012 GNAT #5 8.99 19,712 2452 8.98
spectral-norm
source secs mem gz cpu secs
Ada 2012 GNAT #4 0.75 19,844 2777 2.85
Ada 2012 GNAT 5.36 19,716 725 5.35
Free Pascal #3 1.44 19,824 632 5.70
Free Pascal #2 1.45 19,696 548 5.71
Ada 2012 GNAT #3 1.47 19,844 1725 5.72
Free Pascal 11.77 19,696 429 11.77
mandelbrot
source secs mem gz cpu secs
Ada 2012 GNAT #3 3.92 36,736 1825 15.43
Free Pascal #8 3.90 33,024 958 15.47
Free Pascal #7 6.55 36,992 930 26.05
Free Pascal #3 26.52 19,680 533 26.52
Ada 2012 GNAT #2 28.26 19,712 583 28.26
Free Pascal #2 10.96 33,024 833 29.39
Free Pascal 10.98 33,024 833 29.41
Free Pascal #6 7.45 36,096 788 29.64
pidigits
source secs mem gz cpu secs
Free Pascal #3 0.87 19,824 493 0.87
Ada 2012 GNAT #2 0.88 19,712 1137 0.88
Free Pascal #2 5.36 19,696 802 5.36
Ada 2012 GNAT 5.36 19,712 1163 5.36
Free Pascal 14.63 19,696 3054 14.63
regex-redux
source secs mem gz cpu secs
Free Pascal 5.51 103,016 1300 5.51
Ada 2012 GNAT #5 4.90 152,628 3647 13.63
Ada 2012 GNAT #6   Bad Output  
fasta
source secs mem gz cpu secs
Ada 2012 GNAT #5 2.56 19,660 2220 2.56
Ada 2012 GNAT #2 2.58 19,668 2158 2.58
Free Pascal #6 5.58 19,676 1196 5.58
Free Pascal #5 5.64 19,792 1225 5.64
Ada 2012 GNAT 6.28 19,664 1381 6.28
k-nucleotide
source secs mem gz cpu secs
Ada 2012 GNAT #2 6.75 259,564 4911 13.58
reverse-complement
source secs mem gz cpu secs
Ada 2012 GNAT #2 2.26 821,912 3285 2.58
Free Pascal #2 3.77 525,048 773 3.77
Ada 2012 GNAT 12.53 528,356 943 12.53
binary-trees
source secs mem gz cpu secs
Free Pascal #5 2.09 132,608 929 4.98
Free Pascal #6 2.09 132,608 939 4.99
Free Pascal #7 2.12 132,608 975 5.07
Ada 2012 GNAT #4 3.48 202,880 2117 10.05
Ada 2012 GNAT 20.98 266,240 896 20.97
Ada 2012 GNAT #3 9.72 529,280 1275 32.90
Free Pascal

Free Pascal Compiler
version 3.2.2 [2021/05/16]

Ada 2012 GNAT

GNATMAKE 12.3.0