我从PHP exec() 性能中了解到,运行 exec() 会产生开销,但在大型程序或网站中,将后端的一部分用另一种语言编写并让 PHP 使用 exec 调用程序不是有益的吗?
例如,我编写/运行了一个包含大量字符串操作的测试——PHP 用了 2.3 秒,而 Java 用了 0.52 秒,C++ 用了 0.33 秒。速度差异已经很明显了。如果我多线程操作,时间可能会更快。我还发现并行性可以通过类似的东西来实现
exec("./largeoperation > mydir/$dirname.data &");
//or
exec('java Backend > /dev/null 2>&1 &');
有了所有这些好处,除了需要用另一种语言编写代码之外,我不明白为什么我不应该将后端的更多部分委托给用另一种语言编写的更快的程序。另外,我知道存在像Working with Php-Java Bridge这样的桥,但我不确定使用它是否会比简单的 exec() 快得多。有没有人有更多关于 exec() 的细节?