Софт

Выпущен .NET 9

Выпущен .NET 9

Выпущен .NET 9 с рядом улучшений производительности и новых функций, призванных помочь разработчикам в использовании искусственного интеллекта.

.NET был создан на основе комбинации .NET Framework и .NET Core. В этом выпуске добавлена поддержка нового оборудования, включая Arm64 SVE и Intel AVX10. RyuJIT (компилятор .NET just-in-time) повышает производительность для Arm64, циклов, PGO и проверок границ. Microsoft утверждает, что исключения работают на 50 % быстрее благодаря использованию той же модели исключений, что и в Native AOT.

Динамическая оптимизация Profile Guided Optimization (PGO) также была обновлена, чтобы оптимизировать больше шаблонов кода. Dynamic PGO позволяет JIT профилировать код и использовать это профилирование для создания более эффективного кода.

Рассказывая об этих улучшениях, команда .NET заявила:

«Теперь JIT генерирует код с быстрым путем как для распространенных, так и для невидимых приведений типов в приложении. Приведения, такие как (IFoo)myFoo и myFoo is IFoo, очень часто встречаются в C#. Он также может разворачивать и векторизовать некоторые операции над буферами для обычных длин буферов, которые он наблюдает. Это изменение позволяет ускорить выполнение на 70 %, но требует отключения ReadyToRun».

LINQ также был оптимизирован, так что такие методы, как Take и DefaultIfEmpty, теперь возвращаются в десять раз быстрее, если лежащий в основе массив, коллекция или перечисляемый объект пуст.

В релизе также появились новые функции для «создания и наполнения приложений искусственным интеллектом». Они варьируются от новых учебных материалов и образцов до сотрудничества с партнерами, чтобы сделать их продукты ИИ доступными. По словам Microsoft, она сотрудничает с такими партнерами, как Azure, OpenAI, LlamaIndex, Qdrant, Pinecone, Milvus, AutoGen, OllamaSharp и ONNX Runtime.

С практической точки зрения это означает, что разработчики могут использовать интеллектуальные компоненты Semantic Kernel в Microsoft.Extensions.AI и Microsoft.Extensions.VectorData. Они предоставляют единый уровень абстракций C# для взаимодействия с сервисами ИИ, такими как малые и большие языковые модели (SLM и LLM), вкрапления, векторные хранилища и промежуточное ПО.

Microsoft также улучшила другие библиотеки и примитивные типы. В Microsoft.ML.Tokenizers улучшены токенизаторы для популярных семейств моделей, включая GPT (4,o1 и т. д.), Llama, Phi и Bert, а также добавлена новая поддержка алгоритмов токенизации, включая Byte-Level BPE, SentencePiece и WordPiece.

Tensor также был улучшен новым типом для представления многомерных данных, чтобы упростить взаимодействие между библиотеками и применение операций.

GitHub Copilot также был улучшен для разработчиков .NET: появилась новая интеллектуальная проверка переменных с помощью ИИ, а также редактируемые выражения LINQ с помощью ИИ в визуализаторе IEnumerable. Обновленная версия также предлагает более качественные AI-дополнения для C# за счет привлечения дополнительного контекста из соответствующих исходных файлов для улучшения завершений для C#.

.NET 9 уже доступна для загрузки.

Читайте также