
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-ի հիմնական մշակողները՝ Kirill Podoprigora-ն և Emma Smith-ը:
Թիմը Discord-ի ալիքում միավորում է մոտ 60 մշակող, այդ թվում՝ CPython-ի հիմնական մշակողներին և Rust նախագծի ներկայացուցիչներին: Շատերը ունեն Rust-ի ինտեգրման փորձ Android-ում և Linux-ի միջուկում:
Ինչո՞ւ 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):
Հոգսեր և քննարկում
Հյուիթի կարծիքով, ներդրումը նաեւ սոցիալական մարտահրավեր է. Rust-ը գիտելիքը core մշակողների մեջ ընդհանուր չէ, ուստի ծրագիրը ընդգրկում է CPython-ի փոքր մասերով, քանի որ „C-ի միլիոն տող կոդը մեկ հետ չի կարող տեղափոխվել“: Պլատֆորմների աջակցությունը, որը մեկ տարի առաջ հիմնական հոգսն էր, ընդլայնվեց:
Քննարկման ընթացքում Լարրի Հասթինգսը հարցրեց, թե ինչու չի նախագիծը „վերագրվել“; Հյուիթը նշեց, որ RustPython արդեն գոյություն ունի: Նա նաեւ ասաց, որ „CPython-ը չպետք է գրվի Rust-ով միայն դրա համար, որ Rust է“ և CPython-ը դեռ երկար ժամանակ երկուստեղնակ կլինի: Պաբլո Գալինդո Սալգադոն Cargo-ից կախվածությունների ձգումը համարեց պոտենցիալ „showstopper“; Հյուիթի պատասխանով, արտաքին կախվածությունները կվերանան մինիմումի և հավաքումը Cargo չի պահանջում:
Հաջողության չափորոշիչներ
JIT-ի և free-threading-ի դեպքում էլ չափորոշիչները նախապես սահմանված են, ուստի Հյուիթի կարծիքով, անհրաժեշտ են նման պայմաններ. core մշակողների մեծամասնությունը պետք է բաց լինի Rust API-ի նկատմամբ („բաց“, այլ ոչ թե „տեղեկատու“), արդյունավետությունը չպետք է նկատելիորեն վատացի, իսկ Rust-ը պետք է ունենա աջակցություն բոլոր tier պլատֆորմներում:
SiTech — AI-ով հզորացված վեբ մշակում
Ստեղծում ենք արագ ու ժամանակակից կայքեր և AI-ը ներդնում իրական բիզնես գործընթացներում։ Ունե՞ք նախագիծ կամ հարց։ Ուրախ կլինենք օգնել։