- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
Poor man' link time code generation:
#include "main.cpp"
#include "frame.cpp"
#include "func.cpp"
#include "account.cpp"
#include "advancer.cpp"
#include "audit.cpp"
#include "cpio.cpp"
g++ -whole-program -o my books.exe -O3 includeall.cpp
Lure Of Chaos 07.06.2014 20:35 # +1
Dummy00001 07.06.2014 21:18 # 0
я такое пару раз делал когда (1) make'а под рукой не было или (2) мэйкфайл был кривой. (виндозные проблемы.)
для оптимизации имхо это кривовато. почти все компилеры уже могут и LTO и profile-based optimization. и gcc все равно нужно говорить что бы он больше инлайнил (-finline-limit), потому что по умолчанию он относительно консервативен.
ЗЫ искал inline limit - случайно нашел -fmudflap . LOLное имя.
3.14159265 07.06.2014 21:20 # +5
-lole32
Lure Of Chaos 08.06.2014 00:04 # +1
3.14159265 07.06.2014 21:39 # +3
Думаю gcc не зря консервативен в инлайне и анроллинге, fprofile - вот критерий истины.
Это доказательство почему гентушники жгут даром электричество. Ибо давно подмечено, что свои билды даже заточенные под конкретную машину зачастую сливают профайленным. А профайлить и делать lto всему софту - идиотия и преждевременная оптимизация.
Кстати а какие еще опции кроме стандартных -O3 -flto -march= ... -mtune=... кто юзает?