NightOwl888 opened a new pull request #444:
URL: https://github.com/apache/lucenenet/pull/444


   This reverts the changes to locking in `FieldCacheImpl` that were introduced 
to attempt to reduce locking. It is clear that we need to rule out concurrency 
differences from Lucene such as this in order to get to the bottom of our 
locking contention issues during testing.
   
   The 2 main things that were changed were:
   
   1. Restore locks back to the Lucene 4.8.0 state, including replacing some 
missing locks.
   2. Changed from using `ConcurrentDictionary<TKey, TValue>` back to 
`Dictionary<TKey, TValue>` because it adds unnecessary overhead.
   
   As for #272, much of the locking contention has been reduced by using 
`ConditionalWeakTable<TKey, TValue>` rather than `WeakDictionary<TKey, TValue>` 
in .NET Standard 2.1+. In addition, we have made several other performance 
improvements since the report, which should also help to reduce locking in 
`FieldCacheImpl::Get()`. 


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to