Опубликованы результаты тестирования потребления памяти при выполнении кода, создающего миллион параллельно выполняемых сопрограмм. Тестирование проведено для типовой программы, реализованной на языках программирования Rust, C#, Go, Java, Python и JavaScript.
В Rust задачи создавались с использованием фреймворка Tokio и на базе библиотеки async_std, в C# — API List<Task>(), 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 тысяч задач.

- Запуск миллиона задач.

Источник: opennet.ru




