san*_*ity 7 performance heuristics hard-drive
我需要在大约1k块的磁盘上存储大量数据.我将以难以预测的方式访问这些对象,但可能存在模式.
是否有我可以使用的算法或启发式算法将根据我的访问模式重新排列磁盘上的对象,以尝试最大化顺序访问,从而最大限度地减少磁盘搜索时间?
在现代操作系统(Windows、Linux 等)上,您绝对无法优化寻道时间!原因如下:
套用Raymond Chen 的话,如果您必须询问操作系统限制,您可能做错了什么。将您的文件系统视为一个不可变的黑匣子,它就是这样(我知道,您可以使用 RAID 等来提供帮助)。
您必须采取的第一步(并且必须在您进行优化时采取)是衡量您目前所拥有的。永远不要假设任何事情。用硬数据验证一切。
从您的帖子来看,您似乎还没有真正编写任何代码,或者,如果您已经编写了,那么目前没有性能问题。
唯一真正的解决方案是着眼于更大的图景,并开发出在不停止应用程序的情况下从磁盘中获取数据的方法。这通常是通过异步访问和推测加载来实现的。如果您的应用程序总是访问磁盘并处理数据的小子集,您可能需要考虑重新组织数据,将所有有用的东西放在一个地方,将其他数据放在其他地方。如果不知道完整的问题域,就不可能真正有帮助。
归档时间: |
|
查看次数: |
836 次 |
最近记录: |