Go performance is terrible for numeric stuff though, no SIMD support.
The low level SIMD stuff was called out to over the c FFI bridge; golang was used for the rest of the program.
There are libraries to write SIMD in Go now, but I think the better fix is being able to autovectorize during the LLVM IR optimization stage, so its available with multiple languages.
I think LLVM has it now, its just not super great yet.
You can always drop into straight assembly if you need to as well. Go's assembler DX is quite nice after you get used to it.