Timu ya msingi ya pnpm inazindua uandishi upya unaotegemea Rust kwa ajili ya v12, ikipunguza muda wa ufungaji wa warm install kutoka 381 ms hadi 12 ms na ufungaji wa clean install kutoka sekunde 6.5 hadi 2.2. Ongezeko hili la kasi ni muhimu zaidi kwa watengenezaji wanaotekeleza vifurushi katika mifumo ya continuous-integration (CI), ambapo kila sekunde ina umuhimu.
Kwa nini uandishi upya huu ni muhimu sasa
pnpm tayari inashinda washindani wengi kwa kasi, lakini inafanya kazi kwenye Node.js, jambo ambalo linasababisha gharama ya kuanza (startup cost) kila wakati amri inapoanzishwa. Gharama hiyo huonekana kama kusimama kwa muda unaoonekana katika kazi za CI zinazofanya upya upataji na uunganishaji wa utegemezi (dependencies). Kwa kuhamishia kazi nzito kwenye programu ya asili ya Rust (native Rust binary)—yenye jina la siri pacquet—timu hiyo inaondoa hatua ya kuanza ya Node.js na kuruhusu Rust ishughulikie mabadiliko makubwa ya mfumo wa faili kwa kutumia thread moja.
Uandishi huu upya ni uhamishaji (port), siyo usanifu upya. Bendera (flags) zote, mifumo ya lockfile, na mpangilio wa node_modules unaofahamika unabaki vilevile, hivyo skripti na mifumo ya kazi iliyopo haihitaji mabadiliko yoyote. Katika v11 unaweza tayari kuchagua kutumia mfumo wa nyuma (backend) wa pacquet; v12 unaifanya kuwa chaguo la kawaida kwa upataji na uunganishaji.
Mafanikio yanayopimika ya utendaji
Vipimo (Benchmarks) vilivyotolewa na watunzaji vinaonyesha:
- Warm install (ukimbizaji wa marudio ukitumia cache): 381 ms → 12 ms, mabadiliko ya mara 30 zaidi.
- Clean install (bila cache): sekunde 6.5 → 2.2, ikipunguza zaidi ya nusu ya muda.
Hatari na mabadiliko ya kulinganisha
Injini ya Rust bado iko katika hatua ya alpha. Timu inapendekeza kutotumia v12 katika mazingira ya uzalishaji (production) hadi itakapomaliza hatua ya kabla ya toleo rasmi.
Jinsi ya kuijaribu leo
Watengenezaji wanaweza kujaribu mfumo mpya wa nyuma kwa kuendesha pnpm self-update next-12, ambayo inapakua programu ya hivi karibuni ya kabla ya toleo rasmi. Amri hiyo inabadilisha injini ya JavaScript na ile ya Rust bila kubadilisha pnpm-lock.yaml ya mradi au mpangilio wa node_modules. Timu zinazotaka kutathmini athari kwenye mifumo yao ya CI zinapaswa kuwasha programu ya majaribio (disposable runner), kuwezesha mfumo wa nyuma wa pacquet, na kulinganisha muda wa ujenzi (build times) na mpangilio wa sasa.
Mwelekeo mpana zaidi
Hatua ya pnpm inaakisi wimbi la uhamiaji wa zana kuelekea lugha zilizokamilishwa (compiled languages). Miradi kama Biome, Oxc, na Deno yote yamejenga upya vipengele muhimu vya utendaji kwa kutumia Rust au Go ili kupunguza ucheleweshaji (latency) katika mifumo ya kazi ya watengenezaji.
Nini cha kufuatilia baadaye
- Hatua za uthabiti (Stability milestones): Kufuatilia matoleo kutakuambia ni lini itakuwa salama kwa matumizi ya uzalishaji.
- Usawa wa vipengele (Feature parity): Watumiaji wanapaswa kuangalia orodha ya mabadiliko (changelog) kwa ajili ya mapungufu yoyote.
Hitimisho: Uandishi upya wa pnpm kwa Rust unageuza meneja wa vifurushi ambao tayari ni wa kasi kuwa mmoja unaofanya kazi papo hapo kwa ufungaji wa marudio, na unapunguza zaidi ya nusu ya muda kwa ufungaji mpya. Kwa timu zinazotumia dakika nyingi kutatua utegemezi (dependency resolution) kila usiku, maboresho haya yanaahidi upunguzaji unaopimika wa gharama za CI bila kuhitaji mabadiliko makubwa ya mfumo wa kazi.
