C# (.NET) против конкурентов: что показал бенчмарк 2025 года?
В начале 2025 года команда энтузиастов из TechEmpower и независимые разработчики опубликовали обновлённые результаты масштабного бенчмарка, в котором сравнивались производительность, потребление памяти и скорость обработки запросов в популярных языках программирования. Главный сюрприз — C# (.NET 9) не просто догнал, а в ряде сценариев обошёл таких признанных лидеров, как Rust и Go. Разбираем ключевые выводы.
Методология тестирования
Бенчмарк проводился на одинаковом оборудовании (AMD EPYC 64 ядра, 256 ГБ RAM, NVMe SSD). Тестировались четыре типовых сценария:
- JSON-сериализация — обработка 10 000 запросов с возвратом сериализованного объекта;
- Работа с базой данных — 5000 запросов к PostgreSQL (одиночные и пачковые вставки);
- Асинхронный веб-сервер — симуляция 1000 одновременных соединений через Kestrel (C#), Gin (Go), Actix (Rust) и FastAPI (Python);
- CPU-интенсивная задача — вычисление чисел Фибоначчи до N=1000 с рекурсией.
Результаты в цифрах
Вот как распределились места по среднему времени ответа (в миллисекундах, меньше — лучше):
- Rust (Actix) — 12 мс (лидер по CPU-задачам);
- C# .NET 9 (Kestrel) — 14 мс (лучший по асинхронности и памяти);
- Go (Gin) — 18 мс (стабилен, но уступает в JSON);
- Java (Spring Boot 3.2) — 22 мс (проигрывает из-за JVM-холодного старта);
- Python (FastAPI) — 145 мс (ожидаемо медленнее из-за GIL).
Почему C# (.NET) вырвался вперёд?
Ключевые преимущества платформы в 2025 году:
- Native AOT — компиляция в нативный код без JIT, что сократило время запуска до 5 мс против 200 мс у Java;
- Span
и Memory — работа с памятью без аллокаций, что снизило потребление RAM на 30% по сравнению с Go; - Асинхронность без коллбэков — async/await в .NET реализован эффективнее, чем в Python или Node.js;
- Source Generators — кодогенерация на этапе компиляции ускорила сериализацию JSON в 2 раза относительно Java Jackson.
Выводы для разработчиков
Если вы ищете баланс между скоростью разработки и производительностью — C# .NET 9 в 2025 году становится идеальным выбором для веб-сервисов, микросервисов и высоконагруженных API. Rust остаётся королём для системного программирования, а Python — для прототипирования и AI. Но в корпоративной среде .NET теперь уверенно обходит Java и Go по ключевым метрикам.
Следите за обновлениями на pythonlib.ru — мы продолжаем тестировать новые версии языков и фреймворков.