ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Rust?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Rust?

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Rust?​

Rust Π·Π°Π²ΠΎΠ΅Π²Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, Π½ΠΎ Ρƒ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π²ΠΎΠΏΡ€ΠΎΡβš ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ компилируСтся?​ Π”Π°, врСмя компиляции Rust ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ большС, Ρ‡Π΅ΠΌ Ρƒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков.​ Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

ВрСмя компиляции

ВрСмя компиляции Π² Rust часто становится ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ΠΎΠΌ обсуТдСния.​ Π”Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ, компиляция Rust-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‰ΡƒΡ‚ΠΈΠΌΠΎΠ΅ врСмя, особСнно ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ динамичСскими языками ΠΈΠ»ΠΈ языками с Π±ΠΎΠ»Π΅Π΅ простыми систСмами Ρ‚ΠΈΠΏΠΎΠ².​ Π­Ρ‚ΠΎΠΌΡƒ Π΅ΡΡ‚ΡŒ нСсколько ΠΏΡ€ΠΈΡ‡ΠΈΠ½.​

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Rust?

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, Rust ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π³Π»ΡƒΠ±ΠΎΠΊΠΈΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° Π²ΠΎ врСмя компиляции, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ памяти ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π²Ρ‹ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΎ врСмя выполнСния.​ Π­Ρ‚ΠΎΡ‚ Π°Π½Π°Π»ΠΈΠ· Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ владСния, заимствований ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΆΠΈΠ·Π½ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов.​

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Rust?

Π’ΠΎ-Π²Ρ‚ΠΎΡ€Ρ‹Ρ…, Rust ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ «ΠΌΠΎΠ½ΠΎΠΌΠΎΡ€Ρ„ΠΈΠ·Π°Ρ†ΠΈΠΈ» для обСспСчСния высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ функция ΠΈΠ»ΠΈ структура Π΄Π°Π½Π½Ρ‹Ρ…, создаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ вСрсия ΠΊΠΎΠ΄Π°.​ Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ динамичСской диспСтчСризации Π²ΠΎ врСмя выполнСния, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ объСм ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ.​

НаконСц, Rust β€” это ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ язык, ΠΈ Π΅Π³ΠΎ экосистСма инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ компилятор, всС Π΅Ρ‰Π΅ находится Π² стадии Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ развития. Команда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Rust постоянно Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π°Π΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ компиляции, ΠΈ с ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ Ρ€Π΅Π»ΠΈΠ·ΠΎΠΌ Π½Π°Π±Π»ΡŽΠ΄Π°Π΅Ρ‚ΡΡ прогрСсс Π² этом Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ.​

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π΄ΠΎΠ»Π³ΠΎ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ Π² Rust?

Π Π°Π·ΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΊΡ‚ΠΎΡ€, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠΉ Π½Π° врСмя «Π·Π°Ρ…ΠΎΠ΄Π°» Π² Rust β€” это Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ (crate Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Rust).​ Π§Π΅ΠΌ большС сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, Ρ‚Π΅ΠΌ большС ΠΊΠΎΠ΄Π° компилятору приходится ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ СстСствСнным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ сказываСтся Π½Π° Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ сборки.​

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Rust поощряСт использованиС Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ…, спСциализированных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π° Π½Π΅ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹Ρ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ².​ Π­Ρ‚ΠΎ способствуСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌΡƒ использованию ΠΊΠΎΠ΄Π°, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΡŽ количСства зависимостСй Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅.​

Однако, Rust ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Π²ΠΈΡ‚ΠΎΠΉ систСмой управлСния зависимостями ΠΈ сборки Cargo, которая ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ процСсс компиляции, позволяя ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСзависимыС части ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ компиляции для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠ³Π»Π°Π΄ΠΈΡ‚ΡŒ влияниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Π½Π° ΠΎΠ±Ρ‰Π΅Π΅ врСмя сборки, Π½ΠΎ Π½Π΅ устраняСт Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.​

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Rust постоянно Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ΠΌ инструмСнтов сборки ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ зависимостСй, ΡΡ‚Ρ€Π΅ΠΌΡΡΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΎΠΊΠ°Π·Ρ‹Π²Π°Π» минимальноС влияниС Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.​

Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°

