14 ms·
What? Go? gccgo: https://golang.org/doc/install/gccgo https://golang.org/doc/install/gccgo gopherjs: https://github.com/gopherjs/gopherjs https://github.com/g
by ainar-g 7y ago
What? Go?
gccgo: https://golang.org/doc/install/gccgo https://golang.org/doc/install/gccgo
gopherjs: https://github.com/gopherjs/gopherjs https://github.com/gopherjs/gopherjs
tinygo: https://github.com/tinygo-org/tinygo https://github.com/tinygo-org/tinygo
gollvm (aka Gollum): https://go.googlesource.com/gollvm/ https://go.googlesource.com/gollvm/
llvm-go: https://llvm.org/svn/llvm-project/llgo/trunk/README.TXT https://llvm.org/svn/llvm-project/llgo/trunk/README.TXT
- weberc2 7y agoI'm genuinely curious (not disparaging) who is using any of these (except for tinygo and gopherjs, for which the use case is apparent and niche)? Does anyone use gccgo or llvm-go? And why?
- ainar-g 7y agoI like the flow of your question: “who is using any of these”… “except for the ones people actually use” :-P On a more serious note, in my personal experience, the GCC and the LLVM back-ends are generally much better at math- and computation-heavy workloads and worse at… everything else, basically. But that was a long time ago, when gccgo still used to spawn a thread for every goroutine, so my experiences are probably outdated. Also, back in the day the LLVM back-ends used to be the only way to get link-time optimisation with Go. The GCC back-end probably can do it by now. To answer your question directly, I don't know any large projects that use them, but they exist. Which means that there is an alternative. Unless Google goes full Oracle, that is.
- weberc2 7y ago> I like the flow of your question: “who is using any of these”… “except for the ones people actually use” :-P Yeah, it was kind of clumsily worded. I get why people use the ones that are the only options for their respective target platforms (browsers, microcomputers, etc). I don't understand the advantage to using compilers besides gc, although your comment provides some clarification. > To answer your question directly, I don't know any large projects that use them, but they exist. Which means that there is an alternative. Unless Google goes full Oracle, that is. My question wasn't whether or not there is an alternative, it was simply "who uses the alternatives and why?".