Подтвердить что ты не робот

Есть ли у кого-нибудь опыт работы с gcc LTO (С++)?

Мой главный интерес - перемещение кода из файлов заголовков в исходные файлы (для развязки), но сохранение одинаковой производительности для встроенных файлов.

Я не уверен, с чего начать, может кто-нибудь объяснить, что делать?

4b9b3361

Ответ 1

Я провел некоторое тестирование на Firefox и LTO, показывая использование памяти, время компиляции и время автономной работы В моем блоге также сравнивается с LLVM. LTO быстро развивается, GCC 4.9 значительно отличается от предыдущих выпусков. Не всегда очевидно, как заставить его работать правильно для данного приложения, в тексте описываются основные проблемы, с которыми вы можете столкнуться (отсутствие плагина-линкера, использование толстых файлов LTO и отбрасывание части LTO по ссылке и т.д.)

Ответ 2

Мы провели очень ограниченные эксперименты. В нашем случае производительность растет там, где это довольно неприятно, но поскольку мы уже позаботились о хорошем вложении, это не удивительно.

Однако включение LTO привело к значительному увеличению потребления памяти GCC, что в основном делает невозможным параллельную компиляцию на наших 4-процессорных машинах с четырьмя процессорами /4 ГБ, поэтому мы приостанавливаем эксперимент и ожидаем, что будущие версии попытаются снова.