我有 Fortran 代码,其中包含许多生成可执行文件的 .f 文件。我在 Linux(Virtual Box 中)中运行了模拟并成功执行了该软件。当我在 Windows 的 Cygwin 环境中执行相同操作时,它运行成功,但慢了几秒钟。我正在编写的 Fortran 代码是迭代代码。每次迭代的运行速度都慢了几毫秒。当我运行整个代码 1000 次时,它延迟了几秒钟。我使用时间包来了解虚拟盒中的总执行情况。它给出了 实际0m0.061s 用户0m0.036s 系统0m0.020s
在Windows中使用powershell的measure命令:总执行时间= 0.095秒
每次 Linux 都会赢得比赛,即使 Virtual Box 只占用一半的处理器核心和一半的内存。这种行为是正常的还是有什么问题?
最佳答案
这是正常的。 由于需要大量绕过 Windows 限制的解决方法,cygwin 上的 fork 实现速度很慢。
您的重复编译可能会在 fork 期间浪费大量时间。
关于linux - Windows 下 Cygwin 的执行速度比 VirtualBox 中 Linux 的执行速度慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41960706/