Skip to content

[Performance] Optimize DataSetWithoutTimeGenerator merge hot path - #912

Open
Caideyipi wants to merge 1 commit into
apache:developfrom
Caideyipi:optimize/data-set-without-time-generator-scan
Open

[Performance] Optimize DataSetWithoutTimeGenerator merge hot path#912
Caideyipi wants to merge 1 commit into
apache:developfrom
Caideyipi:optimize/data-set-without-time-generator-scan

Conversation

@Caideyipi

Copy link
Copy Markdown
Contributor

What changed:

DataSetWithoutTimeGenerator already scans every series for each emitted RowRecord. This change computes the next minimum timestamp during that required scan, replacing the additional boxed List/Boolean state, LongHeapPriorityQueue, and LongOpenHashSet maintenance.

The merge behavior is covered across sparse timestamps, batch boundaries, empty readers, duplicate timestamps, and Long.MIN_VALUE/Long.MAX_VALUE.

Validation:

  • mvnw.cmd test -P with-java -pl java/tsfile -Dtest=DataSetWithoutTimeGeneratorTest
  • 3 tests passed; Checkstyle and Spotless passed.
  • The SCADA benchmark identified DataSetWithoutTimeGenerator.timeHeapPut as 181 JFR samples spanning 6.533 seconds.

The branch is based on the latest upstream/develop and has only been pushed to the contributor fork.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant