TopK问题性能测试记录--分而治之
问题描述:从两亿个URL中找出出现次数最多的10个
1.测试准备:分两次随机生成2亿个url ?
(1)数量:100,000,001 ? 耗时:445,152
(2)数量:100,000,005 ? 耗时:554,225
生成文件大小:2.88G
2.切分文件,每个文件大小:3,073K ?共生成:987个文件 ? ?耗时:350,204
3.各取top100 ?共1,579,100B
4.统计TOP10 ? 耗时:436,832
?
方法各处尚待改进,尤其是排序,采用的是Collections.sort ?故效率较低
?
不过切分开来本身就挺耗时,如果采用改进型的BloomFilter ?效率或许会大大提高
?