linux - Windows 下 Cygwin 的执行速度比 VirtualBox 中 Linux 的执行速度慢

标签 linux windows fortran cygwin gfortran

我有 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/

相关文章:

command-line - 使用命令行查找数据文件的行数

linux - 在 bash tee 中,函数变量是局部的,我该如何逃避呢?

linux - 读取文件,但提示内核不要缓存其内容?

winapi - PostMessage 似乎被其他窗口的操作阻止

debugging - Gfortran:出于调试目的将纯函数视为普通函数?

c++ - 从 C++ 调用 FORTRAN 库的问题

python - 如何从核心转储分析内存使用情况?

linux - 如何以编程方式突出显示 PDF 文件的某些部分(例如,使用命令行)

c++ - MFC框架中如何使用XML over HTTP实现双向通信

windows - 我真的需要 OpenCL SDK 吗?