为什么 MinGW gfortran 在 Windows 上非常慢?
Why is MinGW gfortran on Windows extremely slow?
我已经在 MinGW 之上的 Windows 10 上安装了 gfortran
(我不记得是如何安装的,它是一些现成的软件包)。我在文件 helloworld.f90
上写了这个 fortran 程序
program helloworld
print *,'Hello World'
end program helloworld
并在命令提示符中使用
编译它
gfortran helloworld.f90 -o hello
我正在测试 ptime 需要多长时间
C:\fortran tests>ptime hello
=== hello ===
Hello World
Execution time: 23.703 s
C:\fortran tests>ptime hello
=== hello ===
Hello World
Execution time: 1.225 s
C:\fortran tests>ptime hello
=== hello ===
Hello World
Execution time: 1.227 s
我在没有 ptime
的情况下使用手动秒表对其进行了测试,并且得到了相似的时间,所以我认为 ptime
不是导致此问题的原因。是什么导致了这个极其缓慢的第 1 运行 23 秒?为什么下一次会更快?而且我认为超过 1s 仍然非常慢。我应该寻找哪些设置以及如何寻找?我在 SOF 中找不到任何类似的东西。此外,在我的 VirtualBox Ubuntu 上不会出现此问题,仅在 Windows.
上出现
如果您从某个地方获得了 gfortran
,但您不知道是从哪里获得的,除了它可能与 MinGW 一起提供,那么您可能使用的是非常旧的版本。
您可以使用gfortran --version
查看版本。它是 GCC 编译器套件的一部分,在撰写本文时,当前版本是 11.2.0。
您可以从 https://winlibs.com/ 获得最新版本的 GCC 编译器套件作为独立构建(无安装程序,只需解压缩),其中包含工作 gfortran
.
原来问题出在我的病毒扫描程序上。感谢@albert 的提示。
这是公司笔记本电脑,我无法关闭病毒扫描程序。我以安全模式启动,现在病毒扫描程序已关闭,hello.exe
运行s 在 0.029 秒内。似乎合法。
旁注:我在安全模式下尝试 运行 的几乎所有其他 Fortran 测试程序都失败了,并显示错误消息“找不到 lib(...).dll
”,但那将是另一个话题。
我已经在 MinGW 之上的 Windows 10 上安装了 gfortran
(我不记得是如何安装的,它是一些现成的软件包)。我在文件 helloworld.f90
program helloworld
print *,'Hello World'
end program helloworld
并在命令提示符中使用
编译它gfortran helloworld.f90 -o hello
我正在测试 ptime 需要多长时间
C:\fortran tests>ptime hello
=== hello ===
Hello World
Execution time: 23.703 s
C:\fortran tests>ptime hello
=== hello ===
Hello World
Execution time: 1.225 s
C:\fortran tests>ptime hello
=== hello ===
Hello World
Execution time: 1.227 s
我在没有 ptime
的情况下使用手动秒表对其进行了测试,并且得到了相似的时间,所以我认为 ptime
不是导致此问题的原因。是什么导致了这个极其缓慢的第 1 运行 23 秒?为什么下一次会更快?而且我认为超过 1s 仍然非常慢。我应该寻找哪些设置以及如何寻找?我在 SOF 中找不到任何类似的东西。此外,在我的 VirtualBox Ubuntu 上不会出现此问题,仅在 Windows.
如果您从某个地方获得了 gfortran
,但您不知道是从哪里获得的,除了它可能与 MinGW 一起提供,那么您可能使用的是非常旧的版本。
您可以使用gfortran --version
查看版本。它是 GCC 编译器套件的一部分,在撰写本文时,当前版本是 11.2.0。
您可以从 https://winlibs.com/ 获得最新版本的 GCC 编译器套件作为独立构建(无安装程序,只需解压缩),其中包含工作 gfortran
.
原来问题出在我的病毒扫描程序上。感谢@albert 的提示。
这是公司笔记本电脑,我无法关闭病毒扫描程序。我以安全模式启动,现在病毒扫描程序已关闭,hello.exe
运行s 在 0.029 秒内。似乎合法。
旁注:我在安全模式下尝试 运行 的几乎所有其他 Fortran 测试程序都失败了,并显示错误消息“找不到 lib(...).dll
”,但那将是另一个话题。