zacharymorn commented on PR #972: URL: https://github.com/apache/lucene/pull/972#issuecomment-1168202563
For `OrHighPhraseHighPhrase`, the JFR CPU sampling result looks similar, but with the modified version calling `advanceShallow` more often, suggesting the BMM implementation might be doing boundary adjustment more often? Modified: ``` PERCENT CPU SAMPLES STACK 8.63% 1389 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#advance() 5.24% 843 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#advanceShallow() 3.18% 511 java.nio.DirectByteBuffer#get() 2.79% 449 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader#findFirstGreater() 2.72% 438 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#refillPositions() 2.48% 399 jdk.internal.misc.ScopedMemoryAccess#getByteInternal() 2.19% 353 org.apache.lucene.search.ExactPhraseMatcher$1#getImpacts() 2.11% 339 org.apache.lucene.search.PhraseScorer$1#matches() 2.06% 331 org.apache.lucene.codecs.lucene90.Lucene90ScoreSkipReader#skipTo() 1.83% 294 org.apache.lucene.search.ExactPhraseMatcher$1$1#getImpacts() 1.63% 263 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#nextPosition() 1.49% 240 org.apache.lucene.store.ByteBufferGuard#getByte() 1.24% 200 org.apache.lucene.search.ExactPhraseMatcher#advancePosition() 1.24% 200 org.apache.lucene.search.ConjunctionDISI#doNext() 1.21% 194 java.util.zip.Inflater#inflateBytesBytes() 1.18% 190 org.apache.lucene.search.ExactPhraseMatcher#nextMatch() 1.13% 182 org.apache.lucene.store.DataInput#readVLong() 1.12% 181 org.apache.lucene.search.ExactPhraseMatcher$1#advanceShallow() 1.11% 178 org.apache.lucene.search.ImpactsDISI#advanceShallow() 1.07% 172 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#skipPositions() 0.89% 143 java.lang.Class#isArray() 0.81% 131 org.apache.lucene.codecs.lucene90.ForUtil#expand8() 0.75% 121 org.apache.lucene.search.TwoPhaseIterator$TwoPhaseIteratorAsDocIdSetIterator#doNext() 0.74% 119 org.apache.lucene.codecs.lucene90.PForUtil#innerPrefixSum32() 0.71% 115 org.apache.lucene.search.ConjunctionDISI#docID() 0.71% 115 org.apache.lucene.codecs.lucene90.ForUtil#shiftLongs() 0.70% 113 org.apache.lucene.search.PhraseScorer#docID() 0.70% 112 org.apache.lucene.codecs.lucene90.PForUtil#decode() 0.68% 110 org.apache.lucene.search.ExactPhraseMatcher#maxFreq() 0.68% 109 org.apache.lucene.search.ImpactsDISI#docID() ``` Baseline: ``` PERCENT CPU SAMPLES STACK 8.66% 1196 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#advance() 3.88% 536 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader#findFirstGreater() 2.96% 409 java.nio.DirectByteBuffer#get() 2.78% 384 org.apache.lucene.search.ExactPhraseMatcher$1$1#getImpacts() 2.50% 345 org.apache.lucene.codecs.lucene90.Lucene90ScoreSkipReader#skipTo() 2.46% 340 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#advanceShallow() 1.73% 239 org.apache.lucene.search.PhraseScorer$1#matches() 1.72% 237 org.apache.lucene.search.ExactPhraseMatcher$1#getImpacts() 1.48% 204 java.util.zip.Inflater#inflateBytesBytes() 1.48% 204 org.apache.lucene.codecs.lucene90.ForUtil#expand8() 1.23% 170 jdk.internal.misc.ScopedMemoryAccess#getByteInternal() 1.21% 167 org.apache.lucene.search.ConjunctionDISI#doNext() 1.20% 166 org.apache.lucene.codecs.lucene90.PForUtil#innerPrefixSum32() 1.19% 165 org.apache.lucene.store.ByteBufferGuard#getByte() 1.12% 155 org.apache.lucene.codecs.lucene90.PForUtil#prefixSum32() 1.07% 148 java.lang.Class#isArray() 1.06% 147 org.apache.lucene.codecs.lucene90.PForUtil#expand32() 0.98% 135 org.apache.lucene.codecs.lucene90.PForUtil#decode() 0.96% 133 org.apache.lucene.search.ConjunctionDISI#docID() 0.91% 125 org.apache.lucene.search.ExactPhraseMatcher#reset() 0.83% 114 perf.PKLookupTask#go() 0.83% 114 org.apache.lucene.codecs.lucene90.Lucene90PostingsReader$BlockImpactsPostingsEnum#refillPositions() 0.80% 111 org.apache.lucene.search.TwoPhaseIterator$TwoPhaseIteratorAsDocIdSetIterator#doNext() 0.80% 110 org.apache.lucene.search.ImpactsDISI#advanceShallow() 0.78% 108 org.apache.lucene.codecs.lucene90.ForUtil#shiftLongs() 0.78% 108 java.nio.Buffer#position() 0.78% 108 java.nio.Buffer#nextGetIndex() 0.76% 105 org.apache.lucene.store.ByteBufferGuard#ensureValid() 0.71% 98 org.apache.lucene.search.ConjunctionDISI#advance() 0.70% 97 org.apache.lucene.util.PriorityQueue#downHeap() ``` -- 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