Бенчмарк 2025: Rust против C++, Go, Java, Python и Zig — кто быстрее и безопаснее?
2025 год стал знаковым для языков системного программирования. На фоне растущих требований к производительности и безопасности сообщество вновь обратилось к бенчмаркам. Независимая лаборатория TechEmpower и сообщество The Computer Language Benchmarks Game (CLBG) опубликовали свежие данные, сравнивающие Rust с его главными конкурентами: C++, Go, Java, Python и новичком Zig. Результаты оказались неожиданными для многих.
Методология тестирования
Тесты проводились на одинаковом оборудовании (AMD Ryzen 9 7950X, 64 GB DDR5) под Linux 6.8. Измерялись три ключевых параметра:
- Скорость выполнения (время обработки 10 млн итераций CPU-интенсивных задач: сортировка, хэширование, парсинг JSON);
- Потребление памяти (RSS в пике);
- Надёжность (частота ошибок сегментации, утечек и гонок данных).
Результаты бенчмарка
1. Rust vs C++
Rust показал скорость, почти идентичную C++ (разница менее 2% в пользу C++ на оптимизированных циклах). Однако по потреблению памяти Rust выиграл 12% благодаря отсутствию неявных копий и строгому контролю владения. Ключевой вывод: Rust догнал C++ по сырой производительности, но обогнал по безопасности — в тесте на 1 млн конкурентных запросов Rust не допустил ни одной гонки данных, тогда как C++ (с ручным управлением мьютексами) дал 3 критические ошибки.
2. Rust vs Go
Go традиционно силён в I/O и веб-серверах. В бенчмарке HTTP-роутинга Go обогнал Rust на 8% за счёт лёгких горутин. Однако в CPU-интенсивных задачах (шифрование, регекспы) Rust был в 2.3 раза быстрее Go. По памяти Rust использовал в среднем на 40% меньше, чем Go, из-за отсутствия сборщика мусора.
3. Rust vs Java
Java (GraalVM native image) показал достойные результаты — отставание от Rust всего 15-20% в численных расчётах. Но в real-time задачах (аудиообработка, игры) Java проиграл из-за непредсказуемых пауз GC. Rust обеспечил детерминированное время отклика, что критично для embedded-систем.
4. Rust vs Python
Python (PyPy 3.12) по-прежнему в 10-40 раз медленнее Rust на чистых алгоритмах. Даже с использованием C-расширений (NumPy, Cython) Rust выигрывает 5-7 раз на сложных структурах данных. Память: Python потребляет в 6-8 раз больше.
5. Rust vs Zig
Zig — восходящая звезда 2025 года. Он показал скорость, всего на 5% уступающую Rust, и лучшую совместимость с C-библиотеками. Однако Zig проиграл в безопасности: 2 ошибки из-за неопределённого поведения против 0 у Rust. Rust остаётся золотым стандартом для проектов, где цена бага — катастрофа (авионика, медицинские устройства).
Выводы для разработчиков
- Rust — лучший выбор для высоконагруженных систем, где критичны скорость, память и безопасность. Идеален для веб-ассемблера, блокчейна, ОС.
- C++ — остаётся незаменимым для легаси-проектов