Как ICC flag -ipo оптимизирует код? - PullRequest
0 голосов
/ 08 марта 2019

Привет. Я пытаюсь оптимизировать код C, который включает в себя несколько вызовов функций из разных файлов. Самые дорогостоящие в вычислительном отношении функции включают указатели для получения и возврата параметров. Я проверил различные флаги, такие как -O3, -Ofast, -fast и некоторые функции оптимизации команд, такие как -xHost и т. Д.

опция: icc -O3 -быстрый ...

Ускоряет программу почти на 10 , и это самое высокое ускорение из вышеупомянутых опций, но когда я использую

icc -O3 -ipo ...

Я получаю еще большее ускорение (x15) .

Я пытаюсь выяснить, что включает эти флаги и заставляет мой код работать быстрее, чем флаги -O3 и -fast.

Как я уже читал, этот флаг представляет собой Межпроцедурную оптимизацию , которая оптимизирует вызовы функций.

Кто-нибудь знает, что это значит? или же Кто-нибудь знает более подробную информацию об этом флаге?

Наконец, у gcc есть похожие флаги?

...