用标准库对大规模数据排序

来源:互联网 发布:php简单新闻发布系统 编辑:程序博客网 时间:2024/06/06 03:14

30万3千行数据。

我自己写了个冒泡,外层循环0.4秒执行一轮,那么差不多是300000*0.4/(60*60) = 33.3小时。

然后特意跑去同事那边用他那台8核2.4G内存24G的超强机器去跑,没有什么明显的效率提升。

然后使用std::sort(),用时4.7秒(我自已的电脑,双核2.0G),同事的电脑2.1秒。

泪流满面...

 

另外,最开始想作为静态数组,直接对它进行排序、查找,所以用正则表达式预处理好格式。在编译的时候报错,好像说调试信息的啥不够用,然后改成release,编译,链接都能通过,但VS一直停在“生成代码中...”  遂放弃,而用读文件的形式。以前做项目的时候,有一个类7000多行代码(或者比这更多),是处理游戏脚本的一个非常大的switch case,我们后来加了新的feature,再增加一个新的case,程序就编译不过了,后来只有把那个switch拆成两个。