Re[19]: А если бы все с начала ?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 20.01.18 12:02
Оценка:
Здравствуйте, lpd, Вы писали:

N>>Ну так если подробности архитектуры видны только системным программистам — авторам AOT/JIT генераторов — то что до этого остальным программистам?

lpd>Если компилировать программы из промежуточного кода в коды процессора сразу после инсталляции, то ты прав. А JIT-компиляция уже не совсем прозрачна, т.к. усложняет процесс запуска программы.

Ты это усложнение и не заметишь. Поставил продукт в виде бинарников IL, файлов данных и т.п. — а старт бинарника по любому исполняет RTLD. Он и сейчас везде достаточно нетривиальный — чтение ELF/COFF/etc., определение сегментов для загрузки, расчёт перемещений, линковка автоподключаемых SO/DLL — если к этому добавится конверсия прочтённого IL кода в команды местного процессора, это лишь замедлит старт. Прозрачность для автора программы сохранится по полной.

N>>А насчёт усложнения есть некоторые сомнения — например, тот же Intel спокойно бы выкинул FPU, который устарел сразу по нескольким параметрам, и стало бы легче чуть менее, чем всем.

lpd>Понадобилось бы стандартизировать промежуточный код и его динамическую линковку(если ее оставлять). Хотелось бы, чтобы все это было оправдано существенными улучшениями процессоров, а не просто отключением поддержки legacy-инструкций.

Ну примеры Java/.NET/etc. показывают, что преимущество в виде пресловутого "write once, run anywhere" таки есть — а где его нет, проблема почти всегда не в процессоре. Исключения идут на случаи типа "мы тут ничего векторного не можем завести => FPS <= 10".

lpd>Процессоры, выпускаемые разными фирмами по одной архитектуре(Intel и особенно Arm) и без того отличаются между собой, оставаясь совместимыми. Не исключено, что этого достаточно для развития технологий процессоров.

lpd>Это раньше у всех был Windows, и для него shareware программы, которые, действительно, кто-то мог не перекомпилировать под новую архитектуру. Вот это настоящий legacy.
lpd>А сейчас:
lpd>- офисным пользователями нужен ограниченный круг программ, которые производители пересоберут под новый процессор, да и нет у офисных пользователей потребности в новых процессорах быстрее 3Гц.

Даже есть так, офисные это далеко не все, и необязательно самый денежный сегмент.

lpd>- домашним пользователем нужны только браузер и видеокарта с поддержкой видео и 3d графики.


И производителям игр вечно не хватает скорости.

lpd>- на серверах у всех Linux и программы из open-source репозиториев, которые быстро пересобираются сообществом.


Тоже не у всех... на прошлой работе у нас было много знакомств с HPC пакетами расчёта чего-то хитрого, за которые их авторы дрожали, даже сдавая в аренду на настроенных ими серверах.
Но я согласен, что это нишевый случай.

lpd>Получается, проблема несовместимости осталась в 90х когда новые процессоры появлялись чаще.


Да, частично она решена. Но далеко не полностью.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.