Стал ли код Microsoft хуже из-за ИИ: замеры .NET 11 RC
Стал ли код Microsoft хуже из-за ИИ: замеры .NET 11 RC
С ноября 2022 года, когда вышли .NET 7 и ChatGPT, прошло достаточно времени, чтобы проверить на практике популярный тезис: портит ли ИИ качество кода. Разработчик измерил производительность библиотек .NET от версии 6.0 до 11 RC и обнаружил заметные регрессии — в том числе в рефлексионном биндере конфигурации и в DI-контейнере.
В рефлексионном биндере время выполнения операции с параметром inherit: false выросло со 120 до 45 мкс в ветке main (исправление в релиз не попало), а аллокации вернулись к уровню 10.0. Мейнтейнеры признали регрессию, но отметили: производительность рефлексионного биндера — не главный приоритет, для горячих путей рекомендуется генератор исходников. Черновой PR #136899 обещает Get<T> на 50 свойств за 10,3 мкс против 27,6 мкс в затронутой сборке, однако он ещё не влит и не отревьюен, а issue привязан к milestone 12.0.0, так что бэкпорт в 11.0 не гарантирован.
Вторая просадка — в DI: первый resolve на 100 провайдерах вырос на 15%. Бисект по коммитам показал, что скачок даёт ровно один PR агента (#124331): 0,641 мс против 0,554 мс до него. Откат этого коммита возвращает показатель к 0,569 мс. Сам автор подчёркивает: следов Copilot в коммитах нет, а ассистент в IDE в Git не виден — так что приписывать регрессию ИИ напрямую нельзя, но совпадение по времени показательное.
Что это значит
Для команд, уже тестирующих .NET 11 RC, практический вывод простой: если биндинг конфигурации чувствителен к скорости, включайте генератор исходников (EnableConfigurationBindingGenerator) — в примере он даёт 12 мкс и 5,7 КБ, обгоняя и рефлексионный путь, и биндер 10.0. А IOptionsSnapshot пересоздаёт опции на каждый scope намеренно — там, где обновление конфигурации в рамках запроса не нужно, IOptionsMonitor дешевле. Оговорка: замеры сделаны на релиз-кандидате, на финальном net11.0 цифры могут отличаться.
История показывает: измерять качество кода — единственный способ отделить реальные проблемы от хайпа вокруг ИИ-ассистентов. Подробности и цифры — в материале на Habr.
Если хотите глубже разобраться, как ИИ-агенты влияют на производительность и надёжность кода, и какие инструменты помогают это отслеживать — узнайте больше.
📌 Чтобы не пропустить новые публикации, подписывайтесь там, где вам удобнее: Дзен или MAX.
💛 Если статья оказалась полезной, поддержите автора донатом.
Материал подготовлен на основе информации из открытых источников. Все права на исходные материалы принадлежат их авторам. Если вы являетесь правообладателем и возражаете против использования, свяжитесь с нами по адресу info@11st.press.