ΠžΡ†Π΅Π½ΠΊΠ° потрСблСния памяти ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ запускС ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° Π·Π°Π΄Π°Ρ‡

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстирования потрСблСния памяти ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π°, ΡΠΎΠ·Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ выполняСмых сопрограмм. ВСстированиС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ для Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ Π½Π° языках программирования 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