Performance degrade during connection Open due to Environment Variable access
(1) By anonymous on 2020-09-22 13:17:32 [source]
We are able to notice a significant degrade in latest SQLite packages (1.0.113) due to some of the newly added features like .xml/Environment variable configurations. As part of migrating to latest SQLite (1.0.113) from our existing version (1.0.74) we encounter a lot of issues related to performance. We see latest version taking about 2-3 times more time than our existing version. On analysis we see the below issues that needs some attention :
- There are configuration reads that happen in the constructors. in the recent versions, there are numerous calls that are accessing Environment variables and xml files. These reads are happening in a connection open, which results in degrading the performance of almost all the different Sqlite operations (Like Insert, Select etc)
- The way in which the connections are retrieved from a connection pool is also slow. There are binary searches happening which are taking significant time.
Please see the below table for a comparison on how the performance has degraded. The numbers are for 100 iterations of each operations.
</style>
Scenario ==== | version 1.0.74 ==== | version 1.0.113/th> |
---|---|---|
Open | 8ms | 25ms |
Close | 2ms | 6ms |
Insert | 10720ms | 27937ms |
Flat Query | 20ms | 40ms |
Update | 15ms | 35ms |
Delete | 3768ms | 3598ms |
looking forward for a fix in coming reelase. Thanks in Advance