如何分配连续的磁盘空间?

mrc*_*ori 4 c++ java hard-drive

我正在开发一个可以处理大量文件并进行谷歌搜索的系统,我读到了提高硬盘信息检索速度的方法.但是由于我使用Java,我找不到任何库来处理这个问题.我对C++有一个非常模糊的知识,并发现了一些关于IOCTL的硬盘信息检索.显然,没有办法获取特定的信息,比如我可以从硬盘获得多少连续的空闲块,或者它有多少连续的空闲块.我目前正在使用Windows 7和XP.我知道JNI的使用,但我对C++有很大的问题.但即使搜索C++解决方案,我找不到任何东西.也许我在Google上做了一些错误的查询.有人可以给我一个链接,研究建议或任何东西?我愿意学习C++(虽然我几乎没有空闲时间).

非常感谢你!

PS-Edit:我知道它实际上没什么区别.但我真的需要了解这一点.但感谢大家提供建议.

JB *_*zet 8

您是否发现了性能问题?如果没有,那么不要做任何事情.

您确定磁盘上文件的物理分布是导致此性能问题的原因吗?如果没有,则测量应用程序中花费的时间,并尝试改进算法,必要时引入缓存.

如果你已经完成了这一切,并且确定磁盘上文件的物理分布导致性能问题,你是否考虑购买更快的磁盘,或者使用多个磁盘?硬件通常比开发时间便宜得多.

我非常怀疑磁盘上文件的物理分布对应用程序的性能有重大影响.我会先搜索其他地方.