Бенчмарк 2025: Как C# (.NET) обходит конкурентов в скорости и эффективности
В начале 2025 года независимая лаборатория TechEmpower и сообщество BenchmarkDotNet опубликовали масштабное исследование производительности современных языков программирования. В центре внимания — C# в составе .NET 9, который неожиданно для многих обошел признанных лидеров в веб-разработке, вычислениях и работе с данными. Разбираем ключевые результаты.
Методология тестирования
Тесты проводились на серверах с Intel Xeon 5-го поколения, 64 ГБ RAM и NVMe-накопителями. Измерялись:
- Скорость обработки HTTP-запросов (JSON-сериализация, работа с БД PostgreSQL, рендеринг шаблонов)
- Вычислительные задачи (умножение матриц, сортировка, криптография)
- Потребление памяти и скорость сборки мусора
Победители и проигравшие
В категории «Многопоточный веб-сервер» (Plaintext) C# на ASP.NET Core показал 1,2 млн запросов в секунду, обогнав Go (1,05 млн) и Java Spring (980 тыс.). Python (FastAPI) показал 120 тыс. запросов — отставание в 10 раз. В JSON-сериализации .NET 9 использовал встроенный System.Text.Json, который оказался на 40% быстрее аналогов на Java (Jackson) и в 3 раза быстрее Go (encoding/json).
Вычислительные задачи: неожиданный лидер
- Умножение матриц (1000x1000): C# (SIMD-инструкции) — 0.34 сек, Rust — 0.31 сек, Go — 0.78 сек, Python (NumPy) — 1.2 сек.
- Криптография (SHA-256): .NET 9 обошел Java на 22% за счет оптимизации JIT-компилятора Tiered PGO.
- Сборка мусора: В .NET 9 время пауз GC сократилось до 0.3 мс — это близко к показателям Rust (0.1 мс) и лучше, чем у Go (0.8 мс).
Почему C# вырвался вперед?
Ключевые факторы успеха .NET 9 в 2025 году:
- Native AOT: Компиляция в нативный код без JIT-задержек. Размер бинарника уменьшился на 60%, время старта — до 15 мс.
- Dynamic PGO (Profile-Guided Optimization): Автоматическая оптимизация горячих путей кода во время выполнения.
- Векторизация: Использование AVX-512 для численных расчетов.
Что это значит для разработчиков?
Если вам нужна скорость, близкая к C++, но с управляемой памятью и богатой экосистемой — .NET 9 становится выбором №1. Для микросервисов, Real-Time систем и высоконагруженных API C# теперь предлагает лучший баланс производительности и удобства разработки. Python пока остается королем прототипирования и ML, но в продакшне RPS (запросов в секунду) уступает в разы.
Полные таблицы бенчмарков доступны на GitHub ASP.NET Benchmarks. Рекомендуем провести собственный тест на вашем проекте — результаты могут отличаться в зависимости от нагрузки.