Информация об изменениях

Сообщение Re[17]: [OFF] Научная фантастика :) от 07.03.2017 13:01

Изменено 07.03.2017 13:03 Mystic Artifact

Re[17]: [OFF] Научная фантастика :)
Здравствуйте, Serginio1, Вы писали:

S> Давай возьмем С++. Там компилятор работает с кодом и с генерацией кода при специализации шаблона.

Это не сильно что-то меняет — в JIT тоже генерируется код. Даже кое-какие оптимизации есть. Здесь же ж ключевое это AOT vs JIT. Но создать набор хинтов JIT-у во время компиляции или во время исполнения — никто не мешает. Я же говорил немного иное — если грубо — в C++ с шаблонами — оптимизатору не нужно пытаться самому выявлять шаблоны — программист об этом уже озаботился (может быть). Если же шаблоны не использовать — мы и в C++ получим те же самые виртуальные вызовы в общем случае. И их устранение в довольно конкретных. Я и грю — что не видел что бы оптимизаторы вводили новые типы как этот процесс. Если это не так — рад любой ссылке на тему.

S> Здесь вопрос, что проще раскрутить CIL или C#. Например с лямбдами по моему проще исходный код. Но я не спец в компиляторах.

S>Плюс оптимизация при компиляции в СIL код, уменьшает затраты при JIT компиляции.
Это ж классический вопрос между если-бы и есть-сейчас. Сейчас — однозначно рослином проще. Потом... это не один год с неясным результатом. Сейчас отсутствие хороших оптимизаций — вынуждает делать их уровнем выше, без возможности опереться на оптимизацию которая бы эффективно снизила стоимость абстракций.
Re[17]: [OFF] Научная фантастика :)
Здравствуйте, Serginio1, Вы писали:

S> Давай возьмем С++. Там компилятор работает с кодом и с генерацией кода при специализации шаблона.

Это не сильно что-то меняет — JIT тоже генерирует код. Даже кое-какие оптимизации есть. Здесь же ж ключевое это AOT vs JIT. Но создать набор хинтов JIT-у во время компиляции или во время исполнения — никто не мешает. Я же говорил немного иное — если грубо — в C++ с шаблонами — оптимизатору не нужно пытаться самому выявлять шаблоны — программист об этом уже озаботился (может быть). Если же шаблоны не использовать — мы и в C++ получим те же самые виртуальные вызовы в общем случае. И их устранение в довольно конкретных. Я и грю — что не видел что бы оптимизаторы вводили новые типы как этот процесс. Если это не так — рад любой ссылке на тему.

S> Здесь вопрос, что проще раскрутить CIL или C#. Например с лямбдами по моему проще исходный код. Но я не спец в компиляторах.

S>Плюс оптимизация при компиляции в СIL код, уменьшает затраты при JIT компиляции.
Это ж классический вопрос между если-бы и есть-сейчас. Сейчас — однозначно рослином проще. Потом... это не один год с неясным результатом. Сейчас отсутствие хороших оптимизаций — вынуждает делать их уровнем выше, без возможности опереться на оптимизацию которая бы эффективно снизила стоимость абстракций.