You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by mi...@apache.org on 2012/08/07 18:01:27 UTC

svn commit: r1370330 - in /lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block: BlockPostingsFormat.java BlockPostingsWriter.java ForUtil.java PackedIntsDecompress.java

Author: mikemccand
Date: Tue Aug  7 16:01:27 2012
New Revision: 1370330

URL: http://svn.apache.org/viewvc?rev=1370330&view=rev
Log:
remove 32 bit case (all our int values are >= 0)

Modified:
    lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsFormat.java
    lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsWriter.java
    lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/ForUtil.java
    lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/PackedIntsDecompress.java

Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsFormat.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsFormat.java?rev=1370330&r1=1370329&r2=1370330&view=diff
==============================================================================
--- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsFormat.java (original)
+++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsFormat.java Tue Aug  7 16:01:27 2012
@@ -42,6 +42,7 @@ public final class BlockPostingsFormat e
   private final int minTermBlockSize;
   private final int maxTermBlockSize;
 
+  // nocommit do other block sizes perform better?
   public final static int BLOCK_SIZE = 128;
 
   public BlockPostingsFormat() {

Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsWriter.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsWriter.java?rev=1370330&r1=1370329&r2=1370330&view=diff
==============================================================================
--- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsWriter.java (original)
+++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/BlockPostingsWriter.java Tue Aug  7 16:01:27 2012
@@ -168,6 +168,7 @@ public final class BlockPostingsWriter e
     docDeltaBuffer = new int[BLOCK_SIZE];
     freqBuffer = new int[BLOCK_SIZE];
 
+    // nocommit should we try skipping every 2/4 blocks...?
     skipWriter = new BlockSkipWriter(maxSkipLevels, 
                                      BLOCK_SIZE,
                                      state.segmentInfo.getDocCount(),

Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/ForUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/ForUtil.java?rev=1370330&r1=1370329&r2=1370330&view=diff
==============================================================================
--- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/ForUtil.java (original)
+++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/ForUtil.java Tue Aug  7 16:01:27 2012
@@ -46,6 +46,7 @@ public final class ForUtil {
     }
  
     for (int i=0; i<blockSize; ++i) {
+      assert data[i] >= 0;
       encodeNormalValue(intBuffer, i, data[i], numBits);
     }
 
@@ -66,12 +67,13 @@ public final class ForUtil {
    * @param data        int array to hold uncompressed data
    * @param header      header of current block, which contains numFrameBits
    */
-  static void decompress(IntBuffer intBuffer, int[] data, int numBits) {
+  static void decompress(IntBuffer intBuffer, int[] data, int header) {
     // since this buffer is reused at upper level, rewind first
     intBuffer.rewind();
 
-    // nocommit assert header isn't "malformed", ie besides
-    // numBytes / bit-width there is nothing else!
+    // NOTE: header == numBits now, but we may change that
+    final int numBits = header;
+    assert numBits >=0 && numBits < 32;
     decompressCore(intBuffer, data, numBits);
   }
 
@@ -109,7 +111,7 @@ public final class ForUtil {
       case 29: PackedIntsDecompress.decode29(intBuffer, data); break;
       case 30: PackedIntsDecompress.decode30(intBuffer, data); break;
       case 31: PackedIntsDecompress.decode31(intBuffer, data); break;
-      case 32: PackedIntsDecompress.decode32(intBuffer, data); break;
+      // nocommit have default throw exc?  or add assert up above
     }
   }
 
@@ -134,7 +136,7 @@ public final class ForUtil {
   }
 
   /**
-   * Estimate best num of frame bits according to the largest value.
+   * Returns number of bits necessary to represent max value.
    */
   static int getNumBits(final int[] data) {
     if (isAllEqual(data)) {
@@ -147,6 +149,7 @@ public final class ForUtil {
         optBits++;
       }
     }
+    assert optBits < 32;
     return optBits;
   }
 

Modified: lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/PackedIntsDecompress.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/PackedIntsDecompress.java?rev=1370330&r1=1370329&r2=1370330&view=diff
==============================================================================
--- lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/PackedIntsDecompress.java (original)
+++ lucene/dev/branches/pforcodec_3892/lucene/core/src/java/org/apache/lucene/codecs/block/PackedIntsDecompress.java Tue Aug  7 16:01:27 2012
@@ -1766,76 +1766,4 @@ final class PackedIntsDecompress {
       outputOffset += 32;
     }
   }
-  public static void decode32(final IntBuffer compressedBuffer, final int[] output) {
-    final int numFrameBits = 32;
-    final int mask = (int) ((1L<<numFrameBits) - 1);
-    int outputOffset = 0;
-    for(int step=0;step<4;step++) {
-      int intValue0 = compressedBuffer.get();
-      int intValue1 = compressedBuffer.get();
-      int intValue2 = compressedBuffer.get();
-      int intValue3 = compressedBuffer.get();
-      int intValue4 = compressedBuffer.get();
-      int intValue5 = compressedBuffer.get();
-      int intValue6 = compressedBuffer.get();
-      int intValue7 = compressedBuffer.get();
-      int intValue8 = compressedBuffer.get();
-      int intValue9 = compressedBuffer.get();
-      int intValue10 = compressedBuffer.get();
-      int intValue11 = compressedBuffer.get();
-      int intValue12 = compressedBuffer.get();
-      int intValue13 = compressedBuffer.get();
-      int intValue14 = compressedBuffer.get();
-      int intValue15 = compressedBuffer.get();
-      int intValue16 = compressedBuffer.get();
-      int intValue17 = compressedBuffer.get();
-      int intValue18 = compressedBuffer.get();
-      int intValue19 = compressedBuffer.get();
-      int intValue20 = compressedBuffer.get();
-      int intValue21 = compressedBuffer.get();
-      int intValue22 = compressedBuffer.get();
-      int intValue23 = compressedBuffer.get();
-      int intValue24 = compressedBuffer.get();
-      int intValue25 = compressedBuffer.get();
-      int intValue26 = compressedBuffer.get();
-      int intValue27 = compressedBuffer.get();
-      int intValue28 = compressedBuffer.get();
-      int intValue29 = compressedBuffer.get();
-      int intValue30 = compressedBuffer.get();
-      int intValue31 = compressedBuffer.get();
-      output[0 + outputOffset] = intValue0;
-      output[1 + outputOffset] = intValue1;
-      output[2 + outputOffset] = intValue2;
-      output[3 + outputOffset] = intValue3;
-      output[4 + outputOffset] = intValue4;
-      output[5 + outputOffset] = intValue5;
-      output[6 + outputOffset] = intValue6;
-      output[7 + outputOffset] = intValue7;
-      output[8 + outputOffset] = intValue8;
-      output[9 + outputOffset] = intValue9;
-      output[10 + outputOffset] = intValue10;
-      output[11 + outputOffset] = intValue11;
-      output[12 + outputOffset] = intValue12;
-      output[13 + outputOffset] = intValue13;
-      output[14 + outputOffset] = intValue14;
-      output[15 + outputOffset] = intValue15;
-      output[16 + outputOffset] = intValue16;
-      output[17 + outputOffset] = intValue17;
-      output[18 + outputOffset] = intValue18;
-      output[19 + outputOffset] = intValue19;
-      output[20 + outputOffset] = intValue20;
-      output[21 + outputOffset] = intValue21;
-      output[22 + outputOffset] = intValue22;
-      output[23 + outputOffset] = intValue23;
-      output[24 + outputOffset] = intValue24;
-      output[25 + outputOffset] = intValue25;
-      output[26 + outputOffset] = intValue26;
-      output[27 + outputOffset] = intValue27;
-      output[28 + outputOffset] = intValue28;
-      output[29 + outputOffset] = intValue29;
-      output[30 + outputOffset] = intValue30;
-      output[31 + outputOffset] = intValue31;
-      outputOffset += 32;
-    }
-  }
 }