Информация об изменениях

Сообщение Re[2]: не inline'ит :( от 21.05.2023 20:58

Изменено 21.05.2023 21:02 avovana

Re[2]: не inline'ит :(
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, avovana, Вы писали:


A>>Дорогие форумчане, не инлайнит


N>У GCC по умолчанию оптимизация не включается. Добавь хотя бы -Og, уже увидишь совсем другой вывод — точнее, оно весь main() свернуло в return 0, потому что результаты ты никуда не публикуешь

N>Уже на -Og какой-то инлайнинг включается, на -O больше, на -O2 совсем много.
N>Очень не рекомендую -O3, как посоветовали рядом, без опыта работы с этим уровнем, иногда лезут странные эффекты. Да и -O2 надо уже дозированно применять. А вот -O вполне пригоден для проверки таких вещей.
N>У Clang похоже, хотя он уже на -O очень агрессивен.

Попробовал, спасибо. Жаль, что уже нет соответствия строчки кода -> ассемблер.
Re[2]: не inline'ит :(
Здравствуйте, netch80, Вы писали:

N>Здравствуйте, avovana, Вы писали:


A>>Дорогие форумчане, не инлайнит


N>У GCC по умолчанию оптимизация не включается. Добавь хотя бы -Og, уже увидишь совсем другой вывод — точнее, оно весь main() свернуло в return 0, потому что результаты ты никуда не публикуешь

N>Уже на -Og какой-то инлайнинг включается, на -O больше, на -O2 совсем много.
N>Очень не рекомендую -O3, как посоветовали рядом, без опыта работы с этим уровнем, иногда лезут странные эффекты. Да и -O2 надо уже дозированно применять. А вот -O вполне пригоден для проверки таких вещей.
N>У Clang похоже, хотя он уже на -O очень агрессивен.

Попробовал, спасибо. Жаль, что уже нет соответствия строчки кода -> ассемблер.

Как я увидел, спокойно могу этот объект применять. Будет тоже самое. -O2 сносит разницу.