• 如果世界变慢为原先的百万分之一


    Programming Pearls 的粗略估算中有一道题, 问的是如果世界变慢为原先的百万分之一, 各种操作的时间会变成多少. 这个题可以让人很直观的了解各种操作的耗时代价.
    • 计算机执行指令. 按CPU的工作频率在1G Hz, 一个时序为1x10^-9 s, 如果一个指令的执行为4个时序, 则是4x10^-9 s, 扩大1,000,000后应该是 4x10^-3 s, 即4毫秒左右
    • 内存读取周期. 如果是DDR2 800(PC6400)的内存, 其IO总线频率是400MHz, 内存频率是200MHz, 读取周期为5 x 10^-9 s, 即5ns, CAS等待时间约为10ns, 合计扩大1,000,000后是 15 x 10^-3 s, 即15毫秒左右
    • 磁盘旋转一周的时间. 磁盘按7200转/分计, 每转一周的时间约为 8.3 x 10^-3 s, 即8.3毫秒, 扩大1,000,000后应该是8,300s, 即2.3小时
    • 磁盘臂搜索时间. 这个要分为两个时间, 一个是seek time, 寻轨时间或寻道时间, 机械硬盘约为10毫秒, 另一个是达到所需扇区需要的时间rotational latency, 旋转延迟或等待扇区时间, 平均为磁盘旋转一周时间的一半, 按5毫秒计, 所以总共是15毫秒, 扩大1,000,000后约4.1小时. 现在大部分磁盘对批量的寻址有优化, 耗时可能在这个值得一半左右. 现在市面上开始大量出现的固态硬盘SSD, 其寻址时间比机械硬盘有近两个数量级的提升, 0.1毫秒多些, 按扩大1,000,000的话是100秒, 不到2分钟.
    • 键入自己名字的时间. 按普通人一分钟输120个字符计(我可以达到180, apm), 名字的平均长度为10个字符, 则总共耗时约为5秒, 扩大1,000,000后约为1389个小时, 或58天
  • 相关阅读:
    SVN服务器使用和搭建
    jenkins以.war包安装配置教程
    Django数据库与程序交互
    工作中常用到的linux命令
    js获取元素属性
    Jenkins利用插件持续集成的思路及安装
    web前端面试第一次[javascript函数和方法的区别]
    web前端面试第一次[定时器]
    linux卸载mysql
    mysql启动错误:Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
  • 原文地址:https://www.cnblogs.com/milton/p/4215077.html
Copyright © 2020-2023  润新知