pnpm కోర్ టీమ్ వెర్షన్ 12 యొక్క ఆల్ఫా బిల్డ్ను విడుదల చేసింది. ఇది నేటివ్ Rust బైనరీగా నడుస్తుంది, దీనివల్ల ప్రస్తుత Node-ఆధారిత వెర్షన్ కంటే ఇన్స్టాల్ సమయం పది రెట్లు వేగంగా ఉండవచ్చని వాగ్దానం చేస్తోంది. CI జాబ్స్ చాలా వేగంగా పూర్తవుతాయి కాబట్టి ఈ మార్పు చాలా కీలకం.
ఈ రీరైట్ ఎందుకు ముఖ్యం
pnpm ఇప్పటికే కంటెంట్-అడ్రస్ చేయదగిన స్టోర్ (content-addressable store) మరియు కఠినమైన node_modules లేఅవుట్ను ఉపయోగించడం ద్వారా npm మరియు Yarn నుండి తనను తాను వేరు చేసుకుంది. అయినప్పటికీ, ప్రతి కమాండ్ ఇంకా ఒక Node.js ప్రాసెస్ను ప్రారంభిస్తుంది, దీనివల్ల ఫైల్ పనులు ప్రారంభం కావడానికి ముందే కొంత స్టార్టప్ సమయం (startup cost) ఖర్చవుతుంది. ప్రధానమైన కోడ్ను Rustకి మార్చడం ద్వారా, టీమ్ ఆ బూట్స్ట్రాప్ దశను తొలగించింది మరియు అనేక ఫైల్ ఆపరేషన్లను సమాంతరంగా (parallel) నిర్వహించగల Rust సామర్థ్యాన్ని ఉపయోగించుకుంది, ఇది ఒకే JavaScript థ్రెడ్ చేయలేని పని.
ఈ వాదన వెనుక ఉన్న గణాంకాలు
pnpm టీమ్ అందించిన బెంచ్మార్క్లు మూడు సాధారణ సందర్భాలలో గణనీయమైన తగ్గుదలను చూపుతున్నాయి:
- Warm install (repeat run): 381 ms నుండి 12 ms కి.
- No-cache install: 460 ms నుండి 40 ms కి.
- Clean install (full dependency tree): 6.5 s నుండి 2.2 s కి.
Warm installs లో 30× మెరుగుదల నేరుగా వేగవంతమైన CI జాబ్స్ మరియు డెవలపర్లకు త్వరగా ఫీడ్బ్యాక్ లభించేలా చేస్తుంది.
ఏవి మారవు
ఈ రీరైట్ అనేది ఒక పోర్ట్ (port), రీడిజైన్ కాదు. ఇప్పటికే ఉన్న అన్ని ఫ్లాగ్స్, లాక్ఫైల్ ఫార్మాట్ మరియు కఠినమైన node_modules నిర్మాణం యథాతథంగా ఉంటాయి. ప్రాజెక్ట్లు మునుపటిలాగే pnpm installను కొనసాగించవచ్చు; కనిపించే ఏకైక తేడా వేగం మాత్రమే. పబ్లిక్ API మారదు కాబట్టి, మైగ్రేషన్ ప్రక్రియ చాలా సులభంగా ఉంటుంది.
దీన్ని ఇప్పుడు ఎలా ప్రయత్నించాలి
ఈ మార్పు దశలవారీగా జరుగుతుంది. ప్రస్తుత v11 వెర్షన్లో, డెవలపర్లు “pacquet” బ్యాకెండ్ ఫ్లాగ్ను ఎనేబుల్ చేయడం ద్వారా ప్రయోగాత్మక Rust బ్యాకెండ్ను ఉపయోగించుకోవచ్చు. v12లో, ప్యాకేజీలను పొందడానికి మరియు వాటిని వర్క్స్పేస్లోకి లింక్ చేయడానికి Rust ఇంజిన్ డిఫాల్ట్గా మారుతుంది. ఆల్ఫా రిలీజ్ next-12 ట్యాగ్ కింద ప్రచురించబడింది; ఇది ఇంకా ప్రొడక్షన్ వినియోగానికి సిఫార్సు చేయబడలేదు, కానీ ఆసక్తి ఉన్నవారు ఒకే కమాండ్తో దీన్ని ఇన్స్టాల్ చేసి పరీక్షించడం ప్రారంభించవచ్చు.
రిస్క్లు మరియు ప్రతికూల అంశాలు
క్లీన్ API సర్ఫేస్ ఉన్నప్పటికీ, ఆల్ఫా బైనరీలో సాధారణంగా ఉండే పరిమితులు ఉంటాయి: పరిమిత పరీక్షలు మరియు సంభావ్య ఎడ్జ్-కేస్ రిగ్రెషన్లు (edge-case regressions).
విస్తృతమైన ధోరణి
pnpm తీసుకున్న ఈ నిర్ణయం ఫ్రంట్-ఎండ్ టూలింగ్లో పెరుగుతున్న ధోరణిని ప్రతిబింబిస్తుంది. డెవలపర్ వర్క్ఫ్లోలో మిల్లీసెకన్ల సమయాన్ని ఆదా చేయడానికి Biome మరియు Oxc వంటి ప్రాజెక్ట్లు కూడా వాటి కోర్ భాగాలను కంపైల్డ్ లాంగ్వేజెస్లో రీరైట్ చేశాయి.
