c ++执行时间比python慢

时间:2017-10-25 12:35:27

标签: python c++

我切换到c ++是因为我听到它比python快400倍,但当我创建一个无限循环,增加一个变量并打印它的值时,python似乎更快,那怎么可能? 以及如何优化它?

Python脚本:

x = 1
while 1:
    print(x)
    x+=1

C ++代码:

int x = 1;
while (1) {
cout << x << endl;
x++;
}

我尝试通过输入以下命令来优化它:

ios_base::sync_with_stdio(false);

速度几乎与python相同但速度不快。

是的,我确实搜索过这个主题,但我找不到任何可以解释原因的内容。

3 个答案:

答案 0 :(得分:6)

C ++&#39; s set /p userinput=Enter anything: SET "userinput=%userinput: =%" if not "%userinput%" EQU "" goto valid echo You entered nothing or spaces only timeout /t 2 /nobreak >nul goto first :valid echo You entered this text - %userinput% pause >nul 刷新流,python&#39; s std::endl没有。尝试使用print,这将加速C ++代码。

答案 1 :(得分:4)

您没有对该语言进行基准测试,您正在对操作系统进行基准测试。

显示文本所需的时间(通过窗口系统)比按字母数量级(按代码)准备字符的时间要长。

您将获得与任何语言相同的行为。

答案 2 :(得分:0)

与Python相比,C ++的优势在于操作系统限制的操作,例如打印到控制台,而是:

  • 事实是它是硬打字的,因此可以最大限度地减少由于动态类型和类型安全而导致的运行时间开销
  • 事实上C ++已经过编译(并且经过高度优化),Python(主要)被解释为
  • 在它的内存管理模型中(Python使用需要垃圾回收的托管对象)
  • C ++可以在实现性能关键代码时提供更多控制(就使用程序集和利用特定硬件而言)