gpt4 book ai didi

c++ - 使用不同的编译器 (C++) 生成的二进制文件速度差异太大

转载 作者:太空宇宙 更新时间:2023-11-04 14:34:18 26 4
gpt4 key购买 nike

<分区>

我在上一个项目中主要使用了 gcc,今天我决定对不同编译器的结果进行基准测试。

我对 gcc 4.5、Visual Studio 2010 的 MSVC 和 Intel C++ 使用了相同的源代码。该程序从文本文件获取输入,进行大量字符串操作并将输出写入另一个文本文件。

我只数了一次o

编辑:基准测试:
我只计算执行算法的时间,而不是文件 io 的时间。基本上我把

    clock_t clock0;
double z;
clock0 = clock();

在开始和 <pre> double clock1=(clock() - clock0) / (double) CLOCKS_PER_SEC;


</pre>
函数之后。

它从一个小文件(大约 200 行)开始,几乎没有区别(大约 <0.15 秒)。对于 4K 行文件,MSVC 的输出工作了 1.23 秒,而 gcc 的输出为 0.1 秒。

最后我测试了 60K 行文件:

  (program compiled with ) Intel compiler ran for 6.7 sec and with  gcc : 1 sec.

现在我只是想知道为什么会有这样的差异(没有优化标志),这可能是什么原因。(我使用 c++0x 标准——但显然英特尔编译器支持它)。我不确定如果我的代码仅使用一个编译器即可编译为快速二进制这一事实并不令人担忧

编辑 2:

我没有使用 MSVC 或 Intel 在 Debug模式下编译它

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com