You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Performance optimization for large-scale applications has recently become more important as computation continues to move towards data centers. Data-center applications are generally very large and complex, which makes code layout an important optimization to improve their performance. This has motivated recent investigation of practical techniques to improve code layout at both compile time and link time. Although post-link optimizers had some success in the past, no recent work has explored their benefits in the context of modern data-center applications.
In this paper, we present BOLT, a post-link optimizer built on top of the LLVM framework. Utilizing sample-based profiling, BOLT boosts the performance of real-world x86 64-bit ELF applications even for highly optimized binaries built with both feedback-driven optimizations (FDO) and link-time optimizations (LTO). We demonstrate that post-link performance improvements are complementary to conventional compiler optimizations, even when the latter are done at a whole-program level and in the presence of profile information. BOLT has been deployed inside Facebook for multiple data-center workloads. For data-center applications, BOLT achieves up to 8.0% performance speedups on top of profile-guided function reordering and LTO. We have also applied BOLT to GCC and Clang binaries, and our evaluation shows that BOLT speeds up these binaries by up to 15.3% on top of FDO and LTO, and up to 35.5% if the binaries are built without FDO and LTO.
The text was updated successfully, but these errors were encountered:
Link: https://arxiv.org/abs/1807.06735
Abstract:
The text was updated successfully, but these errors were encountered: