C++-为什么VC++中的list特别慢,比G++慢了非常多
输入文件大概有几千万个数字,下面这段代码用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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个不单单是代码的问题,和操作系统的指令执行方式很有关系。与编译选项是没有关系的。首先,windows下和linux下的可执行文件的格式就不一样,windows下可执行文件的格式是PE格式,而linux下是PE格式,可执行文件格式不一样,其loader的过程肯定也不一样。这个都会造成运行时间的差异。
语言是用来描述我所干的事的。而语言的性能区别在于解释器对语言解释的性能消耗。按照你的测试结果来说那么就是G++ 对List实现非常强悍 而 VC++解析器的逊色一些..