без тестирования всех возможных конфигураций?
будет работать медленнее. Но можешь использовать goto, до тех пор пока кто-нибудь не увидит и не искалечит тебя
Ответ неверный (речь про SIMD, если что, и у меня MSVC)
давай, расскажи мне что компилятор не оптимизирует однотипные действия
Я больше скажу - компилятор это не всегда инлайнит без forceinline
почему нельзя сравнить с решениями оптимизатора? мои 5 копеек: если бутылочное горлышко в декодировании инструкций или есть проблемы с размером кеша инструкций, то быстрее не станет
знаю только байки из прошлого тысячелетия (какой-то препод бедолаге из какого-то чата объяснял), что циклы не эффективны и надо вручную повторения прописывать
MSVC спотыкается и исключительно плохо оптимизирует код с SIMD-интринсиками, приходится вручную протестировать различные конфигурации
ПРогноз простой, компилятор это сделает лучше вас
пиши сразу ассемблер и посмотрим, кто лучше справится. Чур я буду нажимать на кнопку "build"
кажется, вы все еще можете закинуть вашу функцию на годболт и посмотреть на оптимизаторы, которые спотыкаются меньше
Проблема в разном отношении оптимизаторов к коду с SIMD-интринсиками. Условно, Clang его "творчески переписывает", аж не узнать. GCC/MSVC более консервативны (последний чуть ли не тупо построчно генерирует ассемблер), и для них приходится воссоздавать некий средний по больнице вариант руками
у кланга можно посмотреть на годболте, какие проходы переписывают код, и отключить их
Обсуждают сегодня