
CPython-ში Rust-ის ინტეგრაცია: პროექტმა ეტაპობრივი გეგმა და წარმატების კრიტერიუმები წარადგინა
Python Language Summit 2026-ზე David Hewitt-მა Rust for CPython პროექტის გეგმა წარადგინა: Python 3.16-ში zlib-ის არასავალდებულო Rust ვერსია, წარმატების კრიტერიუმების PEP 2026 წლის ბოლოსთვის და სავალდებულო Rust არა უადრეს 2029 წლისა.
Python Language Summit 2026-ზე David Hewitt-მა Rust for CPython პროექტის გეგმა წარადგინა: ეტაპები და წარმატების კრიტერიუმები. პროექტი PyCon US 2025-ზე განიხილეს, გუნდს კი CPython-ის core დეველოპერი Kirill Podoprigora და Emma Smith ხელმძღვანელობს.
გუნდი Discord-ის არხზე დაახლოებით 60 დეველოპერს აერთიანებს, მათ შორის CPython-ის core დეველოპერებსა და Rust პროექტის წარმომადგენლებს. ბევრს Android-ში და Linux-ის ბირთვში Rust-ის ინტეგრაციის გამოცდილება აქვს.
რატომ Rust?
„type-crash“ იარლიყით გახსნილი პრობლემების რაოდენობა იზრდება: 2021 წელს 82 შემთხვევა, 2025 წელს 222, 2026 წლის პროგნოზი კი დაახლოებით 353-ია. ზრდის ერთ-ერთ მიზეზად ახალი პარსერი, JIT და free-threading სახელდება, Rust კი შესაძლო გადაწყვეტად მიიჩნევა.

პირველი სამიზნე: zlib მოდული
პირველი მოდული, რომელიც Rust-ის არასავალდებულო იმპლემენტაციას მიიღებს, zlib-ია. გუნდი zlib-rs-ს გამოიყენებს, რომელსაც Firefox, uv და Cargo იყენებენ და რომელიც zlib-ზე სწრაფია. zlib-ს Python-ის პაკეტების სისტემა ფართოდ იყენებს, ამიტომ Python 3.16-ში თითქმის ყველა pip install დაიჩქარებს.

გეგმით, Rust API-ის პროტოტიპი 2026 წლის ზაფხულში მზადდება, წარმატების კრიტერიუმების PEP კი წლის ბოლოსთვის გამოქვეყნდება. Python 3.16 (2027 წლის ოქტომბერი) zlib-ის Rust ვერსიას და პირად Rust API-ს მიიღებს; Python 3.17 (2028) Rust-ს io, json, xml, memoryview და parser მოდულებშიც შეიტანს. სავალდებულო გახდომა არა უადრეს Python 3.18-ისა (2029) იგეგმება.
შეშფოთება და დისკუსია
Hewitt-ის თქმით, დანერგვა სოციალური გამოწვევაცაა: Rust-ის ცოდნა core დეველოპერებში საყოველთაო არ არის, ამიტომ გეგმა CPython-ის მცირე ნაწილებს მოიცავს, რადგან „C-ის მილიონი ხაზის კოდი ერთბაშად ვერ გადაიტანება“. პლატფორმების მხარდაჭერა, ერთი წლის წინ მთავარი შეშფოთება, გაფართოვდა.
დისკუსიაზე Larry Hastings-მა იკითხა, რატომ არ არის პროექტი „გადაწერა“; Hewitt-მა აღნიშნა, რომ RustPython უკვე არსებობს. მანვე თქვა, რომ „CPython არ უნდა დაიწეროს Rust-ზე მხოლოდ იმიტომ, რომ Rust-ია“ და CPython კიდევ დიდხანს ორენოვანი იქნება. Pablo Galindo Salgado-მ Cargo-დან დამოკიდებულებების მოზიდვას პოტენციური „showstopper“ უწოდა; Hewitt-ის პასუხით, გარე დამოკიდებულებები მინიმუმამდე შემცირდება და აწყობას Cargo არ დასჭირდება.
წარმატების კრიტერიუმები
JIT-ისა და free-threading-ის შემთხვევაშიც კრიტერიუმები წინასწარ განისაზღვრა, ამიტომ Hewitt-ის თქმით, მსგავსი პირობები საჭიროა: core დეველოპერების უმრავლესობა Rust API-ის მიმართ ღია უნდა იყოს („ღია“, და არა „მცოდნე“), წარმადობა შესამჩნევად არ გაუარესდეს, Rust-ს კი ყველა tier პლატფორმაზე მხარდაჭერა ჰქონდეს.
SiTech — AI-გაძლიერებული ვებ დეველოპმენტი
ვქმნით სწრაფ, თანამედროვე ვებსაიტებს და AI-ს ვაერთიანებთ ქართული ბიზნესებისთვის. გაქვთ პროექტი ან კითხვა? სიამოვნებით დაგეხმარებით.