Опубликованы результаты тестирования потребления памяти при выполнении кода, создающего миллион параллельно выполняемых сопрограмм. Тестирование проведено для типовой программы, реализованной на языках программирования Rust, C#, Go, Java, Python и JavaScript.
В Rust задачи создавались с использованием фреймворка Tokio и на базе библиотеки async_std, в C# – API List(), JavaScript – async/await в Node.js, Python – asyncio, Go – goroutine, Java – сопрограммы. Используемые версии и конфигурация: Rust 1.82, .NET 9.0.100 с NativeAOT,
Go 1.23.3, OpenJDK/GraalVM 23.0.1, NodeJS 23.2.0, Python 3.13.0.
Результаты:
- Запуск одной задачи для оценки потребления памяти в runtime.
- Запуск 10 тысяч задач.
- Запуск 100 тысяч задач.
- Запуск миллиона задач.
- Похожий прошлогодний тест с запуском миллиона задач.
Release.
Ссылка here.