我读到G-WAN 支持 Go。据我所知,Go 只能生成静态链接的可执行文件。那么 Go 如何通过 CGI/FastCGI 在 G-WAN 上工作?还是简单地使用标准输入上的原始请求调用可执行文件?
我希望能够对 Go 进行编程并利用 G-WAN 的性能。
我读到G-WAN 支持 Go。据我所知,Go 只能生成静态链接的可执行文件。那么 Go 如何通过 CGI/FastCGI 在 G-WAN 上工作?还是简单地使用标准输入上的原始请求调用可执行文件?
我希望能够对 Go 进行编程并利用 G-WAN 的性能。
GO 有自己的运行时,它使用分段堆栈并引入了goroutines,因此 C 程序不能(轻松)嵌入 GO,就像可以从 C 中使用 C++、C-Sharp、Java 那样。这是可能的,但有很多陷阱会必须解决。
因此,对于 GO,G-WAN 已使用CGI
,如果您有许多 CPU 内核(今天使用 6-CPU 内核上的新版 GO重新测试),它会非常有效。
已经采取了其他预防措施来防止长 GO servlet 在构建 GO 回复时阻止 G-WAN 处理其他请求,但其余的非常简单。