Бенчмарк 2025: Rust против C++, Go и Python — кто быстрее?

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

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

Начать курс

Бенчмарк 2025: Rust против C++, Go и Python — кто правит балом?

2025 год стал переломным для языков системного программирования. Rust, который ещё недавно воспринимался как «модный новичок», уверенно занял нишу не только в разработке инфраструктуры, но и в высоконагруженных веб-сервисах, CLI-утилитах и embedded-системах. Мы провели серию бенчмарков, сравнив Rust с его главными конкурентами: C++, Go и Python. Результаты оказались неожиданными даже для опытных разработчиков.

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

Тесты проводились на идентичном оборудовании (AMD Ryzen 9 7950X, 64 ГБ DDR5, NVMe SSD). Для каждого языка использовались актуальные компиляторы и рантаймы:

  • Rust — rustc 1.80.0, флаги оптимизации -C opt-level=3
  • C++ — Clang 18, флаги -O3 -march=native
  • Go — Go 1.23, сборка без отладочных символов
  • Python — CPython 3.13, PyPy 7.3 (для сравнения)

Замерялись три ключевых метрики: скорость выполнения (время, мс), потребление памяти (RSS, МБ) и пропускная способность (запросов/сек для веб-сервера).

Результаты тестов

1. Вычислительные задачи (числа Фибоначчи, сортировка, криптография)

  • Rust: 12.3 мс, 2.1 МБ
  • C++: 11.8 мс, 2.3 МБ
  • Go: 19.7 мс, 4.8 МБ
  • Python (PyPy): 145.2 мс, 38.1 МБ
  • Python (CPython): 820.4 мс, 42.5 МБ

Вывод: Rust практически догнал C++ по чистой производительности (отставание менее 5%), но при этом использует на 10% меньше памяти. Go проигрывает в 1.6 раза, а Python — в 11-66 раз.

2. Веб-сервер (HTTP/1.1, 10 000 соединений, JSON-ответ)

  • Rust (Actix-web): 215 000 req/s, 14.2 МБ
  • Go (net/http): 178 000 req/s, 19.8 МБ
  • C++ (Crow): 209 000 req/s, 15.1 МБ
  • Python (FastAPI + uvicorn): 28 000 req/s, 52.3 МБ

Вывод: Rust не просто быстрее Go — он на 20% эффективнее по пропускной способности и на 30% экономичнее по памяти. C++ с Crow идёт почти вровень с Rust.

3. Работа с файловой системой (чтение 1 млн строк из CSV)

  • Rust: 0.87 сек, 5.3 МБ
  • C++: 0.91 сек, 5.8 МБ
  • Go: 1.42 сек, 9.1 МБ
  • Python (pandas): 4.21 сек, 127 МБ

Вывод: В задачах ввода-вывода Rust минимально уступает C++, но значительно опережает Go и Python

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