CPython ΠΌΠΎΠΆΠ΅ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ Rust Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° сборочна зависимост Π·Π° вСрсия 3.17

Π•ΠΌΠΌΠ° Π‘ΠΌΠΈΡ‚ (Emma Smith) ΠΈ ΠšΠΈΡ€ΠΈΠ» ΠŸΠΎΠ΄ΠΎΠΏΡ€ΠΈΠ³ΠΎΡ€Π° (Kirill Podoprigora), ΠΊΠΎΠΈΡ‚ΠΎ са част ΠΎΡ‚ основния Π΅ΠΊΠΈΠΏ Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Python, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Ρ…Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Pre-PEP) Π·Π° постСпСнно добавянС Π½Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚Ρ‚Π° Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Π΅Π·ΠΈΠΊΠ° Rust Π² ΠΊΠΎΠ΄ΠΎΠ²Π°Ρ‚Π° Π±Π°Π·Π° Π½Π° CPython, Ρ€Π΅Ρ„Π΅Ρ€Π΅Π½Ρ‚Π½Π°Ρ‚Π° рСализация Π½Π° програмния Π΅Π·ΠΈΠΊ Python. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Rust сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π½Π΅Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΈ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ ΠΎΡ‚ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² дирСкторията Modules/. Π’ пСрспСктива, Π΄ΠΎ вСрсия Python 3.17, Rust ΠΌΠΎΠΆΠ΅ Π΄Π° станС Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½Π° зависимост ΠΏΡ€ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPython.

ΠžΡΠ½ΠΎΠ²Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ Π·Π° внСдряванСто Π½Π° Rust са осигуряванСто Π½Π° бСзопасна Ρ€Π°Π±ΠΎΡ‚Π° с ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π°, прСдотвратяванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° use-after-free ΠΈ извън Π³Ρ€Π°Π½ΠΈΡ†ΠΈΡ‚Π΅ Π½Π° Π±ΡƒΡ„Π΅Ρ€Π°, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ опростяванСто Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ‚Π° Π½Π° потокобСзопасСн ΠΊΠΎΠ΄, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ особСно Π°ΠΊΡ‚ΡƒΠ°Π»Π½ΠΎ Π½Π° Ρ„ΠΎΠ½Π° Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½Π°Ρ‚Π° ΠΏΠΎΠ΄ΠΊΡ€Π΅ΠΏΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π½Π° CPython Π±Π΅Π· Π³Π»ΠΎΠ±Π°Π»Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π° (GIL, Global Interpreter Lock) Π·Π° ΠΏΠ°Ρ€Π°Π»Π΅Π»Π½ΠΎ изпълнСниС Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π° многоядрСни систСми (ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ free-threaded Python). Rust ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° ΠΏΡ€Π΅Π΄Π»Π°Π³Π° висококачСствСни, Π½ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π½ΠΈ структури ΠΎΡ‚ Π΄Π°Π½Π½ΠΈ ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚Π° систСма Π·Π° ΠΌΠ΅Ρ‚Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ…ΠΈΠ³ΠΈΠ΅Π½ΠΈΡ‡Π½ΠΈ макроси.

План Π·Π° внСдряванС:

  • Python 3.15 (2026 Π³ΠΎΠ΄ΠΈΠ½Π°): ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π° ΠΎΡ‚ΡΡŠΡΡ‚Π²ΠΈΠ΅ Π½Π° Rust Π² срСдата Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅.
  • Python 3.16 (2027 Π³ΠΎΠ΄ΠΈΠ½Π°): ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅Ρ‚ΠΎ Π΅ възмоТно Π±Π΅Π· Rust само с Ρ„Π»Π°Π³Π° Β«β€”with-rust=noΒ».
  • Python 3.17 (2028 Π³ΠΎΠ΄ΠΈΠ½Π°): Rust ΠΌΠΎΠΆΠ΅ Π΄Π° станС Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π΅Π½ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½Π΅.

Π—Π° взаимодСйствиС с C API Π½Π° CPython сС ΠΏΡ€Π΅Π΄Π²ΠΈΠΆΠ΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½ΠΈ ΡΠ²ΡŠΡ€Π·Π²Π°Π½ΠΈΡ Ρ‡Ρ€Π΅Π· bindgen, Π° Π½Π΅ Π½Π° външни абстракции, ΠΊΠ°Ρ‚ΠΎ PyO3, Π·Π° Π΄Π° сС ΠΈΠ·Π±Π΅Π³Π½Π°Ρ‚ закъснСния ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° API. Π’ΡŠΠΏΡ€ΠΎΡΠΈΡ‚Π΅ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° зависимоститС, крос-компилация ΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° Ρ€Π΅Π΄ΠΊΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ са Π² процСс Π½Π° обсъТданС.

Π’ ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π°Π½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ сС ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°, Ρ‡Π΅ всички ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ ΠΎΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° PEP 11 сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚ ΠΎΡ‚ Rust ΠΏΠΎΠ½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ Tier 2. Някои остарСли ΠΈΠ»ΠΈ нишови систСми (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HPPA ΠΈ RISC OS) Π½Π΅ сС ΠΏΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Ρ‚, Π½ΠΎ тСхният дял Π² СкосистСмата Π½Π° Python сС счита Π·Π° Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π΅Π½.

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

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС с Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster