Steve Yurong Su created IOTDB-1298:
--------------------------------------
Summary: Insertion performance loss due to meaningless autoboxing
and unboxing
Key: IOTDB-1298
URL: https://issues.apache.org/jira/browse/IOTDB-1298
Project: Apache IoTDB
Issue Type: Bug
Components: Core/Engine
Reporter: Steve Yurong Su
Fix For: master branch, 0.12.0
Using IoTDB benchmark to test the insertion performance of v0.11.3 and v0.12.0,
it was found that the insertion latency of v0.12.0 has increased a lot compared
with v0.11.3, and the insertion speed has also been reduced.
Performance report:
||V0.12.0||V0.11.3||Insertion
Speed
Ratio
v0.12.0/v0.11.3||Config||Batch Size||
||Insertion Speed(Points/s)||Average
Latency
(ms)||Insertion
Speed(Points/s)||Average
Latency(ms)||
|*154361.12*|*6.30*|*293976.71*|*3.33*|*0.525*|client_num=1;storage_num=1;device_num=1;sensor_num=1;loop=20,000|1000|
|*155671.99*|*6.25*|*226994.21*|*4.28*|*0.686*|client_num=1;storage_num=1;device_num=1;sensor_num=1;loop=20,0000|1000|
Using JProfiler to sample the insertion threads of the two versions, it was
found that the InsertTabletPlan::updateTimesCache method of the v0.12 version
has unusually high autoboxing and unboxing overhead (~20%), which should be the
root cause of the insertion performance degradation.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)