Go 1.15 Released With Much Improved Linker, New CPU Mitigations
Go 1.15 is out as a rather significant update to this popular, modern programming language.
Go 1.15 brings a wide variety of improvements including:
- The Go linker now has much lower resource use, is faster, and has improved code quality. Generally for large Go programs the linking process is around 20% faster while using around 30% less memory.
- Go 1.15 binaries are around 5% smaller compared to Go 1.14.
- Go 1.15 adds a "-spectre" flag to enable Spectre mitigations for the compiler and assembler.
- Go now mitigates the Intel JCC Erratum by aligning functions to 32-byte boundaries and padding jump instructions.
- Go now has better OpenBSD support for ARM/ARM64 where as previously it was just in good shape for i386 and AMD64.
- Stability and performance work for the Go 64-bit RISC-V port along with supporting more features like asynchronous preemption.
- Go on 32-bit x86 hardware now requires CPUs with at least SSE2 support.
- Allocating small objects is much faster with higher core count systems.
More details on Go 1.15 via the release notes.
Go 1.15 brings a wide variety of improvements including:
- The Go linker now has much lower resource use, is faster, and has improved code quality. Generally for large Go programs the linking process is around 20% faster while using around 30% less memory.
- Go 1.15 binaries are around 5% smaller compared to Go 1.14.
- Go 1.15 adds a "-spectre" flag to enable Spectre mitigations for the compiler and assembler.
- Go now mitigates the Intel JCC Erratum by aligning functions to 32-byte boundaries and padding jump instructions.
- Go now has better OpenBSD support for ARM/ARM64 where as previously it was just in good shape for i386 and AMD64.
- Stability and performance work for the Go 64-bit RISC-V port along with supporting more features like asynchronous preemption.
- Go on 32-bit x86 hardware now requires CPUs with at least SSE2 support.
- Allocating small objects is much faster with higher core count systems.
More details on Go 1.15 via the release notes.
13 Comments