3 ms·
“At least has a jit”, go is compiling to native code, Java is to a jvm bytecode instruction executed effectively by a interpreter, a jit is critical to good per
by kapilvt 7y ago
“At least has a jit”, go is compiling to native code, Java is to a jvm bytecode instruction executed effectively by a interpreter, a jit is critical to good performance in the latter. In the former, ie. go you have control over memory layout and are already in machine code at execution the constructs of the language aka runtime are effectively a linked library instead of a virtual machine.
Golang prefer one simple way over playing with runtime knobs. That said the gc characteristics of go, are partly reactionary to java at that time (10yrs ago) unpredictable latency and pauses, and they optimized to address that also in response to early prod users. All gc languages have gc overhead from a throughput perspective 15-20% afaics