zoukankan      html  css  js  c++  java
  • 如何在很大数量级的数据中(比如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小时。

  • 相关阅读:
    day 17
    day 16
    信息系统项目管理师 教程学习 第一章
    服务器安全防护
    少有人走的路
    Python文件学习
    测试新文章
    测试
    python基础 一、 数值类型、序列类型和散列类型
    apache No input filespecified
  • 原文地址:https://www.cnblogs.com/oldtab/p/4481160.html
Copyright © 2011-2022 走看看