我试图使用 Java processbuilder 为第三方 C 工具编写一个包装器。我需要运行这个流程构建器数百万次。但是,我发现速度有些奇怪。
我已经有一个用于 python 的第三方工具 C 工具的包装器。在 python 中,包装器使用 python subprocess.check_output。
因此,我使用相同的命令运行了 java 包装器 10000 次。另外,使用相同的命令运行 python 包装器 10000 次。
使用 python,我的 10000 次测试在大约 0.01 秒内运行。
使用 java processbuilder,它在 40 秒内运行。
有人可以解释为什么两种语言之间的速度差异很大吗?
您可以使用“time”等简单命令来尝试此实验。
最佳答案
Python 似乎没有生成子进程。这就是为什么它更快。
很抱歉造成困惑。
谢谢
关于java - 为什么 Java Processbuilder 运行命令比 Python Subprocess.check_output 慢 4000 倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29243748/