Моя программа java тратит больше времени на чтение некоторых файлов, и я хочу ее оптимизировать, например, используя concurrency, prefetching, файлы с отображением памяти или что-то еще.
Оптимизация без бенчмаркинга не имеет смысла, поэтому я ориентируюсь. Однако во время теста все содержимое файла кэшируется в ОЗУ, в отличие от реального запуска. Таким образом, времена выполнения эталона намного меньше и, скорее всего, не связаны с реальностью.
Мне нужно как-то сказать операционной системе (Linux) не кэшировать содержимое файла, а лучше стереть кеш до запуска каждого теста. Или, возможно, потребляйте большую часть доступной оперативной памяти (32 ГБ), так что в нее входит только небольшая часть содержимого файла. Как это сделать?
Я использую caliper для бенчмаркинга, но в этом случае я не думаю, что это необходимо (это отнюдь не микрообъект), и я не уверен, что это хорошая идея.