Re[15]: 32/64/AnyCPU - что за @$^%$?
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 09.10.16 12:38
Оценка:
Здравствуйте, AlexRK, Вы писали:

ARK>Здравствуйте, Serginio1, Вы писали:


S>>>>CLR Это хост для компиляции IL кода

ARK>>>Википедия с вами не согласна.
S>> Ну в википедии много чего есть, что не соответствует истины.

ARK>А где же взять истину, о гуру?


На заборе вестимо.
S>>>>Компилятор это VM
ARK>>>Ээээ.. чего?
S>> Вот именно. По твоему JIT компилятор это VM

ARK>Не надо свои выдумки выдавать за мои слова.


S>> Ты хоть читай ссылки которые тебе дают.

S>>

Приложения предназначенные для платформы .NET Framework, создаются на определенном языке программирования и компилируются в промежуточный язык (IL). Перед выполнением какого-либо метода в первый раз JIT-компилятор компилирует IL-код в машинный код для локального компьютера. В противоположность этому цепочка инструментов .NET Native преобразует исходный код в машинный код во время компиляци


ARK>Здесь для меня нет ничего нового.


ARK>>>Во-первых, здесь не написано, что .NET Native выполняется со скоростью машинного кода.

ARK>>>Во-вторых, .NET Native в принципе не может достичь скорости неуправляемых языков просто хотя бы по причине наличия рефлексии.
ARK>>>В-третьих, .NET Native — не эквивалентен .NET.
S>> Ну да, а что это?
S>>Еще раз читаем ссылки, что бы не позориться

ARK>Вы лучше включите голову, чтобы не позориться. Может тогда увидите, что у вас по ссылкам нет опровержения ни одного из моих пунктов.


Ну как же ты сам признал, что VM это не компилятор.
На самом деле для выполнения MSIL его нужно скомпилировать
1. Динамически с помощью JIT компилятора их CLR
2. Статически .Net Native. При этом есть ограничение на рефлексию в MSIL коде.
ARK>>>И наконец — вообще неважно, с какой скоростью все исполняется, и скорость не имеет никакого отношения к определению того, является язык нативным или нет. Есть медленные нативные языки, есть быстрые виртуальные машины.
S>> Еще раз, что по твоему VM?

ARK>Набор сервисов, предназначенных для выполнения кода в специальном формате. Выполнение кода, сборка мусора, работа с памятью, исключения и прочее и прочее.

То есть это определение подходит и .Net Native.

NGEN по-прежнему полагается на полную среду CLR для таких сервисов, как загрузка сборок, удаленное и локальное взаимодействие, управление памятью, сбор мусора и, при необходимости, JIT-компиляция. В .NET Native многие из этих сервисов являются либо ненужными (JIT-компиляции), либо разрешаются во время построения и включаются в сборку приложения. Остальные сервисы, наиболее важным из которых является сбор мусора, включены в гораздо более компактную, оптимизированную среду выполнения mrt100_app.dll.


Значит компилятор это VM?
и солнце б утром не вставало, когда бы не было меня
Отредактировано 09.10.2016 12:40 Serginio1 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.