Обновить
9
Тагир Хамитов@gir004

Software Engineer

2
Подписчики
Отправить сообщение

К сожалению (или к счастью), нет, такое не сработает. Дело в том, что IndVarSimplification оптимизирует только весьма ограниченный ряд последовательностей. Это арифметические прогрессии, ряды, где разницы между соседними элементами образуют арифметическую прогрессию и т.д. А функции cos и pow кажется могут вообще не заинлайниться, и оптимизации точно не произойдет

Да, большое спасибо за уточнение! Я забыл об этом написать, но я пробовал компилировать подобный код на C и C++, и везде оптимизация срабатывала.

Однако у rust есть другая особенность: если написать цикл от 0 до n включительно (через for i in 0..=n), то оптимизация не срабатывает, хотя если написать код "по-простому" (без range based for), то оптимизация работает.

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик