TypeScript 7 ಈ ವಾರ Go ಭಾಷೆಯಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಮರುಬರಹದೊಂದಿಗೆ (rewrite) ಬಿಡುಗಡೆಯಾಗಿದೆ, ಇದು VS Code ಗಾಗಿ ಕಾಂಪೈಲೇಶನ್ ಸಮಯವನ್ನು 17.5 ಸೆಕೆಂಡುಗಳಿಂದ 1.3 ಸೆಕೆಂಡ್‌ಗಿಂತ ಕಡಿಮೆ ಮಾಡಿದೆ ಮತ್ತು ದೊಡ್ಡ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳಲ್ಲಿ ಮೆಮೊರಿ ಬಳಕೆಯನ್ನು 26% ವರೆಗೆ ಕಡಿಮೆ ಮಾಡಿದೆ. ಈ ವೇಗದ ಹೆಚ್ಚಳವು ದೈನಂದಿನ ಕೋಡಿಂಗ್ ಅನ್ನು ತಕ್ಷಣವೇ ನಡೆಯುವಂತೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಇದು ಡೆವಲಪರ್‌ಗಳ ಸಮಯವನ್ನು ಗಂಟೆಗಟ್ಟಲೆ ಉಳಿಸುತ್ತದೆ.

Go ನಲ್ಲಿ ಮರುಬರಹ ಮಾಡುವುದು ಏಕೆ ಮುಖ್ಯ

Microsoft ದೀರ್ಘಕಾಲದ JavaScript/Node ಅನುಷ್ಠಾನವನ್ನು ಬದಲಾಯಿಸಿ, ಕಾಂಪೈಲರ್ ಅನ್ನು Go ನಲ್ಲಿ ಮರುನಿರ್ಮಿಸಿದೆ. ಪ್ರಾಜೆಕ್ಟ್‌ಗಳು ಬೆಳೆದಂತೆ ಮೂಲ ಕೋಡ್‌ಬೇಸ್ ಮಿತಿಗಳನ್ನು ತಲುಪಿತು—parsing ಮತ್ತು type-checking ಪ್ರಕ್ರಿಯೆಗಳು ಸೀಮಿತ CPU ಮತ್ತು RAM ಹೊಂದಿರುವ CI runners ಅನ್ನು ನಿಧಾನಗೊಳಿಸಿದವು. ಬಿಲ್ಟ್-ಇನ್ concurrency ಹೊಂದಿರುವ compiled language ಗೆ ಬದಲಾಗುವ ಮೂಲಕ, ಹೊಸ ಇಂಜಿನ್ parsing ಮತ್ತು type-checking ಅನ್ನು ಸಮಾಂತರವಾಗಿ (parallel) ನಡೆಸುತ್ತದೆ, ಇದರಿಂದ ಮೊದಲ ದೋಷಕ್ಕಾಗಿ (error) ಕಾಯುವ ಸಮಯ ಗಣನೀಯವಾಗಿ ಕಡಿಮೆಯಾಗುತ್ತದೆ.

ನೈಜ-ಪ್ರಪಂಚದ ಕಾರ್ಯಕ್ಷಮತೆಯ ಲಾಭಗಳು

ಕೆಲವು ಪ್ರಮುಖ ಕೋಡ್‌ಬೇಸ್‌ಗಳಿಂದ ಬಂದ ಆರಂಭಿಕ ಬೆಂಚ್‌ಮಾರ್ಕ್‌ಗಳು ಇದರ ಪರಿಣಾಮವನ್ನು ತೋರಿಸುತ್ತವೆ:

  • VS Code: 11.9 × ವೇಗವಾದ ಕಾಂಪೈಲೇಶನ್, 18 % ಕಡಿಮೆ ಮೆಮೊರಿ ಬಳಕೆ.
  • Sentry, Bluesky, Playwright, Tldraw: 7.7 × ನಿಂದ 8.9 × ವರೆಗೆ ವೇಗ ಹೆಚ್ಚಳ.
  • Bluesky ನಲ್ಲಿ ಮೆಮೊರಿ ಬಳಕೆಯಲ್ಲಿ 26 % ಇಳಿಕೆಯೂ ಕಂಡುಬಂದಿದೆ.

ದಿನಕ್ಕೆ ಡಜನ್‌ಗಟ್ಟಲೆ ಬಾರಿ “run” ಅಥವಾ “watch” ಬಳಸುವ ಡೆವಲಪರ್‌ಗಳು ಹೆಚ್ಚು ಸುಗಮವಾದ ಎಡಿಟಿಂಗ್ ಮತ್ತು ಕಡಿಮೆ CI ಲೋಡ್ ಅನ್ನು ಗಮನಿಸುತ್ತಾರೆ.

ಹೊಸ ಫ್ಲಾಗ್‌ಗಳು ನಿಮಗೆ ನಿಯಂತ್ರಣ ನೀಡುತ್ತವೆ

