当前位置: 首页>>代码示例>>Java>>正文


Java ClassSize.estimateBase方法代码示例

本文整理汇总了Java中org.apache.hadoop.hbase.util.ClassSize.estimateBase方法的典型用法代码示例。如果您正苦于以下问题:Java ClassSize.estimateBase方法的具体用法?Java ClassSize.estimateBase怎么用?Java ClassSize.estimateBase使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.hbase.util.ClassSize的用法示例。


在下文中一共展示了ClassSize.estimateBase方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testHeapSizeForBlockIndex

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
/** Checks if the HeapSize calculator is within reason */
@Test
public void testHeapSizeForBlockIndex() throws IOException {
  Class<HFileBlockIndex.BlockIndexReader> cl =
      HFileBlockIndex.BlockIndexReader.class;
  long expected = ClassSize.estimateBase(cl, false);

  HFileBlockIndex.BlockIndexReader bi =
      new HFileBlockIndex.BlockIndexReader(KeyValue.RAW_COMPARATOR, 1);
  long actual = bi.heapSize();

  // Since the arrays in BlockIndex(byte [][] blockKeys, long [] blockOffsets,
  // int [] blockDataSizes) are all null they are not going to show up in the
  // HeapSize calculation, so need to remove those array costs from expected.
  expected -= ClassSize.align(3 * ClassSize.ARRAY);

  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:22,代码来源:TestHFileBlockIndex.java

示例2: Slab

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
Slab(int blockSize, int numBlocks) {
  buffers = new LinkedBlockingQueue<ByteBuffer>();
  slabs = new ConcurrentLinkedQueue<ByteBuffer>();

  this.blockSize = blockSize;
  this.numBlocks = numBlocks;

  this.heapSize = ClassSize.estimateBase(this.getClass(), false);

  int maxBlocksPerSlab = Integer.MAX_VALUE / blockSize;
  int maxSlabSize = maxBlocksPerSlab * blockSize;

  int numFullSlabs = numBlocks / maxBlocksPerSlab;
  int partialSlabSize = (numBlocks % maxBlocksPerSlab) * blockSize;
  for (int i = 0; i < numFullSlabs; i++) {
    allocateAndSlice(maxSlabSize, blockSize);
  }

  if (partialSlabSize > 0) {
    allocateAndSlice(partialSlabSize, blockSize);
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:23,代码来源:Slab.java

示例3: testHeapSizeForBlockIndex

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
/** Checks if the HeapSize calculator is within reason */
@Test
public void testHeapSizeForBlockIndex() throws IOException {
  Class<HFileBlockIndex.BlockIndexReader> cl =
      HFileBlockIndex.BlockIndexReader.class;
  long expected = ClassSize.estimateBase(cl, false);

  HFileBlockIndex.BlockIndexReader bi =
      new HFileBlockIndex.BlockIndexReader(Bytes.BYTES_RAWCOMPARATOR, 1);
  long actual = bi.heapSize();

  // Since the arrays in BlockIndex(byte [][] blockKeys, long [] blockOffsets,
  // int [] blockDataSizes) are all null they are not going to show up in the
  // HeapSize calculation, so need to remove those array costs from expected.
  expected -= ClassSize.align(3 * ClassSize.ARRAY);

  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:22,代码来源:TestHFileBlockIndex.java

示例4: testHeapSizeForBlockIndex

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
/** Checks if the HeapSize calculator is within reason */
@Test
public void testHeapSizeForBlockIndex() throws IOException {
  Class<HFileBlockIndex.BlockIndexReader> cl =
      HFileBlockIndex.BlockIndexReader.class;
  long expected = ClassSize.estimateBase(cl, false);

  HFileBlockIndex.BlockIndexReader bi =
      new HFileBlockIndex.ByteArrayKeyBlockIndexReader(1);
  long actual = bi.heapSize();

  // Since the arrays in BlockIndex(byte [][] blockKeys, long [] blockOffsets,
  // int [] blockDataSizes) are all null they are not going to show up in the
  // HeapSize calculation, so need to remove those array costs from expected.
  // Already the block keys are not there in this case
  expected -= ClassSize.align(2 * ClassSize.ARRAY);

  if (expected != actual) {
    expected = ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:23,代码来源:TestHFileBlockIndex.java

示例5: testHeapSizeForBlockIndex

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
/** Checks if the HeapSize calculator is within reason */
//@Test
public void testHeapSizeForBlockIndex() throws IOException {
  Class<HFileBlockIndex.BlockIndexReader> cl =
      HFileBlockIndex.BlockIndexReader.class;
  long expected = ClassSize.estimateBase(cl, false);

  HFileBlockIndex.BlockIndexReader bi =
      new HFileBlockIndex.BlockIndexReader(KeyValue.RAW_COMPARATOR, 1);
  long actual = bi.heapSize();

  // Since the arrays in BlockIndex(byte [][] blockKeys, long [] blockOffsets,
  // int [] blockDataSizes) are all null they are not going to show up in the
  // HeapSize calculation, so need to remove those array costs from expected.
  expected -= ClassSize.align(3 * ClassSize.ARRAY);

  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }
}
 
开发者ID:shenli-uiuc,项目名称:PyroDB,代码行数:22,代码来源:TestHFileBlockIndex.java

示例6: testMutations

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
@Test
public void testMutations(){
  Class<?> cl;
  long expected;
  long actual;

  cl = TimeRange.class;
  actual = ClassSize.TIMERANGE;
  expected  = ClassSize.estimateBase(cl, false);
  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }

  byte[] row = new byte[] { 0 };
  cl = Put.class;
  actual = new Put(row).MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
  expected = ClassSize.estimateBase(cl, false);
  //The actual TreeMap is not included in the above calculation
  expected += ClassSize.align(ClassSize.TREEMAP);
  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }

  cl = Delete.class;
  actual = new Delete(row).MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
  expected  = ClassSize.estimateBase(cl, false);
  //The actual TreeMap is not included in the above calculation
  expected += ClassSize.align(ClassSize.TREEMAP);
  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }
}
 
开发者ID:fengchen8086,项目名称:ditb,代码行数:36,代码来源:TestHeapSize.java

示例7: allocateAndSlice

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
private void allocateAndSlice(int size, int sliceSize) {
  ByteBuffer newSlab = ByteBuffer.allocateDirect(size);
  slabs.add(newSlab);
  for (int j = 0; j < newSlab.capacity(); j += sliceSize) {
    newSlab.limit(j + sliceSize).position(j);
    ByteBuffer aSlice = newSlab.slice();
    buffers.add(aSlice);
    heapSize += ClassSize.estimateBase(aSlice.getClass(), false);
  }
}
 
开发者ID:fengchen8086,项目名称:LCIndex-HBase-0.94.16,代码行数:11,代码来源:Slab.java

示例8: testMutations

import org.apache.hadoop.hbase.util.ClassSize; //导入方法依赖的package包/类
@Test
public void testMutations(){
  Class<?> cl;
  long expected;
  long actual;

  cl = TimeRange.class;
  actual = ClassSize.TIMERANGE;
  expected  = ClassSize.estimateBase(cl, false);
  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }

  byte[] row = new byte[] { 0 };
  cl = Put.class;
  actual = Mutation.MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
  expected = ClassSize.estimateBase(cl, false);
  //The actual TreeMap is not included in the above calculation
  expected += ClassSize.align(ClassSize.TREEMAP);
  expected += ClassSize.align(ClassSize.INTEGER); // priority
  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }

  cl = Delete.class;
  actual = Mutation.MUTATION_OVERHEAD + ClassSize.align(ClassSize.ARRAY);
  expected  = ClassSize.estimateBase(cl, false);
  //The actual TreeMap is not included in the above calculation
  expected += ClassSize.align(ClassSize.TREEMAP);
  expected += ClassSize.align(ClassSize.INTEGER); // priority
  if (expected != actual) {
    ClassSize.estimateBase(cl, true);
    assertEquals(expected, actual);
  }
}
 
开发者ID:apache,项目名称:hbase,代码行数:38,代码来源:TestHeapSize.java


注:本文中的org.apache.hadoop.hbase.util.ClassSize.estimateBase方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。