pnpm ನ ಕೋರ್ ತಂಡವು ವರ್ಷನ್ 12 ರ ಆಲ್ಫಾ ಬಿಲ್ಡ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ, ಇದು ನೇಟಿವ್ Rust ಬೈನರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಇದು ಪ್ರಸ್ತುತ ಇರುವ Node-ಆಧಾರಿತ ಆವೃತ್ತಿಗಿಂತ ಹತ್ತು ಪಟ್ಟು ವೇಗವಾಗಿ ಇನ್ಸ್ಟಾಲ್ ಆಗುವ ಭರವಸೆಯನ್ನು ನೀಡುತ್ತದೆ. CI ಕೆಲಸಗಳು (jobs) ಹೆಚ್ಚು ವೇಗವಾಗಿ ಮುಕ್ತಾಯಗೊಳ್ಳುವುದರಿಂದ ಈ ಬದಲಾವಣೆ ಬಹಳ ಮುಖ್ಯವಾಗಿದೆ.
ಈ ಮರುಬರಹ (rewrite) ಏಕೆ ಮುಖ್ಯ
pnpm ಈಗಾಗಲೇ content-addressable store ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ node_modules ವಿನ್ಯಾಸವನ್ನು ಬಳಸುವ ಮೂಲಕ npm ಮತ್ತು Yarn ನಿಂದ ತನ್ನನ್ನು ತಾನು ಪ್ರತ್ಯೇಕಿಸಿಕೊಂಡಿದೆ. ಆದರೂ, ಪ್ರತಿಯೊಂದು ಕಮಾಂಡ್ ಕೂಡ Node.js ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ, ಇದರಿಂದಾಗಿ ಯಾವುದೇ ಫೈಲ್ ಕೆಲಸ ಪ್ರಾರಂಭವಾಗುವ ಮೊದಲು ಒಂದು ನಿರ್ದಿಷ್ಟ ಆರಂಭಿಕ ಸಮಯ (startup cost) ವ್ಯಯವಾಗುತ್ತದೆ. ಭಾರೀ ಕೆಲಸ ಮಾಡುವ ಕೋಡ್ ಅನ್ನು Rust ಗೆ ವರ್ಗಾಯಿಸುವ ಮೂಲಕ, ತಂಡವು ಆ ಬೂಟ್ಸ್ಟ್ರಾಪ್ ಹಂತವನ್ನು ತೆಗೆದುಹಾಕಿದೆ ಮತ್ತು ಏಕದಿನ JavaScript ಥ್ರೆಡ್ಗೆ ಸಾಧ್ಯವಾಗದಂತೆ, ಅನೇಕ ಫೈಲ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಸಮಾಂತರವಾಗಿ (parallel) ನಡೆಸುವ Rust ನ ಸಾಮರ್ಥ್ಯವನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತಿದೆ.
ಈ ಹೇಳಿಕೆಯ ಹಿಂದಿನ ಅಂಕಿಅಂಶಗಳು
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 jobs ಮತ್ತು ಅಭಿವೃದ್ಧಿಪಡಿಸುವವರಿಗೆ (developers) ಶೀಘ್ರವಾದ ಪ್ರತಿಕ್ರಿಯೆ ಲೂಪ್ಗಳನ್ನು (feedback loops) ಒದಗಿಸುತ್ತದೆ.
ಏನವು ಬದಲಾಗುವುದಿಲ್ಲ
ಈ ಮರುಬರಹವು ಕೇವಲ ಒಂದು ಪೋರ್ಟ್ (port) ಆಗಿದೆಯೇ ಹೊರತು ಮರು-ವಿನ್ಯಾಸ (redesign) ಅಲ್ಲ. ಎಲ್ಲಾ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಫ್ಲಾಗ್ಗಳು (flags), lockfile ಫಾರ್ಮ್ಯಾಟ್ ಮತ್ತು ಕಟ್ಟುನಿಟ್ಟಾದ node_modules ರಚನೆಯು ಬದಲಾಗದೆ ಉಳಿಯುತ್ತವೆ. ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಮೊದಲಿನಂತೆಯೇ pnpm install ಅನ್ನು ಮುಂದುವರಿಸಬಹುದು; ಕಂಡುಬರುವ ಏಕೈಕ ವ್ಯತ್ಯಾಸವೆಂದರೆ ವೇಗ ಮಾತ್ರ. ಪಬ್ಲಿಕ್ API ಬದಲಾಗದ ಕಾರಣ, ಮೈಗ್ರೇಶನ್ ಪ್ರಕ್ರಿಯೆಯು ಯಾವುದೇ ತೊಂದರೆಯಿಲ್ಲದಂತೆ ಇರುತ್ತದೆ.
ಈಗ ಇದನ್ನು ಹೇಗೆ ಪ್ರಯತ್ನಿಸುವುದು
ಈ ಪರಿವರ್ತನೆಯು ಹಂತ ಹಂತವಾಗಿ ನಡೆಯುತ್ತಿದೆ. ಪ್ರಸ್ತುತ v11 ಆವೃತ್ತಿಯಲ್ಲಿ, ಅಭಿವೃದ್ಧಿಪಡಿಸುವವರು “pacquet” backend flag ಅನ್ನು ಎನೇಬಲ್ ಮಾಡುವ ಮೂಲಕ ಪ್ರಯೋಗಾತ್ಮಕ Rust backend ಅನ್ನು ಬಳಸಬಹುದು. v12 ರಲ್ಲಿ, ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಪಡೆಯಲು ಮತ್ತು ಅವುಗಳನ್ನು ವರ್ಕ್ಸ್ಪೇಸ್ಗೆ ಲಿಂಕ್ ಮಾಡಲು Rust engine ಡಿಫಾಲ್ಟ್ ಆಗಿರುತ್ತದೆ. ಆಲ್ಫಾ ಬಿಡುಗಡೆಯನ್ನು next-12 ಟ್ಯಾಗ್ ಅಡಿಯಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಗಿದೆ; ಇದನ್ನು ಇನ್ನೂ ಪ್ರೊಡಕ್ಷನ್ ಬಳಕೆಗೆ ಶಿಫಾರಸು ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಆದರೆ ಕುತೂಹಲವಿರುವ ಯಾರೇ ಆದರೂ ಒಂದೇ ಕಮಾಂಡ್ ಮೂಲಕ ಇದನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಿ ಪರೀಕ್ಷಿಸಲು ಪ್ರಾರಂಭಿಸಬಹುದು.
ಅಪಾಯಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳು
ಸ್ವಚ್ಛವಾದ API ಮೇಲ್ಮೈ ಇದ್ದರೂ ಸಹ, ಆಲ್ಫಾ ಬೈನರಿಯು ಸಾಮಾನ್ಯ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ: ಸೀಮಿತ ಪರೀಕ್ಷೆ ಮತ್ತು ಸಂಭವನೀಯ ಎಡ್ಜ್-ಕೇಸ್ ರಿಗ್ರೆಷನ್ಗಳು (edge-case regressions).
ವಿಶಾಲವಾದ ಪ್ರವೃತ್ತಿ
pnpm ನ ಈ ಕ್ರಮವು ಫ್ರಂಟ್-ಎಂಡ್ ಟೂಲಿಂಗ್ನಲ್ಲಿ ಬೆಳೆಯುತ್ತಿರುವ ಪ್ರವೃತ್ತಿಯನ್ನು ಪ್ರತಿಬಿಂಬಿಸುತ್ತದೆ. Biome ಮತ್ತು Oxc ನಂತಹ ಪ್ರಾಜೆಕ್ಟ್ಗಳು ಕೂಡ ಅಭಿವೃದ್ಧಿಪಡಿಸುವವರ ಕೆಲಸದ ವೇಗವನ್ನು ಹೆಚ್ಚಿಸಲು (milliseconds ಉಳಿಸಲು) ಅವುಗಳ ಕೋರ್ ಘಟಕಗಳನ್ನು ಕಂಪೈಲ್ಡ್ ಭಾಷೆಗಳಲ್ಲಿ ಮರುಬರಹ ಮಾಡಿವೆ.
