【发布时间】:2021-05-30 00:57:37
【问题描述】:
我想对一些编程语言进行比较,我选择了 C、C++ 和 Python。
这是我的测试循环的 C++ 代码:
#include <iostream>
int main(){
for(int i=0;i<10000;i++){
std::cout<<i;
}
}
在使用 Code::blocks 的 GCC 编译之后(我认为它不会有很大的不同,而且这不仅仅是一个没有优化的编译问题,否则它只需要少 1000* 的时间),它花了大约 3 秒(C 版本为 2)秒显示全部(没有换行符,给出一个文本汤)。
我已经做了一个简单的 Python 版本:
for i in range(10000):
print(i,end="")
它在 0.12 秒内运行。(使用 sys.write 0.05)
我的问题很简单: 为什么我的 C++ 程序这么慢? (相对于这个简单的 Python 版本)
【问题讨论】:
-
您是否编译了启用优化的
.cpp文件?-O2或-O3? -
是每次运行 3 秒,还是第一次运行?这可能是一个行为不端的防病毒扫描程序。
-
这能回答你的问题吗? Why is std::cout so time consuming?
-
尝试用 g++ 编译。
-
不,因为它与 C 版本基本相同
标签: python c++ compilation codeblocks