.NET CLR - при компиляции CIL для инструкций для конкретной платформы, как насчет новых архитектур ЦП и т. Д.? - PullRequest
6 голосов
/ 17 февраля 2011

Когда .NET CLR компилирует CIL для инструкций, специфичных для платформы, что он делает, если компилирует на новой архитектуре ЦП (т. Е. С которой он не знаком).Неужели MS идет в ногу со временем и выпускает новые оптимизированные функции компиляции инструкций в .NET, сотрудничая с поставщиками архитектур (Intel, AMD и т. Д.) ??

1 Ответ

6 голосов
/ 17 февраля 2011

.Net, кажется, предназначается для семейств архитектур (таких как x86, amd64 и ia64), а не для отдельных архитектур. Добавление оптимизации для различных вариантов и расширений трех семейств базовых архитектур - это деталь реализации, которая может улучшить или не улучшить производительность, но не обязательна для создания работающего кода; эта оптимизация может быть реализована в точечных выпусках, но Microsoft, похоже, не очень заинтересована в обновлении своего JIT, чтобы получить дополнительную процентную долю скорости от последнего чипа.

Редактировать: Похоже, что ответ 'это зависит' . JIT выполняет некоторые специфичные для процессора оптимизации, но они добавляются Microsoft только тогда, когда они видят очевидные болевые точки производительности; заблаговременная компиляция с NGen никогда не включает оптимизацию для конкретного процессора.

...