这更像是一个硬件问题而不是软件问题。
我想从硬盘驱动器中检索 512 字节的数据扇区。平均寻道时间为 9 毫秒,磁盘以 7200 RPM 旋转。一旦定位在数据上,数据可以以 15 MB/秒的速度传输。平均而言,检索数据需要多长时间?
必须有某种公式来计算这个,对吧?有了它,我打算编写我的程序。请帮忙。
这个问题的答案很重要,而且可能无关紧要。数据检索时间将取决于操作系统资源、不同级别的缓存、数据在驱动器上的物理位置(外部边缘比内部更快)等。
我说无关紧要,因为作为程序员,您对此无能为力,也不能依赖它。如果驱动器比预期的慢(NFS/Samba 挂载)怎么办?更快(RAID0、SSD)?
理论上:如果您正在寻找平均情况,那么它将是找到该数据的平均搜索时间 + 传输数据的时间量。但是由于磁盘上有某种操作系统并且您的数据可能是碎片化的(取决于它是什么),时间可能会大大增加。
PS 还有命令处理时间,但通常在纳秒范围内