меня 100 итераций по вектору одного типа, но на каждую итерацию делается match с определением этого самого типа, так как я заранее этот тип не знаю. Оптимизирует ли это как-то llvm или процессор? Допустим интерпретатор первый раз прошелся по матчам до совпадения, чтобы в следующие итерации не тратить циклы на матчинг. Или для максимального перформанса мне надо генерить разный код для разных типов (генерики/мономорфизация)?
Процессор через бранч предиктинг, ллвм чот там порядок бранчей может менять и был вроде атрибут, чтобы указывать самый редкий случай, но я уже не оч помню
Обсуждают сегодня