`
wwei
  • 浏览: 7321 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
最近访客 更多访客>>
社区版块
存档分类
最新评论

帮你建立速度的概念

阅读更多
    这里谈到的速度,单位可不是米/秒(用于描述物体移动速度),而是赫兹(是每秒中的周期性变动重复次数的计量)
       1Hz = 1/S (每秒一次变动)打个比方,如果你右手发抽了,一秒钟抖了4次,那你右手的抖动速度就是4Hz,呵呵,如果是在工作的话(如按某个按钮),那你的执行速度就是4Hz。
我们作为编程人员,对有几个计算机部件的速度就必须有所了解了,就是CPU、Register、
Cache、Memory、Hard Disk,分别是中央处理器、寄存器、二级缓存、内存和硬盘。其中寄存器和二级缓存对于应用程序开发人员(如Java EE开发人员)并不重要。就拿我的本子来说。CPU的速度是1.8GHz,内存是667MHz,硬盘为5400转/分(90Hz)。我们首先能发现的就是,内存和硬盘的速度相差甚远,原因在于内存是电路而硬盘是机械转动。我们为了简单起见,抛开其他因素做一个放大:
              1GHz = 10^3MHz = 10^3 KHz = 10^3Hz
              1GHz = 10^9Hz
              1MHz = 10^6Hz

              1s = 10^3 ms = 10^3 μs = 10^3 ns

硬件                            速度                                                          放大10^8(1亿倍)
CPU                          0.56纳秒(ns)(1.8GHz)                           0.056秒(s)
Memory                    1.5纳秒                                                             0.15秒
Hard Disk                 11.1毫秒(ms)                                               12.8天

    可以看出CPU花1秒钟硬盘就要花229天时间,内存花1秒钟时间硬盘就要86天。
    我们在开发程序的时候,数据是存储在数据库中的,而数据库数据文件是保存的硬盘中的。
由此可以看出,应用程序的性能很关键的因素就是数据存取的性能。如果我们能把需要的数据事先都缓存到内存当中,很明显应用的主题性能就提高了很多,这也是许多持久框架采用缓存的原因。对于数据库来说,比如Oracle,分配比较
多的内存用于数据操作也就在情理之中了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics