示例#1
0
        /// <summary>
        /// Return the number of bytes used by this instance. </summary>
        public virtual long RamBytesUsed()
        {
            // TODO: this is called per-doc-per-norms/dv-field, can we optimize this?
            long bytesUsed = RamUsageEstimator.AlignObjectSize(BaseRamBytesUsed()) + (pending != null ? RamUsageEstimator.SizeOf(pending) : 0L) + RamUsageEstimator.AlignObjectSize(RamUsageEstimator.NUM_BYTES_ARRAY_HEADER + (long)RamUsageEstimator.NUM_BYTES_OBJECT_REF * values.Length); // values

            return(bytesUsed + valuesBytes);
        }
示例#2
0
 public override long RamBytesUsed()
 {
     return(RamUsageEstimator.AlignObjectSize(
                RamUsageEstimator.NUM_BYTES_OBJECT_HEADER
                + 2 * RamUsageEstimator.NUM_BYTES_INT32   // valueCount,bitsPerValue
                + RamUsageEstimator.NUM_BYTES_OBJECT_REF) // values ref
            + RamUsageEstimator.SizeOf(values));
 }
示例#3
0
 public override long RamBytesUsed()
 {
     return(RamUsageEstimator.AlignObjectSize(
                RamUsageEstimator.NUM_BYTES_OBJECT_HEADER
                + RamUsageEstimator.NUM_BYTES_OBJECT_REF
                + RamUsageEstimator.NUM_BYTES_INT64
                + RamUsageEstimator.NUM_BYTES_SINGLE)
            + current.RamBytesUsed());
 }
示例#4
0
 public override long RamBytesUsed()
 {
     return(RamUsageEstimator.AlignObjectSize(
                RamUsageEstimator.NUM_BYTES_OBJECT_HEADER
                + 3 * RamUsageEstimator.NUM_BYTES_INT32   // bpvMinusBlockSize,valueCount,bitsPerValue
                + RamUsageEstimator.NUM_BYTES_INT64       // maskRight
                + RamUsageEstimator.NUM_BYTES_OBJECT_REF) // blocks ref
            + RamUsageEstimator.SizeOf(blocks));
 }
示例#5
0
 /// <summary>
 /// Return the number of bytes used by this object. </summary>
 public virtual long RamBytesUsed()
 {
     long bytesUsed = RamUsageEstimator.AlignObjectSize(BaseRamBytesUsed());
     bytesUsed += RamUsageEstimator.AlignObjectSize(RamUsageEstimator.NUM_BYTES_ARRAY_HEADER + (long)RamUsageEstimator.NUM_BYTES_OBJECT_REF * subMutables.Length);
     foreach (PackedInt32s.Mutable gw in subMutables)
     {
         bytesUsed += gw.RamBytesUsed();
     }
     return bytesUsed;
 }
示例#6
0
 public override long RamBytesUsed()
 {
     return(RamUsageEstimator.AlignObjectSize(RamUsageEstimator.NUM_BYTES_OBJECT_HEADER + RamUsageEstimator.NUM_BYTES_OBJECT_REF + RamUsageEstimator.NUM_BYTES_LONG + RamUsageEstimator.NUM_BYTES_FLOAT) + Current.RamBytesUsed());
 }
示例#7
0
 public override long RamBytesUsed()
 {
     return(RamUsageEstimator.AlignObjectSize(RamUsageEstimator.NUM_BYTES_OBJECT_HEADER + 2 * RamUsageEstimator.NUM_BYTES_INT + RamUsageEstimator.NUM_BYTES_OBJECT_REF) + RamUsageEstimator.SizeOf(Blocks)); // blocks ref -  valueCount,bitsPerValue
 }
示例#8
0
 public override long RamBytesUsed()
 {
     return(RamUsageEstimator.AlignObjectSize(RamUsageEstimator.NUM_BYTES_OBJECT_HEADER + 3 * RamUsageEstimator.NUM_BYTES_INT + RamUsageEstimator.NUM_BYTES_LONG + RamUsageEstimator.NUM_BYTES_OBJECT_REF) + RamUsageEstimator.SizeOf(Blocks)); // blocks ref -  maskRight -  bpvMinusBlockSize,valueCount,bitsPerValue
 }