This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/tsfile.git
The following commit(s) were added to refs/heads/develop by this push:
new 84496ab4 Use RamUsageEstimator instead of ClassLayout in
ColumnBuilderStatus (#2)
84496ab4 is described below
commit 84496ab423407186666228c0c97bfd110e18c24d
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Jan 4 21:36:56 2024 +0800
Use RamUsageEstimator instead of ClassLayout in ColumnBuilderStatus (#2)
---
.../iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git
a/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
b/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
index 287b1165..a3a5e7b4 100644
---
a/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
+++
b/common-api/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.tsfile.read.common.block.column;
import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilderStatus;
+import org.apache.iotdb.tsfile.utils.RamUsageEstimator;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
@@ -29,7 +30,7 @@ import static java.util.Objects.requireNonNull;
public class ColumnBuilderStatus {
- public static final int INSTANCE_SIZE =
deepInstanceSize(ColumnBuilderStatus.class);
+ public static final long INSTANCE_SIZE =
deepInstanceSize(ColumnBuilderStatus.class);
private final TsBlockBuilderStatus tsBlockBuilderStatus;
@@ -57,7 +58,7 @@ public class ColumnBuilderStatus {
/**
* Computes the size of an instance of this class assuming that all
reference fields are non-null
*/
- private static int deepInstanceSize(Class<?> clazz) {
+ private static long deepInstanceSize(Class<?> clazz) {
if (clazz.isArray()) {
throw new IllegalArgumentException(
format(
@@ -76,7 +77,7 @@ public class ColumnBuilderStatus {
clazz.getSimpleName(), clazz.getSuperclass().getSimpleName()));
}
- int size = ClassLayout.parseClass(clazz).instanceSize();
+ long size = RamUsageEstimator.shallowSizeOf(clazz);
for (Field field : clazz.getDeclaredFields()) {
// if the field is not static and is a reference field and it's not
synthetic
if (!Modifier.isStatic(field.getModifiers())