Rust извСстСн своСй ΠΌΠΎΡ‰Π½ΠΎΠΉ систСмой Ρ‚ΠΈΠΏΠΎΠ² ΠΈ строгими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ владСния ΠΈ заимствования.​ Π­Ρ‚ΠΈ особСнности Π΄Π΅Π»Π°ΡŽΡ‚ язык бСзопасным ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ, Π½ΠΎ ΠΏΡ€ΠΈ этом ΡƒΡΠ»ΠΎΠΆΠ½ΡΡŽΡ‚ Π°Π½Π°Π»ΠΈΠ· ΠΊΠΎΠ΄Π° компилятором.​

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Rust Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ мноТСство ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π²ΠΎ врСмя компиляции, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠ΄ Π½Π΅ содСрТит ошибок, связанных с ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, Π³ΠΎΠ½ΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ повСдСнию.

НапримСр, ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈΠ»ΠΈ ссылкой компилятор Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ врСмя ΠΆΠΈΠ·Π½ΠΈ заимствованного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ врСмя ΠΆΠΈΠ·Π½ΠΈ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°.​ Π­Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ слоТного Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠΎΡ‚ΠΎΠΊΠ° управлСния ΠΈ Π³Ρ€Π°Ρ„ΠΎΠ² владСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.​

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅, компиляция Rust-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Π΅ΠΌ компиляция ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° языках с Π±ΠΎΠ»Π΅Π΅ простыми систСмами Ρ‚ΠΈΠΏΠΎΠ² ΠΈ ΠΌΠ΅Π½Π΅Π΅ строгими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ.​ Однако, эта Ρ†Π΅Π½Π° ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π° ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для систСмного программирования ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ высоконагруТСнных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.​

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Rust компилируСтся Π² Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎ обСспСчиваСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.​ Однако, для достиТСния максимальной ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ компилятор Rust примСняСт мноТСство ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Π°ΠΊΠΆΠ΅ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° врСмя компиляции.​

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя⁚ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Ρ†ΠΈΠΊΠ»ΠΎΠ², встраиваниС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ нСдостиТимого ΠΊΠΎΠ΄Π°, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ размСщСния Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.​ ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Rust способСн Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ слоТныС мСТкассныС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСдоступны для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… языков ΠΈΠ»ΠΈ языков с JIT-компиляциСй.​

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, компилятор Rust ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ обСспСчиваСт баланс ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ компиляции ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ сгСнСрированного ΠΊΠΎΠ΄Π°. Однако, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ агрСссивный ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, Ссли ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ являСтся ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠΌ.​

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ, ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ врСмя компиляции, Π² ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ приводят ΠΊ созданию Π±ΠΎΠ»Π΅Π΅ эффСктивного ΠΈ быстрого ΠΊΠΎΠ΄Π°.​ ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, врСмя, Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π²ΠΎ врСмя компиляции, окупаСтся Π² Π²ΠΈΠ΄Π΅ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния.​

ΠžΡ†Π΅Π½ΠΈΡ‚Π΅ ΡΡ‚Π°Ρ‚ΡŒΡŽ

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹.

  1. Антон

    Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Π°Ρ ΡΡ‚Π°Ρ‚ΡŒΡ! Π”Π°, долгая компиляция ΠΏΠΎΡ€ΠΎΠΉ напрягаСт, Π½ΠΎ ΠΎΠ½ΠΎ Ρ‚ΠΎΠ³ΠΎ стоит. Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° Π² Rust — это Π½Π΅ пустыС слова.

  2. Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π°

    Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°Ρ… Π΄ΠΎΠ»Π³ΠΎΠΉ компиляции. НадСюсь, Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ этот аспСкт Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒΡΡ.

  3. Ольга

    Бпасибо Π·Π° объяснСниС! Π’Π΅ΠΏΠ΅Ρ€ΡŒ понятно, ΠΏΠΎΡ‡Π΅ΠΌΡƒ компиляция Rust-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ врСмя. РаньшС Π΄ΡƒΠΌΠ°Π»Π°, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ мСня Ρ‚Π°ΠΊ Π΄ΠΎΠ»Π³ΠΎ.

  4. Иван

    ПолСзная информация! Бтановится ясно, Ρ‡Ρ‚ΠΎ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ приходится ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ компиляции.

  5. Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ

    ВсС ΠΏΠΎ Π΄Π΅Π»Ρƒ. Rust Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ пСрспСктивный язык, ΠΈ приятно Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π°Π΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ компилятора.