gpt4 book ai didi

c# - 在 Java 和 .Net 中从 DVD 读取速度非常慢

转载 作者:太空宇宙 更新时间:2023-11-04 08:59:02 24 4
gpt4 key购买 nike

我注意到在两个生成文件哈希的应用程序(一个用 Java 编写,另一个用 C# 编写)中,从 DVD 读取时的性能非常糟糕。我使用的是Windows XP SP3。我从噪音中注意到,驱动器在读取一堆 block 后不断旋转,导致读取之间有几秒钟的暂停。

奇怪的是,当我使用资源管理器将文件复制到硬盘驱动器或使用 md5sum(用 C 编写的实用程序)时,不会发生这种情况。还。当使用相同硬件在 Linux 中运行时,Java 应用程序运行良好。

private static final byte[] m_buf = new byte[1048576*3];
...
//Using a BufferedInputStream makes no difference
InputStream in = new FileInputStream(file);
while((last_read = in.read(m_buf)) != -1){
update_hash(m_buf, 0, last_read);
}
in.close();

有什么提示吗?

谢谢。

最佳答案

将缓冲区大小减少到 1024 字节后,问题消失了。不知道确切的解释,但可能是因为读取更频繁,DVD 驱动程序不会降低驱动器转速。

感谢您的评论

关于c# - 在 Java 和 .Net 中从 DVD 读取速度非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1378798/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com