Globaly improve performance (CONJ-291)

[CONJ-313] Improve performance in reading result packet for a query with more than 10kb data Created: 2016-06-10  Updated: 2019-08-02  Resolved: 2016-07-28

Status: Closed
Project: MariaDB Connector/J
Component/s: Other
Affects Version/s: None
Fix Version/s: 1.5.0-RC

Type: Sub-Task Priority: Major
Reporter: Diego Dupin Assignee: Diego Dupin
Resolution: Fixed Votes: 0
Labels: None


 Description   

For resultset with small data < 1000 bytes, driver is very fast, but when results are bigger (> 10kb) drizzle driver is faster.

There must be a point where reading directly from ByteBuffer for each data is slower than reading all packet first before, and reading data after.



 Comments   
Comment by Diego Dupin [ 2016-06-10 ]

Problem is different: there must be some wastage if much memory :

Test running with xmx=128m, xms=128m

  1. Run complete. Total time: 00:01:15

Benchmark Mode Cnt Score Error Units
BenchmarkSelect1000BigRows.drizzle avgt 15 81.606 ± 1.647 ms/op
BenchmarkSelect1000BigRows.mariadb avgt 15 81.160 ± 3.247 ms/op
BenchmarkSelect1000BigRows.mysql avgt 15 90.386 ± 1.490 ms/op

same with xmx=64m, xms=64m

Benchmark Mode Cnt Score Error Units
BenchmarkSelect1000BigRows.drizzle avgt 15 111.001 ± 2.455 ms/op
BenchmarkSelect1000BigRows.mariadb avgt 15 202.843 ± 31.310 ms/op
BenchmarkSelect1000BigRows.mysql avgt 15 155.164 ± 58.630 ms/op

Generated at Thu Feb 08 03:14:45 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.