任何可移植的或特定于 NT
和 Linux
的编程技术可以更快地加载大量大文件?我追求的是“提前”,先验,无论你喜欢怎么调用它,我都可以在一个问题的代码中控制两个操作系统的机制。
每个文件都必须完整处理,即完整的大小和内容的顺序。目的是加快一些批处理文件的处理速度。
最佳答案
我不知道 NT,但 Linux 上的一个选项是使用 madvise
在您实际需要下一个文件之前不久使用 MADV_WILLNEED
标志以尽早开始读取它。
或者,一个更便携的选择是简单地在缓冲区处理线程之外的单独线程中手动执行预读 - 即,读入数据以填充线程 A 中的 X MB 缓冲区,尽可能快地处理它在线程 B 中。
关于windows - 自定义预取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1562581/