I read that G-WAN supports Go. As far as I know, Go can only produce statically linked executables. So how does Go work on G-WAN, through CGI/FastCGI? Or simply invoking the executable with the raw request on stdin?
I would love to be able to program Go and take advantage of G-WAN's performance.
GO has its own runtime, it uses segmented stacks and it introduced goroutines, so a C program cannot (easily) embed GO the way C++, C-Sharp, Java can be used from C. This would be possible to do but many pitfalls would have to be resolved.
Therefore, for GO G-WAN has used CGI
, which works very well if you have many CPU Cores (re-tested today with a newer release of GO on 6-CPU Cores).
Other precautions have been taken to prevent a long GO servlet from preventing G-WAN from processing other requests while the GO reply is built but the rest is pretty straightforward.
GO will be supported on Version 3.10 Check this link.
But 3.10 is not released yet. Check the Google Go section for the required libraries maybe you will have better idea on how it is supported.