original-brownbear commented on code in PR #13892:
URL: https://github.com/apache/lucene/pull/13892#discussion_r1797677131
##########
lucene/core/src/java/org/apache/lucene/codecs/lucene912/Lucene912PostingsReader.java:
##########
@@ -1316,8 +1257,88 @@ public BytesRef getPayload() {
}
@Override
- public int docID() {
- return doc;
+ public long cost() {
+ return docFreq;
+ }
+
+ private final Impacts impacts =
+ new Impacts() {
+
+ private final ByteArrayDataInput scratch = new ByteArrayDataInput();
+
+ @Override
+ public int numLevels() {
+ int numLevels = 0;
+ if (level0LastDocID != NO_MORE_DOCS) {
+ numLevels++;
+ }
+ if (level1LastDocID != NO_MORE_DOCS) {
+ numLevels++;
+ }
+ if (numLevels == 0) {
+ numLevels++;
+ }
+ return numLevels;
+ }
+
+ @Override
+ public int getDocIdUpTo(int level) {
+ if (level == 0) {
+ return level0LastDocID;
+ }
+ return level == 1 ? level1LastDocID : NO_MORE_DOCS;
+ }
+
+ @Override
+ public List<Impact> getImpacts(int level) {
+ if (level == 0 && level0LastDocID != NO_MORE_DOCS) {
+ return readImpacts(level0SerializedImpacts, level0Impacts);
+ }
+ if (level == 1 && level1LastDocID != NO_MORE_DOCS) {
+ return readImpacts(level1SerializedImpacts, level1Impacts);
+ }
+ return DUMMY_IMPACTS;
+ }
Review Comment:
Jup ran luceneutil yesterday and and this version of things actually is
slightly faster even :) (I guess because we have one fewer implementations of
the impacts or some other minor effect from reducing codesize.
--
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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]