Go против конкурентов: результаты бенчмарков 2025 года

Онлайн-тренажер Python для начинающих

Изучайте Python легко и без перегрузки теорией. Решайте практические задачи с автоматической проверкой, получайте подсказки на русском языке и пишите код прямо в браузере — без необходимости что-либо устанавливать.

Начать курс

Go против конкурентов: итоги бенчмарков 2025 года

В 2025 году язык Go (Golang) продолжает укреплять свои позиции в сегменте облачных сервисов, микросервисов и высоконагруженных бэкендов. Однако конкуренция со стороны Rust, Python (с C-расширениями) и классического C++ становится всё более интересной. Мы проанализировали свежие бенчмарки от сообщества TechEmpower и независимых лабораторий, чтобы понять, где Go всё ещё впереди, а где уступает.

Методология тестирования

Все замеры проводились на одинаковом оборудовании (AMD EPYC 64 ядра, 256 ГБ RAM, NVMe SSD) под Ubuntu 24.04 LTS. Тесты включали:

  • HTTP-сервер — обработка 10 000 запросов/с с JSON-ответом (Fasthttp vs Actix vs Node.js vs Sanic)
  • Вычисления — умножение матриц 2048×2048 (CPU-bound)
  • Потребление памяти — idle-режим после загрузки 100 тыс. объектов
  • Скорость компиляции — время сборки среднего проекта (~50 файлов)

Результаты бенчмарков

Вот ключевые цифры (Go принят за 100% в каждой категории):

  • HTTP-пропускная способность: Go — 100% (1.2 млн req/s), Rust — 115%, C++ — 130%, Python (uvicorn) — 20%.
  • Вычислительная производительность: Go — 100%, Rust — 108%, C++ — 135%, Python (NumPy) — 45% (с C-бекендом).
  • Потребление памяти (на 10 тыс. горутин/потоков): Go — 4.2 MB, Rust — 3.8 MB, C++ — 5.1 MB, Python — 89 MB.
  • Скорость компиляции: Go — 0.8 сек, Rust — 4.2 сек, C++ — 7.1 сек, Python — 0.1 сек (интерпретация).

Анализ: чем Go выигрывает в 2025?

Несмотря на то, что Rust и C++ показывают лучшую «сырую» производительность в вычислениях, Go сохраняет лидерство в веб-среде благодаря трём факторам:

  • Горутины: лёгкие потоки с накладными расходами ~4 КБ против 1 МБ у системных потоков C++.
  • Сборка мусора: в версии Go 1.24 задержки GC снижены до 0.5 мс при 95% нагрузке, что приближается к ручному управлению памятью Rust.
  • Экосистема: стандартная библиотека покрывает 90% задач бэкенда без внешних зависимостей.

Python остаётся королём прототипирования и ML, но для продакшн-нагрузок Go предлагает в 4-5 раз большую пропускную способность при том же бюджете CPU.

Выводы для разработчиков

Если ваш проект — высоконагруженный API, стриминг данных или облачный сервис, Go остаётся оптимальным выбором в 2025 году. Rust — для систем с жёсткими требованиями к безопасности памяти (драйверы, ядра). C++ — для игр и embedded. Python — для быстрых прототипов и Data Science.

Полные таблицы бенчмарков и исходный код тестов доступны в репозитории TechEmpower Framework Benchmarks.

Рекомендуем библотеки