You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sh...@apache.org on 2026/08/12 08:44:33 UTC
(iotdb) 01/06: perf: reuse pre-computed ArrayList instance size in AlignedTVList ram cost
This is an automated email from the ASF dual-hosted git repository.
shuwenwei pushed a commit to branch fix_tvlist_partial_clone_dev_1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 719c4301f7f6111fc90563672614e9c405d0627a
Author: shuwenwei <s1...@gmail.com>
AuthorDate: Wed Aug 12 14:56:48 2026 +0800
perf: reuse pre-computed ArrayList instance size in AlignedTVList ram cost
---
.../iotdb/db/queryengine/execution/MemoryEstimationHelper.java | 2 +-
.../java/org/apache/iotdb/db/utils/datastructure/AlignedTVList.java | 6 ++++--
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/MemoryEstimationHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/MemoryEstimationHelper.java
index ba6660f3d6a..1737b48cf18 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/MemoryEstimationHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/MemoryEstimationHelper.java
@@ -44,7 +44,7 @@ public class MemoryEstimationHelper {
private static final long MEASUREMENT_PATH_INSTANCE_SIZE =
RamUsageEstimator.shallowSizeOfInstance(AlignedPath.class);
- private static final long ARRAY_LIST_INSTANCE_SIZE =
+ public static final long ARRAY_LIST_INSTANCE_SIZE =
RamUsageEstimator.shallowSizeOfInstance(ArrayList.class);
private static final long INTEGER_INSTANCE_SIZE =
RamUsageEstimator.shallowSizeOfInstance(Integer.class);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVList.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVList.java
index d8b16b3eb84..c22a7c34aa9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVList.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/datastructure/AlignedTVList.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.utils.datastructure;
+import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
import org.apache.iotdb.db.queryengine.execution.fragment.QueryContext;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
@@ -1284,11 +1285,12 @@ public abstract class AlignedTVList extends TVList {
}
private static long listRamCostWithReferences(List<?> list) {
- return RamUsageEstimator.shallowSizeOf(list) + RamUsageEstimator.sizeOfObjectArray(list.size());
+ return MemoryEstimationHelper.ARRAY_LIST_INSTANCE_SIZE
+ + RamUsageEstimator.sizeOfObjectArray(list.size());
}
private static long listRamCostWithoutReferences(List<?> list) {
- return RamUsageEstimator.shallowSizeOf(list)
+ return MemoryEstimationHelper.ARRAY_LIST_INSTANCE_SIZE
+ (list.isEmpty() ? 0 : RamUsageEstimator.sizeOfObjectArray(0));
}