Там, как я понял, используются «толстые» бинарники и многопроходный
оптимизирующий транслятор, который работает прозрачно для ОС. При
первом запуске — выполняется голая JIT-компиляция практически без
оптимизаций (код при этом складывается в дополнительную ветку
бинарника), и одновременно производится автоматическое
профилирование исполнения, на базе данных которого при следующей
загрузке уже сгенерированный код прогоняется через оптимизации, и так до трёх раз, со всё более глубоким набором оптимизаций, пока в итоге не получится код, практически аналогичный по производительности изначально скомпилированному под Эльбрус. Да,
несколько первых запусков программы будут сильно проигрывать в производительности, но зато падает общее время реакции, не надо
ждать пока оно всё будет полчаса перекомпилироваться при первом
запуске.
Понятно, в принципе вес верно. Но, все-таки еще такой вариант — при
установке программы (которая вообще происходит только 1 раз) —
почему тогда не сделать эту оптимизацию? В конце-концов можно даже
спросить у пользователя- хочет он подождать 15-20 минут
перекомпиляции программы. с тем чтобы потом при запуске она
открывалась быстрее и работала быстро? Тогда же вообще не будет
задержек — уже будет готовый оптимизированный код для запуска,
просто дополнительное место на жестком диске потребуется.
Потому что это изначально фича для программ, вообще не подозревающих об Эльбрусе. Если уж делать особый инсталлятор, то тогда есть смысл вообще программу просто изначально под Эльбрус
откомпилировать штатным компилятором, и не сношать никому моск.
17.12.1516:00:57
17.12.1517:36:10
11.01.1605:01:28
04.02.1603:47:07
19.09.1721:38:20