欢迎来到可可资源网 免费分享实用的学习资源及技术教程  技术爱好者的栖息之地
✌可可资源网✌
当前位置:首页 > 易语言源码 > 正文

手机号码去重一千万2秒内,bitmap支持百亿号码,仅耗内存1.2G

编辑:可可日期:2021-08-19 23:37:11浏览:1.0w分类:易语言源码下载地址

因为朋友再移动外包公司上班,有手机号码去重删选的需要,朋友用的python,也是用的哈希去重方式,大概1000W手机数据去重处理速度在5到6秒左右,于是乎我也想用易语言实现以下,想试下易语言能否实现大数据的处理以及实现速度,论坛各种哈希表试了个便,最终得出结论,速度最快的是ASM哈希表,1000W处理时间在4到5秒之间,可以说是非常的快的了,但是用哈希表在易语言运行存在一个问题,我实测1000W号码占用内存大约是400多M,也就是说易语言最大能处理不过三四千万的数据,由于易语言是32位的,最大支持内存仅1.7G这样,内存占用到达1.7G就会自动程序崩溃,无法处理上亿的手机号码,不论你内存条有10G还是100G,但是易语言程序最大仅支持1.7G,实在是非常的限制。但是单从处理速度而言,论坛大神ASM哈希表确实是效率极高的了。后面网上看到bitmap处理上亿级别的手机号码处理,于是到易语言论坛查了下,发现还没人实现过,那我就来做下把。在特定的数据处理情况下,使用bitmap方式去重效率就会显得比哈希表去重更加高效,不仅速度有极大的提升,内存占用方面,即使999亿的手机号码,也仅仅占用1.2G的内存即可处理,极大的节省内存,能够在低配置的电脑上也能运行起来,具体的就不吹嘘,有兴趣的可以自行百度搜索bitmap了解下

最后上代码,cpu为i7 8700实测1000W手机号码数据用bitmap方式去重耗时1.9秒左右,论坛ASM哈希表方式去重4.5秒左右,一亿手机号码数据用bitmap方式去重耗时31秒左右,论坛ASM哈希表无法处理过大数据因而未知,如有更高效率的欢迎留言交流

处理耗时 包含读入文档,载入数据,去重,最后写出。论坛许多噱头都是只谈去重过程,无视读入和写出过程的评测都是耍流氓行为。

压缩包包含源码,请编译后测试,哈希表去重方式调用的论坛ASM哈希表模块,还有生成手机号码的源码一一附上,有兴趣的可以自己测试下

引用模块

源码文件名模块文件名
手机号码去重处理bitmap.e
哈希表.ec
精易模块.ec

引用支持库

源码文件名支持库文件名支持库标识
手机号码去重处理bitmap.e系统核心支持库 5.7d09f2340818511d396f6aaf844c7e325
通用对象支持库 2.0{A068799B-7551-46b9-8CA8-EEF8357AFEA4}
多线程支持库 2.05F99C1642A2F4e03850721B4F5D7C3F8
特殊功能支持库 3.1A512548E76954B6E92C21055517615B0
生成手机号码.e系统核心支持库 5.7d09f2340818511d396f6aaf844c7e325
特殊功能支持库 3.1A512548E76954B6E92C21055517615B0

下载地址

转载:感谢您对可可资源网网站平台的认可,以及对我们原创作品以及文章资源的青睐,非常欢迎各位朋友分享到个人站长或者朋友圈,但转载请说明文章出处“来源可可资源网”。https://www.100keke.cn/eyuyan/12591.html