据说C++的性能比解释性编程语言要好。运行这个非常简单的程序后:
#include <iostream>
using namespace std;
int main()
{
cout << 5+4 << endl;
return 0;
}
时间执行非常慢:大约3秒。编译语言不是应该更快地执行这种类型的计算代码吗?为什么Python在Jupyterlabprint(5+4)
中立即生成结果,而CodeBlocks不能呢?
提前多谢了。
阅读评论,似乎您不了解您正在使用的工具。
“Code::Blocks”是一个IDE-一个工具集合,包括文本编辑器,编译器和其他一些东西。
它可以使用不同的编译器,并且它具有许多以按钮表示的功能--编译,运行,调试等等。
您没有告诉我们您是如何“运行”您的程序的,也没有告诉我们您用代码块安装了什么编译器,但我的猜测是这样的:
你按了蓝色的“播放”(三角形)按钮,那就是你测量的时间。
这不是代码的运行时。
这是codeblocks启动编译器,将代码编译为机器语言,启动链接器,创建完整的可执行文件,然后启动该可执行文件所花费的时间。
大部分时间是编译器翻译代码和编写文件。
要真正衡量性能,首先需要了解创建C++程序是如何工作的。
使用Python,您没有这个过程--大多数IDE只是在您按下“Play”时在解释器中运行您的代码。
最起码,了解计算机代码块在哪里创建了程序exe文件,并直接从控制台(终端)运行该文件。
更好的做法是,在文件中创建一个循环,它可以多次执行某件事情,因为您显示的示例代码可能太快而无法测量,除非您使用的是time
之类的工具,我认为Windows不容易使用这些工具。