加速从Golang的exec packaqe访问python程序

问题描述 投票:0回答:1

我需要有关如何从Golang调用时加快访问python程序的建议。我真的需要快速访问时间(非常低的延迟)。

方法1: func main(){ ... ... cmd = exec.Command(“python”,“test.py”) o,err = cmd.CombinedOutput() ... }

如果我的test.py文件是基本打印“HelloWorld”程序,则执行时间超过50毫秒。我假设大部分时间是在内存中加载shell和python。

方法2:通过让python启动HTTP服务器然后给Go代码POST一个HTTP请求并从HTTP服务器(python)获取响应,可以大大加速上述方法。加快响应时间不到5毫秒。我想这主要原因可能是因为python解释器已经加载并且内存温暖。

是否有其他方法我可以使用类似于方法2(共享内存等),这可以加快我的python代码的响应?我们的应用程序需要极低的延迟,而我目前使用Golang的exec软件包看到的50毫秒不会削减它。

谢谢,

python go exec low-latency
1个回答
0
投票

方法1:简单的HTTP服务器和客户端

方法2:本地套接字或管道

方法3:共享内存

方法4:GRPC服务器和客户端

事实上,我更喜欢GRPC方法的流方式,它将保持连接(因为HTTP / 2),它简单,快速和安全。而且很容易将python节点移动到另一台机器上。

© www.soinside.com 2019 - 2024. All rights reserved.