Skip to content

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

Merge request reports