простых калькуляторов, хочу спросить, может кто занимался jit? У меня есть например condition parser, строит просто function. Но если что конечно построить может и AST выражения. Есть смысл париться с jit?
А профилировка показывает, что это узкое место?
Нет, это общего плана вопрос. Просто знаю что можно улучшить через jit, думаю стоит ли овчинка.
Профилировка дает ответ на подобные вопросы
какую-то похожую штуку делают в кланге: constexpr interpreter сложно, по крайней мере для такого языка как С++
Обычно зависит от того как много будут вызывать. Ещё от функции сильно зависит, например кучу switch кейсов нет особого смысла. А например код, который будет автовекторизован наоборот, так как он в отличие от остального кода, будет скомпилен с по сути march=native
вот конкретно для кейса как у топикстартера (вычисление мат выражений) оно нормальный буст давало, ну т.е. какой-нить add и mul явно быстрей пары виртуальных expr->evaluate()
Обсуждают сегодня