Re[7]: .NET 10 улучшения
От: Serginio1 СССР https://habrahabr.ru/users/serginio1/topics/
Дата: 19.03.25 08:58
Оценка: 13 (1)
Здравствуйте, Философ, Вы писали:

_NN>>>выяснилось, что он не является частью ситсемы и поэтому стартует гораздо медленней.

C>>Что значит "не часть системы" и какое это имеет отношение к скорости?

Ф>Я пока не смотрел на ссылки, которые он дал — не знаю что там говорилось.

Ф>.NET Framework в Windows имеет Global Assembly Cache и Native Image Cache, у .NET такого нет (не было).
Ф>В первый кэш падают "глобальные" сборки, а во вторые — нативные образы, которые избавляют от необходимости в JIT-компиляции — они компилируются во время ngen install имя_сборки.

Ф>Вот всей этой подсистемы не было у .NET


Так как .Net Core кроссплатформенный и нужно быть независимым от сборок на машине. Пошли другим путем.

Сейчас ты можешь создать приложение всего с одной сборкой Развертывание с одним файлом

Что касается NGET то есть Компиляция ReadyToRun

Вы можете уменьшить время запуска и задержку приложения .NET, скомпилировав все сборки приложения в формат ReadyToRun (R2R). R2R является разновидностью компиляции AOT.

Бинарные файлы R2R повышают производительность при запуске, снижая объем работы, выполняемой на этом этапе компилятором JIT. Бинарные файлы содержат такой же машинный код, который создается компилятором JIT. Но бинарные файлы R2R имеют больший размер, так как содержат не только код на промежуточном языке (IL), который по-прежнему необходим для некоторых сценариев, но и версию того же кода на машинном языке. Функция R2R доступна только при публикации приложения, предназначенного для конкретной среды выполнения (RID), например для Windows x64 или Linux x64.


Ну и наконец Native AOT

В .NET Framework был .Net Native для UWP

Ну и Профильная оптимизация
и солнце б утром не вставало, когда бы не было меня
Отредактировано 19.03.2025 9:29 Serginio1 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.