如何在没有缓存的情况下测量文件读取速度?
2022-09-03 02:54:57
我的java程序通过读取一些文件花费了大部分时间,并且我想优化它,例如,通过使用并发,预取,内存映射文件或其他方式。
在没有基准测试的情况下进行优化是无稽之谈,所以我进行基准测试。但是,在基准测试期间,整个文件内容将缓存在RAM中,这与实际运行不同。因此,基准测试的运行时间要小得多,并且很可能与现实无关。
我需要以某种方式告诉操作系统(Linux)不要缓存文件内容,或者最好在每次基准测试运行之前清除缓存。或者可能消耗大部分可用RAM(32 GB),因此只有一小部分文件内容适合。怎么办?
我正在使用卡尺进行基准测试,但在这种情况下,我认为它没有必要(它绝不是一个微型板凳标记),我不确定这是一个好主意。