通过 Cygwin 运行 Windows .EXE 本质上比通过 BAT 慢吗?

spa*_*ead 5 windows performance cygwin batch-file

我们正在通过 Cygwin 脚本运行 Windows .EXE 文件,并且遇到性能问题。我看过有关 Cygwin 性能问题的各种帖子,包括这篇文章,其中一篇答案深入研究了 Cygwin 的内部结构,让我认为可能存在问题。然而,这些帖子似乎更多地涉及启动时间、选项卡完成等。在我们开始基准测试之前,我希望问:是否有任何内在原因导致 Windows .EXE 如果从以下位置启动,运行速度会变慢: Cygwin 与 BAT?

Joe*_*oey 3

不是实际的程序,不。

运行程序之前的内务处理和其他事情可能会有所不同。Cmd 可能CreateProcess直接调用。Cygwin 的 bash 可能首先进行参数解析、通配符扩展、通过 Cygwin 的缓慢实现进行 fork 并exec使用解析后的参数进行调用,Cygwin 必须再次将其拼凑成字符串以传递给CreateProcess. 但最终,创建了一个与其父进程不再有联系的新进程。因此,您的程序运行的速度完全取决于该程序,而不取决于谁启动了它。

  • @HarryJohnston:嗯,总是有这样的情况[这些](http://stackoverflow.com/q/21947452/73070);-)。 (2认同)