neoremind opened a new pull request, #16279:
URL: https://github.com/apache/lucene/pull/16279
Adds JMH benchmarks to compare read I/O strategies in memory constrained
scenario, related to #16044.
I/O strategies tested:
- mmap no madvise
- mmap + MADV_RANDOM
- mmap + MADV_RANDOM + MADV_WILLNEED
- FFI pread(2) via Panama
- FileChannel + DirectByteBuffer (simulates `NIOFSDirectory`)
- FileChannel + HeapByteBuffer
- O_DIRECT
Thread counts: 1, 4, 8, 16.
How to run
```
dd if=/dev/urandom of=/path/to/pread-bench-16G.dat bs=1M count=16384
./gradlew -p lucene/benchmark-jmh assemble
BENCH_FILE=/path/to/pread-bench-16G.dat BENCH_FILE_SIZE_MIB=16384
BENCH_DROP_CACHES=false \
java -jar lucene/benchmark-jmh/build/benchmarks/lucene-benchmark-jmh-*.jar
\
RandomReadIOBenchmark
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]