Бенчмарк 2025: Java против конкурентов — кто быстрее?
В начале 2025 года команда TechEmpower и независимые энтузиасты опубликовали свежие результаты бенчмарков производительности популярных языков программирования. В центре внимания — Java, которая продолжает эволюционировать с выходом Java 25 и Project Loom. Мы проанализировали данные и подготовили краткий обзор: как позиции Java изменились на фоне Go, Rust, C#, Python и Kotlin.
Методология тестирования
Тесты проводились на типовых нагрузках: веб-запросы (JSON-сериализация), обработка данных (циклы, вычисления), работа с памятью и скорость запуска. Использовались последние стабильные версии языков и фреймворков (Spring Boot 4 для Java, Gin для Go, Actix для Rust, .NET 9 для C#).
Результаты: скорость выполнения
- Java (Spring Boot 4 + Virtual Threads): ~185 000 запросов/сек. Отличный результат благодаря Project Loom — виртуальные потоки снизили накладные расходы на конкурентность.
- Go (Gin): ~210 000 запросов/сек. Лидер по чистой скорости в вебе, но отрыв от Java минимален.
- Rust (Actix): ~230 000 запросов/сек. Абсолютный лидер, но сложность разработки и компиляции остаётся высокой.
- C# (.NET 9): ~175 000 запросов/сек. Близок к Java, но уступает в микрооптимизациях.
- Python (FastAPI): ~45 000 запросов/сек. Ожидаемо медленнее, но лидирует по скорости написания кода.
- Kotlin (Ktor): ~180 000 запросов/сек. Почти идентичен Java, что логично — работает на JVM.
Потребление памяти
Здесь Java традиционно критикуют, но Java 25 с улучшенным G1 GC и компактными строками показала заметный прогресс:
- Rust: минимальный расход (~15 MB на приложение).
- Go: ~25 MB.
- Java: ~60 MB (против 100+ MB в Java 17).
- C#: ~70 MB.
- Python: ~40 MB, но медленный GC.
Скорость запуска
Благодаря GraalVM Native Image и Project Leyden, Java сократила время старта до 0.3–0.5 секунды для простых сервисов. Это сравнимо с Go (0.2 сек) и Rust (0.1 сек). Ранее Java проигрывала здесь с показателем 1.5–2 секунды.
Итоги и прогнозы
Бенчмарк 2025 года показывает, что Java больше не «медленная». Project Loom и GraalVM вернули её в тройку лидеров по производительности. Язык уступает Rust и Go в сырых числах, но выигрывает в экосистеме, зрелости и доступности разработчиков. Для enterprise-решений, микросервисов и высоконагруженных систем Java остаётся одним из лучших выборов.
Если вы хотите глубже изучить Java 25 или попробовать Virtual Threads на практике — загляните в наши уроки на PythonLib. Мы готовим серию материалов по современной Java.