maa*_*nus 14 java benchmarking caching disk-io caliper
我的java程序花了大部分时间来阅读一些文件,我想优化它,例如,通过使用并发,预取,内存映射文件或其他.
没有基准测试的优化是无意义的,所以我进行了基准测试.但是,在基准测试期间,整个文件内容都缓存在RAM中,与实际运行时不同.因此,基准测试的运行时间要小得多,而且很可能与现实无关.
我需要以某种方式告诉操作系统(Linux)不要缓存文件内容,或者更好地在每次基准测试运行之前清除缓存.或者可能消耗大部分可用的RAM(32 GB),因此只有一小部分文件内容适合.如何操作?
我正在使用卡尺进行基准测试,但在这种情况下我认为没必要(它绝不是微基准测试),我不确定这是个好主意.
清除 Linux 文件缓存
sync && echo 1 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)
创建一个使用所有 RAM 的大文件
dd if=/dev/zero of=dummyfile bs=1024 count=LARGE_NUMBER
Run Code Online (Sandbox Code Playgroud)
(完成后不要忘记删除dummyfile
)。
归档时间: |
|
查看次数: |
1987 次 |
最近记录: |