zoukankan      html  css  js  c++  java
  • 如果世界变慢为原先的百万分之一

    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天
  • 相关阅读:
    ld: cannot find lgcc_s
    Ubuntu 12.10 图形显示未知
    awk分析Nginx日志中的cookie
    Ubuntu 10.04 WPS 问题汇总
    objc[20556]:Class JavaLaunchHelper is implemented in both xxx 警告处理
    在Linux安装配置Tomcat 并部署web应用 ( 三种方式 )
    Spring Boot 系列(二)单元测试&网络请求
    Java自定义注解
    Spring Boot 系列(一)快速入门
    Spring 自定义注解,配置简单日志注解
  • 原文地址:https://www.cnblogs.com/milton/p/4215077.html
Copyright © 2011-2022 走看看