You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@iotdb.apache.org by GitBox <gi...@apache.org> on 2021/12/08 12:56:52 UTC
[GitHub] [iotdb] jun0315 commented on pull request #4502: [IOTDB-2075] Accelerate the process of insertTablets by using thread pool
jun0315 commented on pull request #4502:
URL: https://github.com/apache/iotdb/pull/4502#issuecomment-988792035
# Test Result
| | Serialization | 2 corePoolSize | 4 corePoolSize | 6 corePoolSize | 8 corePoolSize | 10 corePoolSize | 12 corePoolSize |
| --------------------------- | ------------- | -------------- | -------------- | -------------- | -------------- | --------------- | --------------- |
| 1000 Plans 48 rows 16 columns | 1397 | 1292 | 1160 | 1040 | 1085 | 1089 | 1102 |
We can find that the efficiency is the highest when we take Runtime.getRuntime().availableProcessors()/2.
Next, we default to 1000 Plans 48 rows and change the different columns.
| | Serialization | 6 corePoolSize |
| ------------------ | ------------- | -------------- |
| 4 columns | 901 | 1023 |
| 8 columns | 958 | 1068 |
| 12 columns | 1196 | 1259 |
| 14 columns | 1278 | 1239 |
| **15 columns** | **1215** | **1001** |
| **16 columns** | **1364** | **1014** |
We can find that when there are 15 columns and 16 columns, the thread pool speed will exceed the serial speed, so we set the threshold to 15.
To sum up, we set the number of core threads in the thread pool to min(the number of different sg, availableProcessors()/2), and need columns >= 15
## Test Device
MacBook Pro (16-inch, 2019)
2.6 GHz 6-core processor Core i7
16 GB 2667 MHz DDR4
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: reviews-unsubscribe@iotdb.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org