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

Julie Tibshirani commented on LUCENE-10128:
-------------------------------------------

Thanks for looking into this! A clarification for those following along: we 
don't have evidence of a new perf bug or regression. Rather in LUCENE-10109 we 
adjusted an HNSW parameter to be more realistic, and are seeing a big indexing 
slowdown (which we expected).

> increased HNSW beam with causes large indexing perf regression
> --------------------------------------------------------------
>
>                 Key: LUCENE-10128
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10128
>             Project: Lucene - Core
>          Issue Type: Task
>            Reporter: Robert Muir
>            Priority: Major
>         Attachments: 
> LUCENE-10128_remove_sparse_fixed_bitset_reflection.patch, 
> Screen_Shot_2021-09-28_at_09.10.15.png
>
>
> Just opening a ticket in case there is anything we could/should do about it. 
> Looking at Mike's nightly benchmarks, I see a large (like 4x) drop in 
> indexing perf with vectors after LUCENE-10109.
> There's some new stuff in the top CPU offenders:
> {noformat}
> PERCENT       CPU SAMPLES   STACK
> 19.93%        821395        org.apache.lucene.util.VectorUtil#dotProduct()
> 13.80%        568786        org.apache.lucene.util.LongHeap#downHeap()
> 11.06%        455711        
> org.apache.lucene.codecs.KnnVectorsWriter$VectorValuesMerger$MergerRandomAccess#vectorValue()
> 9.84%         405678        org.apache.lucene.util.LongHeap#upHeap()
> 6.72%         276931        java.util.concurrent.atomic.AtomicLong#get()
> 5.30%         218564        org.apache.lucene.util.LongHeap$2#lessThan()
> 2.69%         110872        java.util.Arrays#binarySearch0()
> 2.58%         106294        org.apache.lucene.util.hnsw.HnswGraph#search()
> 1.90%         78254         org.apache.lucene.util.LongHeap#push()
> {noformat}
> compared to before where the profile stacks looked like this:
> {noformat}
> PERCENT       CPU SAMPLES   STACK
> 13.58%        171575        org.apache.lucene.util.VectorUtil#dotProduct()
> 10.13%        127904        org.apache.lucene.util.LongHeap#downHeap()
> 9.84%         124257        org.apache.lucene.util.LongHeap#upHeap()
> 6.26%         79125         java.util.ArrayList#elementData()
> 4.34%         54831         java.util.Random#nextInt()
> 3.98%         50255         org.apache.lucene.util.BytesRefHash#equals()
> 3.69%         46594         org.apache.lucene.util.ByteBlockPool#allocSlice()
> 2.62%         33118         org.apache.lucene.util.BytesRefHash#findHash()
> 2.24%         28275         
> org.apache.lucene.analysis.standard.StandardTokenizerImpl#getNextToken()
> 2.14%         27033         
> org.apache.lucene.analysis.standard.StandardTokenizer#incrementToken()
> {noformat}
> At a glance, it seems to me that although some perf differences should be 
> expected, merging itself may have become more costly. Maybe there is some 
> stuff we can optimize about it.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

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

Reply via email to