TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
.NET epeshk blog

10 Jul, 18:17

Открыть в Telegram Поделиться Пожаловаться

Бежать со всех ног, чтобы только оставаться на месте

Именно это придётся делать дотнету для выживания в мире Mythos-level моделей, которые могут всё переписать

В этом посте разберём, что нейронки могут улучшить в .NET.

Критерии отбора задач:
- очевидна полезность
- гарантированно существует решение
- требует больших трудозатрат для реализации

1. Сделать кросскомпиляцию для NativeAOT. Сейчас фактически нужно компилировать код под каждую платформу отдельно. Хочу на Windows x64 компилировать под Macbook M5 Max, а на макбуке — под легаси Windows x64

2. Pauseless GC. Сейчас GC в .NET имеет неустранимые stop-the-world паузы, которые могут длиться неограниченное время. Нейронки могут вдохновиться Java и реализовать алгоритмы сборки мусора с гарантированным временем паузы

3. JIT-оптимизации по анроллингу циклов. Вот пример, где Java в 2 раза быстрее за счёт анроллинга

4. Const generics. Возможность использовать константу как generic-параметр. Array arrayOfThreeInts. Прототип фичи уже реализован, но заброшен с аргументацией, что нужны ресурсы

5. Green Threads. Уже были реализованы вручную, в итоге реализация оказалась неудачной, и была отвергнута в пользу Runtime Async. Имеет смысл сделать второй заход

6. Улучшение дебаг инструментов. Например, миграция PerfView на AvaloniaUI/Blazor. Должна быть возможность анализировать dotnet trace без использования Windows и без конвертации в флеймграфы для браузера

7. Нативная поддержка int128/int256 констант в языке C# (сейчас тип есть, а константу задать нельзя, только через Int128.Parse("..."))

8. llvm backend для NativeAOT, включающийся одним параметром --llvm

9. Переписать dotnet runtime с C++ на Rust

10. Оптимизировать все методы ToString / TryFormat. Например, DateTime имеет оптимизированный путь для форматов O/R/S и неэффективный для форматной строки

@epeshkblog
.NET is twice slower than Java (in the nested loops benchmark) · Issue #93725 · dotnet/runtime
Description C# code: https://github.com/OttoBotCode/CountingTriples/blob/b7c71f9742383b46ede650cdb79d0b5835bfd218/TriplesCS.cs Java code: https://github.com/OttoBotCode/CountingTriples/blob/main/Tr...

3.4k 0 19 146 68
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot