TypeScript 7 اس ہفتے Go میں مکمل ری رائٹ کے ساتھ لانچ ہوا، جس نے VS Code کے لیے کمپائلیشن کے وقت کو 17.5 سیکنڈ سے کم کر کے 1.3 سیکنڈ سے بھی نیچے لا دیا ہے اور بڑے پروجیکٹس میں میموری کے استعمال کو 26% تک کم کر دیا ہے۔ رفتار میں یہ اضافہ روزمرہ کی کوڈنگ کو فوری محسوس کرواتا ہے، اور اس سے بچنے والا وقت پورے اسٹیک میں ڈویلپرز کے گھنٹوں بچا سکتا ہے۔
Go میں ری رائٹ کیوں اہم ہے
Microsoft نے پرانے JavaScript/Node امپلیمنٹیشن کو تبدیل کرتے ہوئے کمپائلر کو Go میں دوبارہ بنایا ہے۔ جیسے جیسے پروجیکٹس بڑھے، اصل کوڈ بیس ایک حد تک پہنچ گئی تھی—پارسنگ اور ٹائپ چیکنگ نے ان CI رنرز کی رفتار کم کر دی تھی جن کے پاس محدود CPU اور RAM ہوتی ہے۔ بلٹ ان کنکرنسی کے ساتھ ایک کمپائلڈ زبان پر منتقل ہو کر، نیا انجن پارسنگ اور ٹائپ چیکنگ کو متوازی طور پر چلاتا ہے، جس سے پہلے ایرر کے انتظار کے وقت میں نمایاں کمی آتی ہے۔
حقیقی دنیا میں کارکردگی کے فوائد
چند بڑے کوڈ بیسز کے ابتدائی بینچ مارکس اس اثر کو واضح کرتے ہیں:
- VS Code: 11.9 × تیز تر کمپائلیشن، 18% کم میموری فٹ پرنٹ۔
- Sentry, Bluesky, Playwright, Tldraw: 7.7 × سے 8.9 × تک کی رفتار میں اضافہ۔
- Bluesky میں میموری کے استعمال میں بھی 26% کمی دیکھی گئی ہے۔
وہ ڈویلپرز جو دن میں درجنوں بار "run" یا "watch" کا بٹن دباتے ہیں، وہ زیادہ ہموار ایڈیٹنگ اور ہلکے CI لوڈز محسوس کرتے ہیں۔
نئے فلیگز آپ کو کنٹرول دیتے ہیں
یہ ری رائٹ کمانڈ لائن آپشنز کے ساتھ آتا ہے جو ٹیموں کو رفتار اور میموری کے درمیان توازن برقرار رکھنے کی اجازت دیتے ہیں:
--checkersاور--buildersپارسنگ اور ٹائپ چیکنگ ورکرز کو ساتھ ساتھ شروع کرتے ہیں، جس سے ملٹی کور CPUs کا بھرپور استعمال ہوتا ہے۔--singleThreadedتمام کام کو ایک ہی تھریڈ پر مجبور کرتا ہے، جس سے ریس کنڈیشن (race condition) ظاہر ہونے کی صورت میں ڈی بگنگ کو دوبارہ دہرانا ممکن ہو جاتا ہے۔- ٹائپ چیکنگ ورکرز اور بلڈر ورکرز کی الگ الگ اسکیلنگ CI پائپ لائنز کو ہر مرحلے کے لیے ضرورت کے مطابق وسائل مختص کرنے کی اجازت دیتی ہے۔
- نئے ورژن کا
--watchموڈ Parcel کا Go پر مبنی پورٹ استعمال کرتا ہے، جو بڑےnode_modulesٹریز کی مہنگی پولنگ کو ختم کرتا ہے اور فائل تبدیلیوں کی شناخت کو ہلکا پھلکا رکھتا ہے۔
کون فائدہ اٹھائے گا، اور کون ہچکچاہٹ کا شکار ہو سکتا ہے
فرنٹ اینڈ فریم ورکس جو TypeScript پر بہت زیادہ انحصار کرتے ہیں—جیسے Next.js اور Nuxt—انہیں تیز تر ری بلڈز اور بہتر فیڈ بیک لوپس کا فائدہ ہوگا۔ VS Code اور Cursor جیسے IDEs زیادہ ریسپونسو محسوس ہوتے ہیں، جو ڈویلپرز کو ٹرمینل بلڈز پر منتقل ہونے کے بجائے ایڈیٹر میں زیادہ دیر تک رہنے کی ترغیب دیتے ہیں۔
آگے کیا دیکھنا ہے
- بڑے اوپن سورس پروجیکٹس اور انٹرپرائز مونو ریپوز (monorepos) میں اسے اپنانے کی شرح۔
- استحکام اور کارکردگی میں کسی بھی چھپے ہوئے اتار چڑھاؤ پر کمیونٹی کا فیڈ بیک۔
- Microsoft کی اپ ڈیٹس جو کمپائل ٹائم کو مزید کم کرنے یا ایرر ڈائیگنوسٹکس کو بہتر بنانے کے لیے کمپائلر فیچرز شامل کرتی ہیں۔
