TurboFanکامپایلری برای ارتقای سطح کارایی جاوا اسکریپت
اولین بار تقریباً یک سال پیش، استفاده از این نسخه در مرورگر کرومیوم دیده شد. پس از آن،از این نسخه به عنوان بخشی اساسی درموتور متنباز جاوا اسکریپت V8 استفاده میشود که همراه با مرورگر گوگل کروم عرضه میگردد. این موتور باکامپایل کردن جاوا اسکریپت به زبان محلی ماشین قبل ازاجرا به جای اجرای بایت کد یا سپردن آن به مفسرکارایی را افزایش میدهد.
در مورد عملکرد این کامپایلر باید اشاره کرد که طراحی این نسخه به گونهای است که در کار با کدهایی به زبان asm.jsبهتر از کامپایلرهای قبلی بهتر عمل میکند.در واقع asm.js یک زبان برنامه نویسی میانی شامل زیر مجموعهی سختگیرانه ای از زبان جاوا اسکریپت است .asm.js بهبودکارایی چشمگیر یرابرای برنامههای وبی که با زبانهای دارای مدیریت حافظهی دستی (مانند سی) نوشته شدهاند و سپس با مترجم مبدا به مبدا به جاوا اسکریپت تبدیل میشوند، فراهم میکند.
این کامپایلر نسبت به نسخههای قبلی با استفاده از تکنولوژیهای جدید، وظیفهی بهینهسازی را بهتر انجام میدهد .بهینه سازی از مهمترین وظایف یک کامپایلر است که معمولا ًبعد از تولید کد میانی آغاز میشود. همیشه هنگام کامپایل یک برنامه برای پخش نهایی از بهینهسازی استفاده میشود. هر چند گاهی اوقات بهینه سازی مانع اصلی بعضی اهداف است و باید کنار گذاشته شود. علاوه بر این بررسی منطق و خطایابی یک کد بهینه شده دشوارتر و شاید غیرممکن باشد؛ چراکه به عنوان مثال به منظور بهینهسازی، بسیاری از کدها حین کامپایل ممکن است جابجا شده باشند یا اصل ساختار آنها عوض شده باشد.
علاوه بر این، این نسخه از بهینهسازیهای پویا و انعطافپذیر پشتیبانی میکند و از قابلیت توسعه و پشتیبانی بهتری برخوردار است. در واقع این کامپایلر به هدف ارتقای سرعت طراحی و توسعه داده شده است؛ اما در طراحی آن ویژگیهای جدیدی هم تعبیه شده است.
از زمانی که شرکت گوگل از این نسخهی کامپایلر استفاده کرده است، نتایج مثبتی برای این شرکت به ارمغان آمده است. از جملهی این نکات مثبت میتوان به افزایش 29 درصدی در کارایی کتابخانهی نرمافزاری zlib برای فشردهسازی دادهها اشاره کرد. این کتابخانهی نرمافزاری به عنوان بخشی اساسی از پلتفرمهای نرمافزاری شناخته شده است.
گروه توسعهدهندهی این کامپایلر اشاره میکنند که در ماههای آینده قصد توسعهی این کامپایلر را دارند به طوری که از موتورهای جاوااسکریپت دیگری هم پشتیبانی کند و کامپایلرهای فعلی دیگر را هم به کل با این نسخه جایگزین کنند.
ثبت نظر