如何在很大数量级的数据中(比如1个亿)筛选出前10万个最小值?之八

处理400G数据,用时的估算:
1、读一遍:400G/.03G/60/60= 3.7小时。
2、写一遍:400G/.01G/60/60= 11.11小时。
其中.03、.01,分别是读、写硬盘的速度。
验证法中,有将原始数据中已经读出的数据标特殊值的要求。标记方式有二:
1、对取出的一亿数循环。用它们在原始数据中的位置,直接定位并写标记。
这样的用时为:100000000*0.01/60/60/24= 11.57天。其中,0.01是硬盘的寻址时间,单位是秒。
这样的用时,也太多了。
2、每次读一块数据。把该块数据内取出的数据都标上特殊标记。再整块写加硬盘。
(这要先将一亿数据,按原始数据中的位置值排序。才好一块一块填写)
用时即读写一遍全部数据。时间=3.7+11.11=14.8小时。

转载于:https://www.cnblogs.com/oldtab/p/4481160.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值