Здравствуйте, Pzz, Вы писали:
Pzz>Слпрее, получить сравнимые скорости, потратив на порядок меньше транзисторов.
Как следствие меньшее тепловыделение. Но это все не про перформанс.
Pzz>А вот интересно. В процессорах, типа Эльбруса, компилятор пытается, путем статического анализа текстов, угадать, как лучше. В процессорах, типа интеловских, это же пытается сделать процессор, наблюдая за ходом исполнения программы.
Pzz>Компилятор умнее, а процессор видит, как жизнь устроена на самом деле. Поэтому оба они не дают оптимальных результатов.
Какой подход оптимальние зависит от задачи. Для кода общего назначения компилятор не знает какие там ветвления и куда будут, так что интеловский подход лучше, но интеловский подход сосет в случае реально многопоточного кода. Но есть примерно дофига вычислительных задач, где компилятор может легко предсказывывать ветвления и раскладывать многопоточный код на VLIW инструкции.
Pzz>А никто не пробовал применять комбинированный подход, когда процессор собирает детальные метрики, а just in time recompiler перекомпилирует узкие места с их учетом?
Непонятно как эти метрики привязать к тем абстракциям, с которыми работает компилятор. А так подход рабочий, ява машины чем-то подобным занимаются.