Hacker News new | ask | show | jobs
by devit 994 days ago
"I think this is a consequence of variables being sent to a channel effectively having their address taken, disabling register allocation for them."

Looks like the Go code generator and optimizer is absolutely terrible, since any reasonable optimizer has standard optimizations that prevent this.

Apparently they wrote their own rather than using something established like LLVM, and this is the result.

1 comments

> Apparently they wrote their own rather than using something established like LLVM, and this is the result.

Go is self-hosted, and compilation is much faster than any LLVM-based compiler I know. Those are valuable properties. We can argue about how valuable, but it's not nearly as simple as a case of NIH as you're implying.