pgproto: pick low-hanging fruits of raw performance
Summary
- fix(pgproto): get rid of unnecessary cloning of the plan
Previously, the plan was cloned during execution to avoid polluting the cache. However, this appears unnecessary as it was already cloned from the cache before binding parameters.
This commit eliminates this cloning, which can result to +7.56% of performance improvement, as demonstrated in #1026 (comment 107222).
- build: tune release profle
As shown in #1026 (comment 107222), enabling LTO and using only one codegen unit can accelerate some scenarios by 16.89%.
This commit adds these options to the "release" profile. However, it makes the build much slower, so a new profile "fast-release" is added to address this problem in CI. The "release" profile will only be used when merging to master.
- Close #1026 (closed)
- Cherry-pick to: 24.6
- Docs follow-up: not necessary
Edited by Maksim Kaitmazian