Joe McDonnell created IMPALA-13308:
--------------------------------------

             Summary: Build toolchain GCC with profile guided optimization
                 Key: IMPALA-13308
                 URL: https://issues.apache.org/jira/browse/IMPALA-13308
             Project: IMPALA
          Issue Type: Improvement
          Components: Infrastructure
    Affects Versions: Impala 4.5.0
            Reporter: Joe McDonnell


GCC has an option to build a profiled GCC binary by using the "make 
profiledbootstrap" target. This produces a profile by compiling GCC, so it 
isn't targeted to Impala's codebase, but it still improves GCC compile times by 
about 5%:
{noformat}
Time comparison for "make -j16 impalad" (release build):

Current toolchain GCC (LTO):
real    4m58.416s
user    70m41.989s
sys     6m41.961s

GCC with PGO, no LTO:
real    4m45.360s
user    67m12.081s
sys     6m40.376s

GCC with PGO + LTO:
real    4m42.042s
user    66m32.943s
sys     6m39.523s

# User time comparison:
Baseline (LTO): 1.000
PGO,no LTO:     0.951
PGO+LTO:        0.941{noformat}
LTO doesn't seem to help much, so maybe it would be better to disable it.

I don't know how ccache interacts with PGO, but I had it disabled for the PGO 
and PGO+LTO builds.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to