Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСтСвого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π½Π° 10 языках программирования

Π“Ρ€ΡƒΠΏΠΏΠ° исслСдоватСлСй ΠΈΠ· Π½Π΅ΠΌΠ΅Ρ†ΠΊΠΈΡ… унивСрситСтов ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ экспСримСнта, Π² Ρ…ΠΎΠ΄Π΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках программирования Π±Ρ‹Π»ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ 10 Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для 10-Π³ΠΈΠ³Π°Π±ΠΈΡ‚Π½Ρ‹Ρ… сСтСвых ΠΊΠ°Ρ€Ρ‚ Intel Ixgbe (X5xx). Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½Π° языках C, Rust, Go, C#, Java, OCaml, Haskell, Swift, JavaScript ΠΈ Python. ΠŸΡ€ΠΈ написании ΠΊΠΎΠ΄Π° основноС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡƒΠ΄Π΅Π»ΡΠ»ΠΎΡΡŒ Π΄ΠΎΡΡ‚ΠΈΠΆΠ΅Π½ΠΈΡŽ максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ особСнностСй ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка. По Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всС Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Ρ‹ ΠΈ состоят ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΈΠ· 1000 строк ΠΊΠΎΠ΄Π°. Наработки ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ BSD.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° языкС Rust оказался ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ эталонному Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ Π½Π° языкС Π‘ΠΈ. ΠŸΡ€ΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ с Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π±Π»ΠΎΠΊΠΎΠ² ΠΏΠΎ 32 ΠΏΠ°ΠΊΠ΅Ρ‚Π° Rust-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отставал, Π½ΠΎ Π² тСстах с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 32 ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² Π±Π»ΠΎΠΊΠ΅ ΠΏΠΎ скорости практичСски Π½Π΅ отличался ΠΎΡ‚ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° Π‘ΠΈ ΠΈ дСмонстрировал ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 28 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду Π½Π° сСрвСрС с CPU Xeon E3-1230 v2 3.3 GHz.

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСтСвого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π½Π° 10 языках программирования

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ Π½ΠΈΡˆΡƒ ΠΏΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ заняли Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π° языках Go ΠΈ Π‘#, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ достаточно Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ (Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° Go Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π» Π² тСстах с Π±Π»ΠΎΠΊΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΌΠΈ Π΄ΠΎ 16 ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ², ΠΈ стал Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠΈΠ³Ρ€Ρ‹Π²Π°Ρ‚ΡŒ Π² тСстах с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 16 ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π² Π±Π»ΠΎΠΊΠ΅). ΠŸΡ€ΠΈ 256 ΠΏΠ°ΠΊΠ΅Ρ‚Π°Ρ… Π² Π±Π»ΠΎΠΊΠ΅ пиковая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° C# составила ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 28 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду, Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π½Π° Go ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 25 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду.

Π”Π°Π»Π΅Π΅ с достаточно Π±Π»ΠΈΠ·ΠΊΠΈΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ слСдовали Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π°
Java, OCaml ΠΈ Haskell, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ отставали ΠΎΡ‚ Ρ€Π°Π½Π΅Π΅ рассмотрСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΈ Π½Π΅ смогли ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ ΠΏΠ»Π°Π½ΠΊΡƒ Π² 12 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду. Π•Ρ‰Ρ‘ большСС отставаниС ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π° Swift ΠΈ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ смогли ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 5 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду.

Π—Π°ΠΌΠΊΠ½ΡƒΠ» Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° языкС Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ смог ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ всСго 0.14 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду. РСализация Π½Π° Python Π±Ρ‹Π»Π° использована для ΠΎΡ†Π΅Π½ΠΊΠΈ скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠ² Π±Π΅Π· JIT ΠΈ Π±Π΅Π· спСцифичных ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ (ΠΊΠΎΠ΄ выполнялся с использованиСм CPython 3.7 ΠΈ Π½Π΅ Π±Ρ‹Π» совмСстим с PyPy, Π½ΠΎ отмСчаСтся, Ρ‡Ρ‚ΠΎ оптимизация структур хранСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ³Π»Π° Π±Ρ‹ ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 10 Ρ€Π°Π·).

Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Ρ‹ тСсты Π½Π° врСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π»ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ влияниС сборщика мусора. ΠŸΡ€ΠΈ тСстировании ΠΈΠ·ΠΌΠ΅Ρ€ΡΠ»Π°ΡΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° послС пСрСнаправлСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ‚ΠΎΡ‡Π½ΠΎ извСстным Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ. Π›ΠΈΠ΄Π΅Ρ€Π°ΠΌΠΈ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ стали Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π° Π‘ΠΈ ΠΈ Rust, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ‹Π»ΠΈ практичСски Π½Π΅ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠΌΡ‹ для ΠΏΠΎΡ‚ΠΎΠΊΠ° Π² 1 ΠΌΠ»Π½ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² сСкунду (ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 20 µs). Π₯ΠΎΡ€ΠΎΡˆΠΎ проявил сСбя Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° языкС Go, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ лишь Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ отстал ΠΎΡ‚ Π»ΠΈΠ΄Π΅Ρ€ΠΎΠ² ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ дСрТался Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ 20 µs. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π° C# ΠΏΠΎΠΊΠ°Π·Π°Π» Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² 50 µs.
Π‘Π°ΠΌΡ‹Π΅ большиС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ Π½Π° JavaScript ΠΈ Java (Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ 300 µs).

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сСтСвого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° Π² Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π½Π° 10 языках программирования

ИсслСдованиС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ с Ρ†Π΅Π»ΡŒΡŽ ΠΎΡ†Π΅Π½ΠΊΠΈ возмоТности Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Π½Π° языках Π±ΠΎΠ»Π΅Π΅ высокого уровня, Ρ‡Π΅ΠΌ Π‘ΠΈ. Π’ настоящСС врСмя 39 ΠΈΠ· 40 ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Linux приходятся Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹, поэтому вопросы примСнСния Π±ΠΎΠ»Π΅Π΅ бСзопасного языка ΠΈ выноса Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² ΠΈΠ· ядра Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΡƒΠΆΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Google Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» TCP-стСк для ОБ Fuchsia Π½Π° языкС Go, компания CloudFlare создала Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° QUIC Π½Π° языкС Rust, компания Apple пСрСнСсла TCP-стСк Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройствах Π² пространство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).

Π’ Ρ…ΠΎΠ΄Π΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ сдСлан Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ язык Rust являСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ². ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅ΠΌΡ‹Π΅ Π² Rust возмоТности ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΈΠ·-Π·Π° Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Ρ†Π΅Π½ΠΎΠΉ сниТСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° 2%-10% ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ Π½Π° языкС Π‘ΠΈ. Π―Π·Ρ‹ΠΊΠΈ Go ΠΈ C# Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈΠ·Π½Π°Π½Ρ‹ ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½Ρ‹ΠΌΠΈ для создания систСмных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², Π² ситуациях ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΡ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π΄ΠΎΠ»Π΅ΠΉ миллисСкунд, Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ сборщика мусора.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru