Решения устаревают, проблемы остаются.

Oct 14, 2011 08:29

    Вот есть пара-тройка разработчиков процессоров (и CPU, и мультипроцессоров для GPU). Сильно занимаются оптимизацией. Умные... Есть ещё несколько команд разработчиков компиляторов C/C++/Java. Тоже занимаются оптимизацией. Тоже умные... Так какого же хера нам надо описывать модель, и транслировать её в на некий байт-код, который должен оптимально бегать на данных архитектурах после компиляции? И какого хера надо оптимизировать запросы к этой модели (байткоду) в тех же терминах? Это как минимум 2 лишних уровня изобретения велосипеда! Почему для процессоров/компиляторов нет интерфейса, который бы делал всю эту работу? Я ему сгенерирую исходный код, он мне - быстро! - скомпилирует, я результат подгружу и запущу, и будет мне счастье! Ан нет... Видимо, только для GPU придумали just-in-time генерацию PTX и деплоймент результата...

И ещё: мы ж знаем, что архитектура меняется. Медленная память, кэши, много ядер, NUMA. Старый байт-код очень сложно оптимизировать для новых платформ. Даже та же JVM в этом смысле устарела... (Как пример: нельзя расположить неэлементарные объекты непрерывно для оптимизации кэша.) И что делать? Парадигмы меняются. Как байт-код должен эволюциировать при изменениях платформы для лучшей производительност?.. Вот и я не знаю. Видимо, и язык и байткод должны эволюционировать тоже. А это настолько усложняет байт-код, что все его плюсы будут уничтожены...

software, neurosis, computers, programming

Previous post Next post
Up