-
Notifications
You must be signed in to change notification settings - Fork 3.3k
[FEATURE] Ship Binaries with Profile-Guided Optimization #5691
Copy link
Copy link
Closed
1 / 11 of 1 issue completed
Copy link
Labels
Type: EnhancementMost issues will probably ask for additions or changes.Most issues will probably ask for additions or changes.Type: OptimizationIncreasing the performance/optimization. Not an issue, just something to consider.Increasing the performance/optimization. Not an issue, just something to consider.
Milestone
Description
Describe your feature request
It would be great if the binaries were shipped with Profile-guided Optimization (PGO) enabled. PGO uses real usage data to optimize the code, making the binaries faster and more efficient, leading to noticeable performance improvements.
Describe the use case of the feature
By using profiling data from the profile-mem flag to generate a PGO file, we can potentially improve performance. This approach allows us to fine tune the engine based on actual memory usage, optimizing it for better efficiency during runtime.
Implementation details:
On push event:
- Generate heap profile with
profile-memflag. - Create
default.pgoPGO file from memory profile. - Push PGO file to
pgobranch (dedicated). - Update the build command in
.goreleaser.yml.
Describe alternatives you've considered
Instead of pushing the PGO file to the repo (3), an alternative could be storing the file as an artifact (actions/upload-artifact).
Additional context
Ex:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Type: EnhancementMost issues will probably ask for additions or changes.Most issues will probably ask for additions or changes.Type: OptimizationIncreasing the performance/optimization. Not an issue, just something to consider.Increasing the performance/optimization. Not an issue, just something to consider.