You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Keeping `ClickHouse/ch-go`, `clickhouse-client` and `vahid-sohrabloo/chconn` to `~1x`, they are mostly equal.
Notes
C++
Command
Mean [ms]
Min [ms]
Max [ms]
Relative
ClickHouse/ch-go
598.8 ± 92.2
356.9
792.8
1.07 ± 0.33
clickhouse-client
561.9 ± 149.5
387.8
1114.2
1.00
clickhouse-cpp
574.4 ± 35.9
523.3
707.4
1.02 ± 0.28
We are selecting best results, however C++ client has lower dispersion.
Maximum possible speed
I've measured my localhost performance using iperf3, getting 10 GiB/s,
this correlates with top results.
For example, one of ClickHouse/ch-go results is 390ms 500000000 rows 4.0 GB 10 GB/s.
I've also implemented mock server in Go that simulates ClickHouse server to reduce
overhead, because currently the main bottleneck in this test is server itself (and probably localhost).
The ClickHouse/ch-go was able
to achieve 257ms 500000000 rows 4.0 GB 16 GB/s which should be maximum
possible burst result, but I'm not 100% sure.
On ClickHouse/ch-go micro-benchmarks I'm getting up to 27 GB/s, not accounting of any
network overhead (i.e. inmemory).
Footnotes
Uses reflection on row.Scan(&value) which causes additional overhead. ↩↩2