You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by GitBox <gi...@apache.org> on 2021/03/15 15:13:15 UTC

[GitHub] [lucenenet] NightOwl888 opened a new pull request #444: Reverted FieldCacheImpl Locking (Closes #272)

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:
users@infra.apache.org



[GitHub] [lucenenet] NightOwl888 merged pull request #444: Reverted FieldCacheImpl Locking (Closes #272)

Posted by GitBox <gi...@apache.org>.
NightOwl888 merged pull request #444:
URL: https://github.com/apache/lucenenet/pull/444


   


----------------------------------------------------------------
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:
users@infra.apache.org