【发布时间】:2014-12-20 14:59:09
【问题描述】:
我想在这个问题上发起一个线程。很多人想知道如何在特定的上下文或使用特定的语言来做到这一点,但我想知道一般来说最好的策略是什么
我看到了两种主要做法:
在缓冲区中加载文件的小块(如 2048 个样本)。这似乎是最简单的,但它涉及到大量使用磁盘,所以我怀疑它不是最好的。
将所有文件加载到一个大缓冲区中。使用硬盘更温和,但如果您使用多个长文件,则需要大量内存。如果你的文件很长,或者有很多通道,我想索引变量可能会损坏。例如,如果它是一个 16 位整数,它可能无法到达文件末尾(或者我是不是偏执狂?)
我正在考虑混合的东西,比如:
使用非常大的缓冲区而不加载整个文件
将文件以自定义格式存储在硬盘上,以一种针对快速访问而优化的方式。
那么,你怎么看,你如何处理这个? 我真的不在乎什么是“最好的”,我更想知道每个人的优缺点。
【问题讨论】: