浏览 1534 次
锁定老帖子 主题:帮你建立速度的概念
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-12-08
最后修改:2008-12-13
这里谈到的速度,单位可不是米/秒(用于描述物体移动速度),而是赫兹(是每秒中的周期性变动重复次数的计量)
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,分配比较 多的内存用于数据操作也就在情理之中了。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |