I may have missed something, but what are the optimization settings for Go and FPC? And which linker is used?
To me that is valuable information. The latter even matters for FPC e.g fpc-llvm should probably have similar results as Go.
Futhermore,
language comparisons are futile, since what really matters is the compiler and linker implementation.
In principle there is no such thing as one language being faster than some other language. It is all about how a compiler generates efficient code and a linker can further optimize.
The above is a constant sorrow and shows not many people get how it really works....
When you read about - compiled - language comparisons related to speed all alarm bells should start sounding.
https://www.youtube.com/watch?v=KcizmrkNcasThe people who propose such things lack any knowledge. The comparison is always about the compiler and linker.
Any language that is Turing complete should, given a fictitious common compiler/linker, generate executables that have the same speed.
That is not opinion but fact.
(Note to test this, compare a fpc-llvm executable with a go executable: they are already very similar in execution speed, even although fpc-llvm is still a moving target with room to optimize the llvm tool chain. At least a level playing ground.)