This is an automated email from the ASF dual-hosted git repository.

leirui pushed a commit to branch research/area-visualization
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit c449be4b50651a669c2d8ba8427b7fd894703a68
Author: Lei Rui <[email protected]>
AuthorDate: Thu Jan 23 16:38:39 2025 +0800

    add
---
 .../src/main/java/org/apache/iotdb/db/query/eBUG/Point.java |  3 ---
 .../src/main/java/org/apache/iotdb/db/query/eBUG/Test1.java |  5 +++--
 .../src/main/java/org/apache/iotdb/db/query/eBUG/Tmp.java   |  1 +
 .../src/main/java/org/apache/iotdb/db/query/eBUG/eBUG.java  | 13 -------------
 4 files changed, 4 insertions(+), 18 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/query/eBUG/Point.java 
b/server/src/main/java/org/apache/iotdb/db/query/eBUG/Point.java
index 70aa19ea531..6e6fc3aa91e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/eBUG/Point.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/eBUG/Point.java
@@ -4,7 +4,6 @@ public class Point {
 
     double x, y, z;
 
-//    public boolean eliminated; // 滞后e个淘汰点 for eBUG usage
     public Point prev; // 指向T'_max{0,k-e}里当前点的前一个点 for eBUG usage
     public Point next; // 指向T'_max{0,k-e}里当前点的后一个点 for eBUG usage
     // 注意Triangle里的prev&next用于最新状态下存在三角形之间的连接关系,
@@ -22,8 +21,6 @@ public class Point {
     }
 
     public void markEliminated() {
-//        eliminated = true;
-
         // to avoid traversing each point between pa to pb,
         // instead only traversing at most e most recently eliminated points 
lagged
         prev.next = next;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/eBUG/Test1.java 
b/server/src/main/java/org/apache/iotdb/db/query/eBUG/Test1.java
index 28b0eebd53e..426cfdc538d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/eBUG/Test1.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/eBUG/Test1.java
@@ -9,10 +9,11 @@ import java.util.Random;
 import static org.apache.iotdb.db.query.eBUG.eBUG.buildEffectiveArea;
 
 public class Test1 {
+    // 用于验证Java eBUG实现和python版本(e=0/1)结果的一致性
     public static void main(String[] args) {
         Polyline polyline = new Polyline();
         List<Polyline> polylineList = new ArrayList<>();
-        Random rand = new Random(1);
+        Random rand = new Random(2);
         int n = 10000;
 
         int p = 10;
@@ -43,7 +44,7 @@ public class Test1 {
         }
 
         System.out.println("---------------------------------");
-        int eParam = 1000000;
+        int eParam = 0;
         long startTime = System.currentTimeMillis();
         List<Point> results = buildEffectiveArea(polyline, eParam, false);
         // 输出结果
diff --git a/server/src/main/java/org/apache/iotdb/db/query/eBUG/Tmp.java 
b/server/src/main/java/org/apache/iotdb/db/query/eBUG/Tmp.java
index ad95ee6ec51..9cfb8ac3d5f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/eBUG/Tmp.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/eBUG/Tmp.java
@@ -8,6 +8,7 @@ import java.util.PriorityQueue;
 import java.util.Random;
 
 public class Tmp {
+    // 用于debug为什么n>2kw的耗时增大明显
     public static void main(String[] args) {
         int seed = 10;
         Random rand = new Random(seed);
diff --git a/server/src/main/java/org/apache/iotdb/db/query/eBUG/eBUG.java 
b/server/src/main/java/org/apache/iotdb/db/query/eBUG/eBUG.java
index 408d440a46f..e283789239a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/eBUG/eBUG.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/eBUG/eBUG.java
@@ -52,12 +52,6 @@ public class eBUG {
 //        cnt += 1;
 //        System.out.println(cnt); // 3<=cnt<=e+3
 
-//        for (int i = pa_idx; i <= pb_idx; i++) { // 左闭右闭
-//            Point p = lineToSimplify.get(i);
-//            if (!p.eliminated) {
-//                res.add(p);
-//            }
-//        }
         return res;
     }
 
@@ -68,10 +62,6 @@ public class eBUG {
 
         List<Point> results = lineToSimplify.getVertices(); // 浅复制
 
-        // 用循环数组来记录最近淘汰的点
-//        int[] recentEliminated = new int[e]; // init 0 points to the first 
point, skipped in findEliminated
-//        int recentEliminatedIdx = 0;  // index in the array, circulate
-
         // 存储的是点的引用,这样可以修改原来序列里点的淘汰状态
         // 存储的是距离当前最新状态的滞后的尚未施加、待施加的e个淘汰点
         LinkedList<Point> laggedEliminatedPoints = new LinkedList<>();
@@ -85,10 +75,8 @@ public class eBUG {
         Triangle[] triangles = new Triangle[nTriangles];
 
         // 创建所有三角形并计算初始面积
-//        lineToSimplify.get(0).eliminated = false; // 初始化点的状态 for eBUG usage
         lineToSimplify.get(0).prev = null;
         lineToSimplify.get(0).next = lineToSimplify.get(1);
-//        lineToSimplify.get(total - 1).eliminated = false; // 初始化点的状态 for 
eBUG usage
         lineToSimplify.get(total - 1).next = null;
         lineToSimplify.get(total - 1).prev = lineToSimplify.get(total - 2);
         for (int i = 1; i < total - 1; i++) {
@@ -97,7 +85,6 @@ public class eBUG {
             triangles[i - 1] = new Triangle(index1, index2, index3, area);
 
             // 初始化点的状态 for eBUG usage
-//            lineToSimplify.get(i).eliminated = false;
             lineToSimplify.get(i).prev = lineToSimplify.get(i - 1);
             lineToSimplify.get(i).next = lineToSimplify.get(i + 1);
         }

Reply via email to