Evaluate Profile-Guided Optimization (PGO) on Yoga #1338

Open
opened 2023-07-30 16:57:17 -07:00 by zamazan4ik · 0 comments
zamazan4ik commented 2023-07-30 16:57:17 -07:00 (Migrated from github.com)

Report

According to the official website, one of the Yoga goals is performance. So I think would be a good idea to try to gain more performance by applying Profile-Guided Optimization (PGO) in Yoga.

Since Yoga is a library (not an executable), it could be a bit harder to do since for profile collection you need an executable. One of the things is to build the Yoga benchmark and Yoga library with PGO and measure the improvements.

If will be some performance improvements, would be helpful:

  • Write a note about PGO in Yoga documentation with performance improvement numbers.
  • Add an option to the build scripts for building Yoga library with PGO. In this case, for the users will be easier to rebuild Yoga for their own specific use cases

After that, I guess LLVM BOLT could be tested as well but I suggest trying BOLT only after PGO since PGO implementations in compilers are much more mature compared to BOLT (IMHO).

# Report - [x] I have searched [existing issues](https://github.com/facebook/yoga/issues) and this is not a duplicate According to the official website, one of the Yoga goals is performance. So I think would be a good idea to try to gain more performance by applying Profile-Guided Optimization (PGO) in Yoga. Since Yoga is a library (not an executable), it could be a bit harder to do since for profile collection you need an executable. One of the things is to build the Yoga benchmark and Yoga library with PGO and measure the improvements. If will be some performance improvements, would be helpful: * Write a note about PGO in Yoga documentation with performance improvement numbers. * Add an option to the build scripts for building Yoga library with PGO. In this case, for the users will be easier to rebuild Yoga for their own specific use cases After that, I guess LLVM BOLT could be tested as well but I suggest trying BOLT only after PGO since PGO implementations in compilers are much more mature compared to BOLT (IMHO).
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DaddyFrosty/yoga#1338
No description provided.