lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chrisvest <>
Subject [GitHub] lucene-solr pull request #236: Branch 5x small optimisations
Date Fri, 18 Aug 2017 11:20:28 GMT
GitHub user chrisvest opened a pull request:

    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 branch_5x-neo-opt

Alternatively you can review and apply these changes as the patch at:

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 <>
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 <>
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 ``
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 or file a JIRA ticket
with INFRA.

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message