Skip to content

[IOTDB-1113] Optimize the execution efficiency of UDF#2511

Merged
JackieTien97 merged 20 commits intoapache:masterfrom
SteveYurongSu:optimize-udf
Jan 21, 2021
Merged

[IOTDB-1113] Optimize the execution efficiency of UDF#2511
JackieTien97 merged 20 commits intoapache:masterfrom
SteveYurongSu:optimize-udf

Conversation

@SteveYurongSu
Copy link
Member

@SteveYurongSu SteveYurongSu commented Jan 18, 2021

There are several points that can be optimized:

  1. Avoid Java boxing / unboxing in LRUCache and SafetyLine

  2. Avoid unnecessary memory copy in SerializableRowReordList

  3. Memory control:
    3.1 Disable memory control when there are no text fields
    3.2 Stricter eviction upper bound

  4. Use lighter data structures: RowRecord -> Object[]

JIRA: https://issues.apache.org/jira/browse/IOTDB-1113

@SteveYurongSu
Copy link
Member Author

Performance report:

Data: root.sg.d.s1, INT32, 100 000 000 points

SQL Execution Time Ratio
select s1 from root.sg.d; 19636 ms 100%
BEFORE OPTIMIZATION - select do_nothing(s1) from root.sg.d; 76446 ms 389.3%
AFTER OPTIMIZATION - select do_nothing(s1) from root.sg.d; 35547 ms 180.0%

After optimization, the execution time of the do_nothing function is reduced by (76446-35547) / 76446 = 53.5%.

@SteveYurongSu SteveYurongSu marked this pull request as draft January 18, 2021 10:13
@SteveYurongSu SteveYurongSu marked this pull request as ready for review January 19, 2021 02:15
@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 3 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@JackieTien97 JackieTien97 merged commit 3f544dc into apache:master Jan 21, 2021
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.

2 participants