> An important factor in reducing the size of the codebase and executable is that Jacobin relies on Go’s built-in memory management to perform garbage collection, and so it contains no GC code.
I don't see how you can't see it.
But I don't see how that reduces binary size.
Compiled Go programs include a Go runtime in their binary, correct? (statically linked).
So if Go program uses Go's builtin GC, that GC wouldn't be part of the program code, but would be part of the runtime that it's packed with in the binary, right?
In essence replacing [GC in Go program part of the binary] with [GC in Go runtime part of the binary].
I mean, I can see the advantage(s) there. But reducing binary size doesn't seem to be one of them. Unless you count [Go program using its own GC + the one in Go runtime] vs. [only the one in Go runtime].
It's still a (read: at least 1) GC included in the binary.
Yes, of course that's what they mean. Not having 0 code for GC altogether, but just using the GC that you already have, and is required overhead, as opposed to implementing another and having both.
This is pretty cool, imo.
As long as the language is GC agnostic, and just cares for stuff being collected, and not for some particular exposed semantics of the GC, it should be ok.