当前位置:  开发笔记 > 编程语言 > 正文

如何配置文件I/O?

如何解决《如何配置文件I/O?》经验,为你挑选了1个好方法。

我们的构建非常缓慢.这是一个用Ant构建的Java系统,我在Windows XP上运行它.根据硬件的不同,可能需要5到15分钟才能完成.

查看计算机上的整体性能指标,以及将硬件差异与构建时间相关联,表明该进程受I/O限制.它还表明,该过程比写作更能阅读.

但是,我还没有找到一种很好的方法来确定正在读取或写入哪些文件,以及多少次.我怀疑,随着我们的许多子项目和随后的编译器调用,构建多次重读相同的常用库.

什么是一些分析工具会告诉我给定的进程对哪些文件做了什么?免费很好,但不是必需的.


使用过程监视器,正如Jon Skeet建议的那样,我能够证实我的怀疑:几乎所有的磁盘活动都是读取和重新读取库,JDK的"rt.jar"副本和其他库位于顶部.列表.我不能使RAM​​磁盘足够大以容纳我使用的所有库,但是将"最热"的库安装在RAM磁盘上会使构建时间缩短约40%; 显然,Windows文件系统缓存工作做得不够好,尽管我告诉Windows要优化它.

我注意到一件有趣的事情是,JAR文件上的典型"读取"操作只有几十个字节; 通常有两个或三个,然后在文件中进一步跳过几千字节.它似乎不适合批量读取.

我将在闪存驱动器上对我的所有第三方库进行更多测试,看看它有什么影响.



1> Jon Skeet..:

如果您需要Windows,SysInternals Process Monitor应该向您展示您需要知道的一切.您可以选择该过程,然后查看每个操作,并获取文件操作的摘要.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有