GitHub user chrisvest opened a pull request: https://github.com/apache/lucene-solr/pull/236
Branch 5x small optimisations In a test with a high concurrency, high write workload on the NRTCachingDirectory, these changes gives me a ~10-15% throughput improvement. To get that, I had to increase the buffer size to 4 KiB. I have left it as is, and just allowed it to be tuned. You can merge this pull request into a Git repository by running: $ git pull https://github.com/chrisvest/lucene-solr branch_5x-neo-opt Alternatively you can review and apply these changes as the patch at: https://github.com/apache/lucene-solr/pull/236.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #236 ---- commit 019441ae8414df779b86c86967a2a6c474bf8650 Author: Chris Vest <mr.chrisv...@gmail.com> Date: 2017-08-18T11:11:00Z Reduce contention on RAMFile monitor lock This monitor lock is quite popular in high concurrency, high write work loads, because numBuffers() is called quite often. This changes the numBuffers() method so it no longer takes the RAMFile monitor lock, but instead does a volatile read. commit 20de28c8dda8d9496ccfbd4e9c1bd9c98fca1887 Author: Chris Vest <mr.chrisv...@gmail.com> Date: 2017-08-18T11:13:28Z Make the RAMFile buffer size configurable Larger buffers can improve the write throughput of e.g. NRTCachingDirectories. The buffer size can now be changed via the `org.apache.lucene.store.RAMOutputStream.BUFFER_SIZE` system property. ---- --- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org