Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Спасибо! Интересно было бы также почитать про оптимизации, доступные JIT-компиляторам.
И вообще, какой метод компиляции даёт больше возможностей для анализа алгоритма, автовекторизации и т.д. - прямая компиляция (С/С++) или через байт-код (JVM)?
Оптимизации в первую очередь проводятся над intermediate representation, когда компилятор может взглянуть на control-flow и data-flow программы. Оптимизации под конкретную архитектуру происходят ближе к коду на уровне Register Transfer Language и это, по понятным, причинам в основном мелкие, peephole, оптимизации. Так что возможности анализа самого алгоритма мало зависят от целевой архитектуры.
И вообще, какой метод компиляции даёт больше возможностей для анализа алгоритма, автовекторизации и т.д. — прямая компиляция (С/С++) или через байт-код (JVM)?PGO, если вам реально нужен хороший код.
Как LLVM оптимизирует суммы степеней