ಈ ಮರುಬರಹವು ಕಮಾಂಡ್-ಲೈನ್ ಆಯ್ಕೆಗಳೊಂದಿಗೆ (command-line options) ಬಂದಿದ್ದು, ಇದು ತಂಡಗಳು ವೇಗ ಮತ್ತು ಮೆಮೊರಿ ನಡುವೆ ಸಮತೋಲನ ಕಾಯ್ದುಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ:

  • --checkers ಮತ್ತು --builders parsing ಮತ್ತು type-checking ವರ್ಕರ್ಸ್‌ಗಳನ್ನು ಸೈಡ್-ಬೈ-ಸೈಡ್ ಪ್ರಾರಂಭಿಸಿ, ಮಲ್ಟಿಕೋರ್ CPUಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತವೆ.
  • --singleThreaded ಎಲ್ಲಾ ಕೆಲಸವನ್ನು ಒಂದೇ ಥ್ರೆಡ್‌ಗೆ ಕಡ್ಡಾಯಗೊಳಿಸುತ್ತದೆ, ಇದರಿಂದ race condition ಉಂಟಾದಾಗ ಡೆಬಗ್ ಮಾಡುವುದು ಸುಲಭವಾಗುತ್ತದೆ.
  • type-checking ವರ್ಕರ್ಸ್ ಮತ್ತು builder ವರ್ಕರ್ಸ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸ್ಕೇಲ್ ಮಾಡುವುದರಿಂದ, CI ಪೈಪ್‌ಲೈನ್‌ಗಳು ಪ್ರತಿ ಹಂತಕ್ಕೂ ಅಗತ್ಯವಿರುವಷ್ಟು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಮಾತ್ರ ಹಂಚಿಕೆ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.
  • ನವೀಕರಿಸಲಾದ --watch ಮೋಡ್ Parcel ನ Go-ಆಧಾರಿತ ಪೋರ್ಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಬೃಹತ್ node_modules ಟ್ರೀಗಳ ದುಬಾರಿ polling ಅನ್ನು ತಪ್ಪಿಸುತ್ತದೆ ಮತ್ತು ಫೈಲ್-ಬದಲಾವಣೆ ಪತ್ತೆಹಚ್ಚುವಿಕೆಯನ್ನು (file-change detection) ಲಘುವಾಗಿಡುತ್ತದೆ.

ಯಾರು ಲಾಭ ಪಡೆಯುತ್ತಾರೆ ಮತ್ತು ಯಾರು ಹಿಂಜರಿಯಬಹುದು

TypeScript ಮೇಲೆ ಹೆಚ್ಚು ಅವಲಂಬಿತವಾಗಿರುವ ಫ್ರಂಟ್-ಎಂಡ್ ಫ್ರೇಮ್‌ವರ್ಕ್‌ಗಳು—ಉದಾಹರಣೆಗೆ Next.js ಮತ್ತು Nuxt—ವೇಗವಾದ ರೀಬಿಲ್ಡ್‌ಗಳು ಮತ್ತು ಉತ್ತಮ ಫೀಡ್‌ಬ್ಯಾಕ್ ಲೂಪ್‌ಗಳಿಂದ ಪ್ರಯೋಜನ ಪಡೆಯುತ್ತವೆ. VS Code ಮತ್ತು Cursor ನಂತಹ IDEಗಳು ಹೆಚ್ಚು ಸ್ಪಂದಿಸುವಂತೆ (responsive) ಕಾಣುತ್ತವೆ, ಇದು ಡೆವಲಪರ್‌ಗಳು ಟರ್ಮಿನಲ್ ಬಿಲ್ಡ್‌ಗಳಿಗೆ ಬದಲಾಗುವ ಬದಲು ಎಡಿಟರ್‌ನಲ್ಲಿ ಹೆಚ್ಚು ಸಮಯ ಕಳೆಯಲು ಪ್ರೇರೇಪಿಸುತ್ತದೆ.

ಮುಂದೆ ಏನನ್ನು ಗಮನಿಸಬೇಕು

  • ದೊಡ್ಡ ಓಪನ್-ಸೋರ್ಸ್ ಪ್ರಾಜೆಕ್ಟ್‌ಗಳು ಮತ್ತು ಎಂಟರ್‌ಪ್ರೈಸ್ ಮೊನೊರೆಪೊಗಳಲ್ಲಿ (monorepos) ಇದರ ಅಳವಡಿಕೆಯ ದರಗಳು.
  • ಸ್ಥಿರತೆ (stability) ಮತ್ತು ಯಾವುದೇ ಅಡಗಿರುವ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕುಸಿತಗಳ (performance cliffs) ಬಗ್ಗೆ ಸಮುದಾಯದ ಪ್ರತಿಕ್ರಿಯೆ.
  • ಕಾಂಪೈಲ್ ಸಮಯವನ್ನು ಮತ್ತಷ್ಟು ಕಡಿಮೆ ಮಾಡಲು ಅಥವಾ ದೋಷಗಳ ರೋಗನಿರ್ಣಯವನ್ನು (error diagnostics) ಸುಧಾರಿಸಲು ಕಾಂಪೈಲರ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸೇರಿಸುವ Microsoft ಅಪ್‌ಡೇಟ್‌ಗಳು.