هلزبرگ امروز از پیادهسازی کامپایلر تایپاسکریپت به طور native و دستیابی به بهبود ۱۰ برابری سرعت گفت...
هلزبرگ امروز از پیادهسازی کامپایلر تایپاسکریپت به طور native و دستیابی به بهبود ۱۰ برابری سرعت گفت...
هلزبرگ: خالق دلفی، سیشارپ، و تایپاسکریپت، معمار ارشد، و technical fellow در مایکروسافت
مشکل اصلی: جاوااسکریپت دیگه جوابگو نیست!
تایپاسکریپت از اول با خود جاوااسکریپت پیادهسازی شده، ولی این باعث مشکلاتی مثل:
*️⃣کندی و مصرف زیاد حافظه توی پروژههای بزرگ
*️⃣بهینه نبودن برای پردازشهای سنگین (جاوااسکریپت برای UI و مرورگر ساخته شده، نه کامپایلرها)
*️⃣مشکل مدیریت حافظه و محدودیتهای پردازشی
راهحل هلزبرگ و تیمش: پورت کردن کامپایلر به زبان Go!!! (و چرا سیشارپ یا راست، نه؟!)
تصمیمشون: نه به بازنویسی، فقط پورت کردن!
کل کدهای تایپاسکریپت خط به خط به Go منتقل میشه.
حالا چرا Go؟ چون:
اولش با زبونهای مختلف PoC کردن ولی به این نتیجه رسیدن که برای این ورکلود و این کار گو بهتره.
*️⃣سرعت اجرای بالایی داره
*️⃣حافظه رو بهتر مدیریت میکنه
*️⃣پشتیبانی قوی از پردازش موازی داره
⚡️نتایج اولیه: یه کامپایلر ۱۰ برابر سریعتر!
کامپایلر جدید یه پروژه ۱.۵ میلیون خطی رو به جای ۶۰ ثانیه در ۵ ثانیه کامپایل میکنه! 🚀
در تستها حتی پردازشهای موازی باعث افزایش ۸ برابری سرعت شدن.
ویژگیهای جدید و آینده تایپاسکریپت در Go
✅ اجرای سریعتر کامپایلر
✅ پشتیبانی از پردازش همزمان (Concurrency)
✅ سازگاری کامل با کدهای قبلی
✅ پشتیبانی از هوش مصنوعی برای تحلیل و پیشنهادهای بهتر در کدنویسی
لینک منبع
درس: طرف خالق سیشارپه، ولی میفهمه و میدونه مسئلهاش چیه و با مهندسی به راهکار درست میرسه، نه چیزی که شاید دلش بخواد یا بهش بایاس باشه ♻️♻️