mirror of
https://gitlab.isc.org/isc-projects/bind9.git
synced 2025-12-05 18:57:04 -06:00
Enabling LTO yields substantial performance gains on both authoritative and resolver benchmarks. But since LTO defers many optimization passes to link time, enabling LTO across the board would cause an increase in compilation time, as passes that would be run only once would need to be run for each executable. As a compromise, this commit adds a named-lto build option, that compiles the individual object files with the -ffat-lto-object option and then enables LTO only for the named executable. Object files are reused between lib*.so and the named executable.