timeplus-io / proton

A streaming SQL engine, a fast and lightweight alternative to ksqlDB and Apache Flink, 🚀 powered by ClickHouse.
https://timeplus.com
Apache License 2.0
1.37k stars 52 forks source link

Evaluate Profile-Guided Optimization (PGO) and LLVM BOLT #122

Open zamazan4ik opened 9 months ago

zamazan4ik commented 9 months ago

Hi!

Recently I did many Profile-Guided Optimization (PGO) benchmarks on multiple projects (including many databases like PostrgreSQL, MongoDB, Redis, and many others) - the results are available here, all databases results are located here. So that's why I think it's worth trying to apply PGO to Proton as well.

I can suggest the following things to do:

Here are some PGO integration examples in the existing build scripts in other projects:

Some PGO documentation examples:

After PGO, I can suggest evaluating LLVM BOLT as an additional optimization step after PGO.

chenziliang commented 9 months ago

This looks v interesting. Look like worth giving it a try