Бенчмарк 2025: Rust против C++, Go и Python в высоконагруженных системах

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

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

Начать курс

Бенчмарк 2025: Rust против C++, Go и Python — кто лидирует в высоконагруженных системах?

В начале 2025 года команда pythonlib.ru провела серию контрольных тестов (бенчмарков) для сравнения производительности Rust с его основными конкурентами: C++, Go и Python. Цель — выяснить, насколько оправдан переход на Rust в высоконагруженных backend-системах и обработке данных. Тесты проводились на идентичном оборудовании (AMD Ryzen 9, 64 ГБ RAM, NVMe SSD) при нагрузке, имитирующей реальные задачи веб-сервисов и ETL-процессов.

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

Мы выбрали три ключевых сценария:

  • CPU-bound: вычисление чисел Фибоначчи (рекурсия) и умножение матриц 1000x1000 (50 итераций).
  • Memory-bound: работа с хеш-таблицами (10 млн вставок/чтений).
  • I/O-bound: чтение/запись 1 млн строк из CSV + парсинг JSON (100 МБ файл).

Результаты: Rust vs C++ (время выполнения, секунды)

В CPU-задачах Rust показал результат, сопоставимый с C++ (разница менее 3%). Однако в задачах с интенсивным многопоточным доступом к памяти Rust обошёл C++ на 12% благодаря строгой модели владения (ownership), которая исключает data races на этапе компиляции. В I/O-операциях разница была минимальной (2-4% в пользу C++).

Rust vs Go: скорость и безопасность

Go традиционно славится лёгкой конкурентностью (goroutines), но Rust с его async/await и tokio показал на 40% более высокую пропускную способность в HTTP-серверах (тест wrk на 10k соединений). В тесте на утечки памяти (memory leak) Go «съел» на 25% больше RAM, чем Rust, из-за сборщика мусора. Rust выиграл и по скорости парсинга JSON (в 2,1 раза быстрее).

Rust vs Python: порядок отличия

Как и ожидалось, Rust превзошёл Python (CPython 3.13) во всех тестах: от 15 раз (I/O) до 50 раз (чистые вычисления). Даже с использованием PyPy и NumPy для матричных операций Python уступил Rust в 5–8 раз. Главный вывод: Python остаётся лучшим для прототипирования, но для production Rust — безальтернативен.

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

  • Rust vs C++: Rust безопаснее (нет segfault) и почти так же быстр. Рекомендуем для нового кода.
  • Rust vs Go: Rust быстрее и экономит память, но требует больше времени на написание кода. Go — для микросервисов, где скорость разработки важнее.
  • Rust vs Python: Rust — для ядра системы, Python — для скриптов и ML. Комбинация (PyO3, maturin) даёт лучшее из двух миров.

Полные логи бенчмарков и скрипты доступны на pythonlib.ru в разделе «Тесты производительности». Переходите на Rust уже сегодня — ваш CPU скажет спасибо!

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