> Открою сейчас тайну - большинство пользователей Linux получают софт с открытыми исходниками
> в виде бинарников, кроме случаев типа Gentoo, которые как раз меньшинство.
> И когда собирают пакет, то его компилируют очень осторожно, образно говоря,
> чтобы он запустился и на 6 летнем Core2 Duo, и на
> свежем i7. Ни обладатели i7, ни обладатели свеженького AMD Ryzen ничего
> из их новых наборов команд использовать не смогут, т.к. выхлоп традиционного
> компилятора - это неизменный монолит, а вот JIT тут мог бы
> быть полезен.Ну, в большинстве случаев AOT не является проблемой для пользователя. Чесслово, у меня i7 с 8ю потоками выполнения: я не сильно страдаю от того, что некоторые программы выполняются неоптимально. Критичные долгоработающие демоны можно и перекомпилировать, если что. Тут делов как бы не много: apt-get source, поправить флаги и pbuilder натравить. Но это, опять же, в исключительных случаях.
JIT, хоть и является весьма старой технологией, стал модным трендом относительно недавно.
В принципе, промежуточное представление компилируемой программы в байткоде есть и в GCC. Даже, если память не изменяет, их целых два: Generic и Gimple. После второго за дело берутся бэкенды, производящие компиляцию уже в конечную архитектуру.
В общем, идеи-то старые. Если бы они были действительно востребованы, в GCC их бы реализовали уже давно. Однако на деле, влияние JIT-а не сильно сказывается на работе.
Популярность LLVM во многом обусловлена пермиссивной лицензией. Именно поэтому корпорации активно вбухивают деньги в проекты для него.
> Преимущества LLVM лежат больше в плоскости многообразия архитектур и языков программирования
Поподробнее можно?