Trk::Surfaces. Reduce the number of @plt (out-of-line) calls to Eigen::internal methods
Trk::Surfaces. Reduce the number of @plt (out-of-line) calls to Eigen::internal methods
The following prb target @amete
What this does
If you do something like
llvm-objdump -D -s -C -g /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-05-25T2101/Athena/23.0.0/InstallArea/x86_64-centos7-gcc11-opt/lib/libTrkSurfaces.so > log_gcc
one can get
cat log_after_gcc | grep call | grep plt |wc
2569 23093 237875
cat log_gcc | grep plt |grep call |wc
2601 23381 246939
cat log_clang | grep plt |grep call |wc
2566 23094 223838
Futhermore
ls -ltsh x86_64-centos7-gcc11-opt/lib/libTrkSurfaces.so -lts
616K -rwxr-xr-x. 1 christos zp 615K Jun 2 00:34 x86_64-centos7-gcc11-opt/lib/libTrkSurfaces.so
ls -ltsh /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-05-31T2101/Athena/23.0.0/InstallArea/x86_64-centos7-gcc11-opt/lib/libTrkSurfaces.so
623K -rwxr-xr-x. 1 cvmfs cvmfs 623K May 31 21:37 /cvmfs/atlas-nightlies.cern.ch/repo/sw/master_Athena_x86_64-centos7-gcc11-opt/2022-05-31T2101/Athena/23.0.0/InstallArea/x86_64-centos7-gcc11-opt/lib/libTrkSurfaces.so
The plt
calls to Eigen methods go down and the .so
size also ...
Now I can reduce a bit further but 1st lets see if makes any difference
to something like CaloExtensionBuilderAlg
1st. (I think we skimmed ~5ms per event but still this one is ~15 ms slower in gcc than clang)
Edited by Christos Anastopoulos