You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2013/01/25 21:05:56 UTC

svn commit: r1438680 - in /lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42: Lucene42DocValuesConsumer.java Lucene42DocValuesProducer.java

Author: rmuir
Date: Fri Jan 25 20:05:55 2013
New Revision: 1438680

URL: http://svn.apache.org/viewvc?rev=1438680&view=rev
Log:
don't write redundant count

Modified:
    lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java
    lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java?rev=1438680&r1=1438679&r2=1438680&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesConsumer.java Fri Jan 25 20:05:55 2013
@@ -58,10 +58,12 @@ class Lucene42DocValuesConsumer extends 
   static final int BLOCK_SIZE = 4096;
 
   final IndexOutput data, meta;
+  final int maxDoc;
   
   Lucene42DocValuesConsumer(SegmentWriteState state, String dataCodec, String dataExtension, String metaCodec, String metaExtension) throws IOException {
     boolean success = false;
     try {
+      maxDoc = state.segmentInfo.getDocCount();
       String dataName = IndexFileNames.segmentFileName(state.segmentInfo.name, state.segmentSuffix, dataExtension);
       data = state.directory.createOutput(dataName, state.context);
       CodecUtil.writeHeader(data, dataCodec, VERSION_CURRENT);
@@ -83,14 +85,12 @@ class Lucene42DocValuesConsumer extends 
     meta.writeLong(data.getFilePointer());
     long minValue = Long.MAX_VALUE;
     long maxValue = Long.MIN_VALUE;
-    int count = 0;
     // TODO: more efficient?
     HashSet<Long> uniqueValues = new HashSet<Long>();
     for(Number nv : values) {
       long v = nv.longValue();
       minValue = Math.min(minValue, v);
       maxValue = Math.max(maxValue, v);
-      count++;
       if (uniqueValues != null) {
         if (uniqueValues.add(v)) {
           if (uniqueValues.size() > 256) {
@@ -114,10 +114,9 @@ class Lucene42DocValuesConsumer extends 
       }
 
       meta.writeVInt(PackedInts.VERSION_CURRENT);
-      meta.writeVInt(count);
       data.writeVInt(bitsPerValue);
 
-      final PackedInts.Writer writer = PackedInts.getWriterNoHeader(data, PackedInts.Format.PACKED, count, bitsPerValue, PackedInts.DEFAULT_BUFFER_SIZE);
+      final PackedInts.Writer writer = PackedInts.getWriterNoHeader(data, PackedInts.Format.PACKED, maxDoc, bitsPerValue, PackedInts.DEFAULT_BUFFER_SIZE);
       for(Number nv : values) {
         writer.add(encode.get(nv));
       }
@@ -126,7 +125,6 @@ class Lucene42DocValuesConsumer extends 
       meta.writeByte((byte)0); // delta-compressed
 
       meta.writeVInt(PackedInts.VERSION_CURRENT);
-      meta.writeVInt(count);
       data.writeVInt(BLOCK_SIZE);
 
       final BlockPackedWriter writer = new BlockPackedWriter(data, BLOCK_SIZE);

Modified: lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java?rev=1438680&r1=1438679&r2=1438680&view=diff
==============================================================================
--- lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java (original)
+++ lucene/dev/branches/lucene4547/lucene/core/src/java/org/apache/lucene/codecs/lucene42/Lucene42DocValuesProducer.java Fri Jan 25 20:05:55 2013
@@ -106,7 +106,6 @@ class Lucene42DocValuesProducer extends 
         entry.offset = meta.readLong();
         entry.tableized = meta.readByte() != 0;
         entry.packedIntsVersion = meta.readVInt();
-        entry.count = meta.readVInt();
         numerics.put(fieldNumber, entry);
       } else if (fieldType == Lucene42DocValuesConsumer.BYTES) {
         BinaryEntry entry = new BinaryEntry();
@@ -151,7 +150,7 @@ class Lucene42DocValuesProducer extends 
         decode[i] = data.readLong();
       }
       final int bitsPerValue = data.readVInt();
-      final PackedInts.Reader reader = PackedInts.getReaderNoHeader(data, PackedInts.Format.PACKED, entry.packedIntsVersion, entry.count, bitsPerValue);
+      final PackedInts.Reader reader = PackedInts.getReaderNoHeader(data, PackedInts.Format.PACKED, entry.packedIntsVersion, maxDoc, bitsPerValue);
       return new NumericDocValues() {
         @Override
         public long get(int docID) {
@@ -160,7 +159,7 @@ class Lucene42DocValuesProducer extends 
       };
     } else {
       final int blockSize = data.readVInt();
-      final BlockPackedReader reader = new BlockPackedReader(data, entry.packedIntsVersion, blockSize, entry.count, false);
+      final BlockPackedReader reader = new BlockPackedReader(data, entry.packedIntsVersion, blockSize, maxDoc, false);
       return new NumericDocValues() {
         @Override
         public long get(int docID) {
@@ -282,7 +281,6 @@ class Lucene42DocValuesProducer extends 
     long offset;
     boolean tableized;
     int packedIntsVersion;
-    int count;
   }
   
   static class BinaryEntry {