[ 
https://issues.apache.org/jira/browse/LUCENE-7778?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15964602#comment-15964602
 ] 

Steve Mason commented on LUCENE-7778:
-------------------------------------

I actually simplified the description a bit because we're using Luwak, which 
utilises a RAMDirectory under the hood. I'll take a look at the performance of 
the MMapDirectory though and see if it makes a reasonable solution

Though if it can be agreed that synchronised on those method is pointless, then 
the patch I've submitted should still be good regardless of my motivations 
behind submitting it?

> Remove synchronized from high-contention methods on RAMFile
> -----------------------------------------------------------
>
>                 Key: LUCENE-7778
>                 URL: https://issues.apache.org/jira/browse/LUCENE-7778
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: core/store
>            Reporter: Steve Mason
>            Priority: Minor
>
> When benchmarking RAMDirectory access via multiple threads the methods 
> {{RAMFile::numBuffers}} and {{RAMFile::getBuffer}} show up blocking threads 
> fairly frequently
> By removing the {{synchronized}} keyword from these methods our internal 
> benchmarks show a 2x performance increase under concurrent load.
> I don't think removing {{synchronized}} from these methods is a problem as 
> they are read-only and write access to these fields is not synchronized.  
> LUCENE-2779 also implies that some ofthe locking on RAMDirectory is not 
> necessary



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to