On Fri, 2020-07-24 at 19:12 +0000, Artem Tim wrote:
> Hi. In rare cases building packages with LTO producing binaries or libraries 
> which have bigger size then if they have built without LTO. For example 
> 'kitty' package:
> 
> * with LTO:
>   - koji task https://koji.fedoraproject.org/koji/taskinfo?taskID=47762998
>     1.79 MB glfw-wayland.so
>     1.99 MB glfw-x11.so
>     4.78 MB fast_data_types.so
>     8.56 MB total
> 
> * no LTO
>   - koji https://koji.fedoraproject.org/koji/taskinfo?taskID=47769854
>     1.65 MB glfw-wayland.so
>     1.84 MB glfw-x11.so
>     4.51 MB fast_data_types.so
>     8.00 MB total
> 
> Difference is 7%. What we should do in such case? Should we disable LTO for 
> such packages? Or there is still could be gains from faster code execution 
> speed?
I'd tend to leave LTO on, but it's totally your call.  Without looking at the
binaries, sources and compiler dumps I'd hazard a guess you're getting a lot of
cross module inlining, but very little identical code folding.  THe former tends
to make things bigger, but faster.  The latter tends to shrink code with little
impact on runtime performance.

Unfortunately comparing this stuff in an LTO world is much harder than in a non-
LTO world.  You can't just bisect it to a .o or function that's larger :(


jeff
> 
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to