3 ms·
These are pretty big to me: The garbage collector is now concurrent and provides dramatically lower pause times by running, when possible, in parallel with oth
by ianchildress 11y ago
These are pretty big to me:
The garbage collector is now concurrent and provides dramatically lower pause times by running, when possible, in parallel with other goroutines.
By default, Go programs run with GOMAXPROCS set to the number of cores available; in prior releases it defaulted to 1.
But how important is this? It doesn't seem like it affects the average user:
The compiler and runtime are now written entirely in Go (with a little assembler). C is no longer involved in the implementation, and so the C compiler that was once necessary for building the distribution is gone.
- deleted 11y ago[deleted]
- azylman 11y agoWe're pretty excited for the compiler and runtime being in Go, because we publish binaries for many different operating systems. Previously this required installing a separate cross-compilation toolchain, but will not any longer.
- spenczar5 11y agoRewriting the compiler in Go was a precondition for improving garbage collection, according to Rob Pike. The old C codebase was complex and finicky, and, to an increasing extent, contributors to the Go language often know Go better than C. So, that more complex garbage collector is a product of that less-sexy rewrite.
- ianchildress 11y agoGreat explanation, that explains a lot!