boicehuang commented on code in PR #13306:
URL: https://github.com/apache/lucene/pull/13306#discussion_r1579458103


##########
lucene/core/src/java/org/apache/lucene/search/LRUQueryCache.java:
##########
@@ -265,7 +269,6 @@ boolean requiresEviction() {
   }
 
   CacheAndCount get(Query key, IndexReader.CacheHelper cacheHelper) {
-    assert lock.isHeldByCurrentThread();
     assert key instanceof BoostQuery == false;
     assert key instanceof ConstantScoreQuery == false;
     final IndexReader.CacheKey readerKey = cacheHelper.getKey();

Review Comment:
   I understand your point. I try to use `Collections.synchronizedMap` and get 
the benchmark results as follows
   
   doc count | field cardinality | query point | baseline QPS | candidate QPS | 
diff percentage
   -- | -- | -- | -- | -- | --
   30000000 | 10 | 1 | 2481 | 5102 | 105.6%
   30000000 | 10 | 1 | 2481 | 4843 |  95.2% (using `LongAdder `)
   30000000 | 10 | 1 | 2481 | 3851 |  55% (using `LongAdder ` And 
`ConcurrentHashMap`)
   30000000 | 10 | 1 | 2481 | 3751 |  51% (using `LongAdder ` And 
`Collections.synchronizedMap`)
   
   It seems that performance can be improved if the locking time is minimized.



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

To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org
For additional commands, e-mail: issues-h...@lucene.apache.org

Reply via email to