Skip to content

Conversation

zhicwu
Copy link
Contributor

@zhicwu zhicwu commented Feb 19, 2023

Summary

  • clean up pom files by removing unnecessary dependencies
  • make all dependencies optional for clickhouse-jdbc
  • add main class to clickhouse-jdbc for testing purpose
  • add GraalVM configuration for building native image
  • add read and write methods in ClickHouseClient and will drop connect method in 0.5
  • fix occasional build failures caused by maven download

Checklist

Delete items not relevant to your PR:

  • Unit and integration tests covering the common scenarios were added
  • A human-readable description of the changes was provided to include in CHANGELOG
  • For significant changes, documentation in https://github.com/ClickHouse/clickhouse-docs was updated with further explanations or tutorials

@zhicwu
Copy link
Contributor Author

zhicwu commented Feb 19, 2023

Query Java Client Java Client(native) JDBC Driver JDBC Driver(native)
select 500000000 200ms 10ms 330ms 28ms
select number::Int8 v from numbers(500000000) 10s 29s 15s 48s

GraalVM CE does not support PGO(profile-guided optimization), so the native binary only reduced startup time and memory footprints without C1/C2 compilation as in JIT. Would be interesting if someone with GraalVM EE to fine-tune the configuration and share the test results.
Note: upx reduced the binary file from 32.7MB to 10.8MB, without performance degradation.

@zhicwu zhicwu merged commit c6744b7 into ClickHouse:main Feb 19, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

java.lang.NoSuchFieldError: Companion. When my project reference okhttp3.
1 participant