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

Uwe Schindler commented on LUCENE-8005:
---------------------------------------

Because of that I'd add a package private marker interface. Much cleaner and 
invisible from public API (a pkg private super all is invisible, too). The 
other idea would have been an annotation, but those are not inherited.

> Avoid Class.getSimpleName in UsageTrackingQueryCachingPolicy
> ------------------------------------------------------------
>
>                 Key: LUCENE-8005
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8005
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Scott Somerville
>         Attachments: LUCENE-8005.patch, LUCENE-8005.patch
>
>
> By profiling an Elasticsearch cluster, I found the private method 
> UsageTrackingQueryCachingPolicy.isPointQuery to be quite expensive due to the 
> clazz.getSimpleName() call.
> Here is an excerpt from hot_threads:
> {noformat}
> java.lang.Class.getEnclosingMethod0(Native Method)
>        java.lang.Class.getEnclosingMethodInfo(Class.java:1072)
>        java.lang.Class.getEnclosingClass(Class.java:1272)
>        java.lang.Class.getSimpleBinaryName(Class.java:1443)
>        java.lang.Class.getSimpleName(Class.java:1309)
>        
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.isPointQuery(UsageTrackingQueryCachingPolicy.java:39)
>        
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.isCostly(UsageTrackingQueryCachingPolicy.java:54)
>        
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.minFrequencyToCache(UsageTrackingQueryCachingPolicy.java:121)
>        
> org.apache.lucene.search.UsageTrackingQueryCachingPolicy.shouldCache(UsageTrackingQueryCachingPolicy.java:179)
>        
> org.elasticsearch.index.shard.ElasticsearchQueryCachingPolicy.shouldCache(ElasticsearchQueryCachingPolicy.java:53)
>        
> org.apache.lucene.search.LRUQueryCache$CachingWrapperWeight.bulkScorer(LRUQueryCache.java:806)
>        
> org.elasticsearch.indices.IndicesQueryCache$CachingWeightWrapper.bulkScorer(IndicesQueryCache.java:168)
>        org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:665)
>        org.apache.lucene.search.IndexSearcher.search(IndexSearcher.java:472)
>        org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:388)
>        org.elasticsearch.search.query.QueryPhase.execute(QueryPhase.java:108)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

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

Reply via email to