@All So, recompiled some stuff with LTO and compare with the same bulids but with no LTO.
Quake3 (plain C): give +1.5fps everywhere with lto. Foobillard++:(plain C) as i say before give +8fps (about 12-13% speed increase)
FrickingShark (c++/c): no changes Barony (c++/c): no changes Prototype (c++/c): no changes
Dunno if it can be something about c++ code only , or just it some luck that those 3 which have no differences when compiled with lto are c++ ones, while those which have differences are plain c ones.
Now that it has been successfullya tested, could you try to add it to the adtools daily builds (or bleeding edge or whatever), so people can pick it up from there?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
@Raziel Its a matter of Sebastian's wish, its only about adding --enable-lto to one place. I can write in your ticket that it tested and works, but don't hold your hope he will add it, as it will mean some extra support later if anything will going wrong.
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
I have installed the -699 daily build now, but it still doesn't seem to get picked up, it still refuses to find a gcc, c++ compiler.
This is with the apps configure script
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Do you maybe have some short code to test the lto flag? Just to make sure it's picked up correctly?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
I tried that and it builds, but fist i get an error on linking
Quote:
12.RAM Disk:> gcc -flto -O3 main_with_lto.o my_malloc_with_lto.o -o test_with_lto Development:Coding/SDK/gcc/ppc-amigaos/bin/ld: -f may not be used without -shared
adding -shared to the line makes it build, but my binaries WITH -flto in place are still bigger in size than without (6250 bytes with lto, compared to 6213 without lto). Even removing -shared from the non-lto build makes it only 3 bytes smaller, so i'm not sure what's going (still suspecting that -flto isn't picked up and used et al).
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
@Raziel Maybe something with your adtools installation ? I for sure didn't use -shared and it works. Maybe still old gcc is used ? Check via gcc -v if it says that it 8.3.0 and lto enabled
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
-static Do not link against shared libraries. This is only meaningful on platforms for which shared libraries are supported. The different variants of this option are for compatibility with various systems. You may use this option multiple times on the command line: it affects library searching for -l options which follow it. This option also implies --unresolved-symbols=report-all. This option can be used with -shared. Doing so means that a shared library is being created but that all of the library's external references must be resolved by pulling in entries from static libraries.
Since i'm trying to avoid shared/dynamic builds, what does that mean regarding the usage of -flto?
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
@Flash It works on cross-compiler surely (i can build lto binaries for amigaos4 and they works). So as it works on cross-compiler, it mean that if it didn't on os4 then it should be something simple, like different soft-links or something.
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg