C++-为什么VC++中的list特别慢,比G++慢了非常多

发布于 2016-12-25 23:20:37 字数 517 浏览 1512 评论 2

输入文件大概有几千万个数字,下面这段代码用VS2012运行的时间大概是15s,而g++只要1s多。

是有什么编译的选项吗?

#include<iostream>
#include<cstdio>
#include<ctime>
#include<list>
using namespace std;

int main(){
freopen("in.txt","r",stdin);

clock_t start=clock();
list<int> items;
int n;
while(scanf("%d",&n)==1){
items.push_back(n);
}
cout<<clock()-start<<endl;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

甜柠檬 2017-01-24 13:57:10

这个不单单是代码的问题,和操作系统的指令执行方式很有关系。与编译选项是没有关系的。首先,windows下和linux下的可执行文件的格式就不一样,windows下可执行文件的格式是PE格式,而linux下是PE格式,可执行文件格式不一样,其loader的过程肯定也不一样。这个都会造成运行时间的差异。

夜无邪 2016-12-30 07:43:19

语言是用来描述我所干的事的。而语言的性能区别在于解释器对语言解释的性能消耗。按照你的测试结果来说那么就是G++ 对List实现非常强悍 而 VC++解析器的逊色一些..

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文