Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PGO build types #12763

Closed
NatashaSerebryanaya opened this issue Jun 2, 2022 · 2 comments
Closed

Add PGO build types #12763

NatashaSerebryanaya opened this issue Jun 2, 2022 · 2 comments
Assignees

Comments

@NatashaSerebryanaya
Copy link
Contributor

Description

We need to add 2 PGO build types - for profile generation and profile use.

@NatashaSerebryanaya NatashaSerebryanaya self-assigned this Jun 2, 2022
NatashaSerebryanaya added a commit that referenced this issue Jul 22, 2022
Summary:
Added build types for generating and using profile for profile guided optimizations with clang.
Added forced profile dumping to tserver with prof_gen build.

For performance comparison of `release+lto` vs `prof_use+lto`  the profile was collected with CassandraKeyValue app.
Then CassandraKeyValue, CassandraTransactionalKeyValue and CassandraUniqueSecondaryIndex were run 9 times each.
Comparing the average of 9 runs of the average of the first 30 read ops/sec.
Parameters for all apps: --num_unique_keys 1000000  --num_threads_read 128 --num_threads_write 4 --nouuid --num_writes 10000  --num_reads 10000000
```
        app                         | release   | prof_use  |  prof_use/release
                                    |  ops/sec  |   ops/sec |
CassandraKeyValue                   |  43348.1  |  45550.8  |       1.051
CassandraTransactionalKeyValue      |  28487.5  |  29574.7  |       1.038
CassandraUniqueSecondaryIndex       |  39259.1  |  42316.8  |       1.078
```

Test Plan: Run builds and yb-sample-apps

Reviewers: dfelsing, mbautin

Reviewed By: dfelsing, mbautin

Subscribers: dfelsing, mbautin, bogdan

Differential Revision: https://phabricator.dev.yugabyte.com/D18258
@zamazan4ik
Copy link

Is it still an actual issue? However, I could suggest additionally trying to use LLVM Bolt as an additional optimization step.

Links:

@NatashaSerebryanaya
Copy link
Contributor Author

@zamazan4ik Thanks, this issue is done, will try Bolt when have time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants