ClickHouse® is a real-time analytics DBMS
Go to file
Zhiguo Zhou b0fb96c8b6 Inline SipHash::get128(char *)
The SipHash-128 values of the strings are calculated and stored in
a set when the UniqExact aggregate function is applied to a Column-
String, as the following snippet shows:

StringRef value = column.getDataAt(row_num);
UInt128 key;
SipHash hash;
hash.update(value.data, value.size);
hash.get128(key);

The implementation of SipHash requires an internal 8-byte buffer,
current_word (or current_bytes), for holding the input data in the
cross function calls of SipHash::update and SipHash::get128. But,
in the above situation, where the update and get128 only take place
once, the copy of input data to the buffer is unnecessary.

With get128 inlined, the compiler could optimize the code as a whole
and reduce the unexpected memory operations, and as a result, the
query performance is improved.
2023-07-11 23:17:55 +08:00
.github Merge branch 'master' into remove-coverity 2023-07-07 13:45:16 +03:00
base better logs on shutdown 2023-07-07 18:40:43 +02:00
benchmark Remove old file 2022-07-12 20:28:02 +02:00
cmake Merge pull request #51710 from velavokr/velavokr-warn-cpu-utilization 2023-07-09 08:47:01 +03:00
contrib Force libunwind usage (removes gcc_eh support) 2023-07-08 20:55:50 +02:00
docker Merge pull request #49438 from azat/build/unwind 2023-07-09 05:38:34 +02:00
docs Merge remote-tracking branch 'origin/master' into ADQM-868 2023-07-11 08:27:01 +00:00
packages Fix startup on older systemd versions 2023-03-17 17:56:56 +01:00
programs Cleanup remote_servers in dist config.xml 2023-07-09 16:55:27 +02:00
rust Run cargo update to fix build with nightly 2023-07-03 09:40:36 +02:00
src Inline SipHash::get128(char *) 2023-07-11 23:17:55 +08:00
tests Used timeout function instead of undefined clickhouse_client_loop_timeout in functional tests (#51923) 2023-07-11 15:25:30 +03:00
utils Merge pull request #51985 from azat/cleanup-remote-servers 2023-07-10 01:24:06 +03:00
.clang-format Configure rule for concepts requires clause 2023-06-05 06:55:52 -07:00
.clang-tidy readability-identifier-names: adjust invalid options 2023-05-13 20:28:55 +00:00
.clangd Enable few slow clang-tidy checks for clangd 2023-05-13 14:08:25 +02:00
.editorconfig
.exrc Fix vim settings (wrong group for autocmd) 2022-12-03 21:23:24 +01:00
.git-blame-ignore-revs Add files with revision to ignore for git blame 2022-09-13 23:05:56 +02:00
.gitattributes Ignore core.autocrlf for tests references 2022-10-05 09:13:27 +02:00
.gitignore Enable few slow clang-tidy checks for clangd 2023-05-13 14:08:25 +02:00
.gitmodules Change submodule capnproto to it's fork in ClickHouse 2023-06-14 14:55:11 +02:00
.pylintrc Cover deprecated bad-* pylint options with black 2022-06-08 14:18:28 +02:00
.snyk Add exclusions from the Snyk scan 2022-10-31 17:47:02 +01:00
.yamllint Increase line-length limit for yamlllint 2023-06-13 19:45:51 +02:00
AUTHORS Update AUTHORS 2021-09-22 11:38:03 +03:00
CHANGELOG.md Update CHANGELOG.md 2023-06-30 11:39:08 +03:00
CMakeLists.txt Force libunwind usage (removes gcc_eh support) 2023-07-08 20:55:50 +02:00
CODE_OF_CONDUCT.md
CONTRIBUTING.md Mention ClickHouse CLA in CONTRIBUTING.md (#32697) 2021-12-14 03:47:19 +03:00
format_sources
LICENSE Update LICENSE 2023-01-02 00:35:32 +01:00
PreLoad.cmake CMake cleanup: Remove configuration of CMAKE_SHARED_LINKER_FLAGS 2023-03-26 17:59:39 +00:00
README.md Merge pull request #51751 from rschu1ze/readme-sonarcloud 2023-07-03 23:42:04 +02:00
SECURITY.md Update version_date.tsv and changelogs after v23.6.1.1524-stable 2023-06-30 15:21:13 +00:00

ClickHouse — open source distributed column-oriented DBMS

ClickHouse® is an open-source column-oriented database management system that allows generating analytical data reports in real-time.

How To Install (Linux, macOS, FreeBSD)

curl https://clickhouse.com/ | sh

Upcoming Events

Also, keep an eye out for upcoming meetups around the world. Somewhere else you want us to be? Please feel free to reach out to tyler clickhouse com.

Recent Recordings

  • Recent Meetup Videos: Meetup Playlist Whenever possible recordings of the ClickHouse Community Meetups are edited and presented as individual talks. Current featuring "Modern SQL in 2023", "Fast, Concurrent, and Consistent Asynchronous INSERTS in ClickHouse", and "Full-Text Indices: Design and Experiments"
  • Recording available: v23.4 Release Webinar Faster Parquet Reading, Asynchonous Connections to Reoplicas, Trailing Comma before FROM, extractKeyValuePairs, integrations updates, and so much more! Watch it now!
  • All release webinar recordings: YouTube playlist

Interested in joining ClickHouse and making it your full time job?

We are a globally diverse and distributed team, united behind a common goal of creating industry-leading, real-time analytics. Here, you will have an opportunity to solve some of the most cutting edge technical challenges and have direct ownership of your work and vision. If you are a contributor by nature, a thinker as well as a doer - well definitely click!

Check out our current openings here: https://clickhouse.com/company/careers

Cant find what you are looking for, but want to let us know you are interested in joining ClickHouse? Email careers@clickhouse.com!