繁体   English   中英

c++ 执行时间比python的慢

[英]c++ execution time is slower than python's

我切换到 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相同,但速度并不快。

是的,我确实搜索了这个主题,但没有找到任何解释原因的东西。

C ++的std::endl刷新流,而python的print不刷新。 尝试使用"\\n" ,这可以加快C ++代码的速度。

您不是在测试语言,而是在测试操作系统。

显示文本(通过窗口系统)所花费的时间比准备字符(通过代码)所花费的时间长几个数量级。

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

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

  • 事实是很难键入,因此由于动态键入和类型安全性而使运行时开销最小化
  • C ++已被编译(并且高度优化)并且Python被(大多数)解释的事实
  • 在其内存管理模型中(Python使用需要垃圾回收的托管对象)
  • 在实现性能关键代码时(就使用汇编和利用特定硬件而言),C ++可以为您提供更多控制权

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM