آیا فایرفاکس با SpiderMonkey وب را متحول خواهد کرد ؟

کی از مواردی که اپل بسیار به آن افتخار می کرد، سرعت بالای مرورگر سافاری در اجرا کردن اپلیکیشن هایی بود که از جاوا اسکریپت استفاده می کردند. به احتمال زیاد در سایت apple در بخش دانلود این تصویر را دیده اید.

همانطور که می دانید، تمامی اپلیکیشن های وب 2.0 به طور گسترده از جاوااسکریپت استفاده می کنند. هر چقدر سرعت اجرا شدن جاوا اسکریپت بالاتر باشد، کاربر با سهولت و سرعت بیشتری می تواند از سایت استفاده کند. در حال حاضر سریعترین موتور جاوااسکریپت متعلق به safari نسخه 3.1 است. به تازگی تیم توسعه مرورگر سافاری کار بر روی موتور رندر جدیدی به نام SquirrelFish کار می کند که سرعتی به مراتب بالاتر از موتور جاوااسکریپت حال حاضر safari دارد. مقایسه سرعت این موتور جدید را با موتور رندر موجود در نسخه 3.1 را می توانید در این آدرس ببینید.

تیم mozilla firefox هم بی کار ننشسته. اخیرا تیم موزیلا فایرفاکس بر روی موتور رندر جاوااسکریپت جدید به نام SpiderMonkey کار می کنند که از نظر سرعت به مراتب سریعتر از موتور javascript حال حاضر است. این موتور جدید حتی از squirrelFish نیز سریعتر بوده و قرار است همراه با نسخه فایرفاکس 3.1 عرضه گردد.

در وبلاگ جان رسیگ ، یکی از حرفه ای های جاوا اسکریپت بنیاد موزیلا و خالق jQuery ، مطلبی در مورد SpiderMonkey نوشته شده که بخش هایی از آن نوشته را در اینجا می آورم.

در حال حاضر فعالان بخش جاوااسکریپت موزیلا، افرادی همچون Andreas Gal, Brendan Eich, Dave Anderson, Mike Shaver, بر روی این پروژه کار می کنند و هدف این تیم اضافه کردن تکنیکی به نام trace trees را به موتور جاوااسکریپت فایرفاکس اضافه کنند که در صورت انجام این کار، سرعت رندر شدن فایل های جاوا اسکریپت همانند کدهای کامپایل شده، به صورت تقریبا آنی انجام خواهد گرفت.

موتور SpiderMonkey  در حال حاضر با اسم رمز Tracemonkey نامیده می شود. یک نمونه از تست هایی که از این موتور جدید گرفته شده است را می توانید در این تصویر ببینید. برای دیدن تصویر در سایز بزرگتر بر روی تصویر کلیک کنید.

برای دیدن بقیه تصاویر می توانید به این پست وبلاگ brendan eich (خالق جاوااسکریپت) مراجعه کنید.

تست ها نشان می دهد که این موتور رندر javascript جدید بسیار سریعتر از نسخه حال حاضر است. نتیجه تعدادی از تست ها به این شکل بوده است

  • در تست SunSpider این موتور 1.83 بار سریعتر است
  • در تست SunSpider ubench که توسط تیم سافاری برای تست squirrel طراحی شده که در این تست نیز این موتور 22.5 بار سریعتر از موتور فعلی است
  • در تست Image Manipulation Demo که در آن کنتراست و روشنایی تصویر با جاوا اسکریپت تغییر می کند 6.46 بار سریعتر است.
  • در تست Matrix Manipulation نیز این موتور 6.26 بار سریعتر است.

اگر شما می خواهید شخصا این موتور رندر جدید را امتحان کنید باید نسخه نسخه nightly مرورگر Firefox 3.1 را نصب کنید. در نوار آدرس about:config و سپس این خط را پیدا کنید:
javascript.options.jit.content
و مقدار آن را معادل true قرار دهید و مرورگر خود را restart کنید. حال می توانید قابلیت این موتور رندر جدید را شخصا امتحان کنید. نکته جالب توجه اینجاست که این موتور رندر جدید محدود به دسکتاپ نمی شود و ابزار هایی مثل گوشی های موبایل نیز می توانند از آن استفاده کنند.

کدهای این پروژه از منابع مختلفی جمع آوری شده است. بخش اعظم کد این پروژه توسط شرکت adobe در اختیار mozilla قرار گرفته است.پروژه tarmin توسط adobe ایجاد شده و بر روی آن کار می شود.

تیم موزیلا از حدود 3 ماه قبل کار بر روی این پروژه را آغاز کرده و سعی دارد تکنولوژی nanojit که از tarmin شرکت abode به دست آمده را به SpiderMonkey اضافه کند. کد کامل این پروژه را میتوانید در اینجا بیابید. در حال حاضر این تکنولوژی بر روی متد های DOM کار نمی کند ولی به زودی این مشکل برطرف می شود و نه تنها محاسبات ریاضی سرعت می گیرد بلکه ویرایش اجزای صفحه با جاوا اسکریپت (DOM manipulation) نیز بسیار سریعتر خواهد شد.

تحقق این امر بدان معنی است که دیگر جاوااسکریپت آن زبان محدود گذشته نیست و با این تحول جدید این زبان قدرتی معادل زبان برنامه نویسی C پیدا خواهد کرد. در آینده با استفاده از این قابلیت جدید برنامه هایی نوشته خواهند شد که سنگین ترین معادلات را بر روی تصاویر و اجزای داخل DOM انجام خواهند داد.  به نظر می رسد با انتشار firefox 3.1 تحول بزرگی در وب به وجود خواهد آمد.

منیع

Advertisements

, ,

  1. بیان دیدگاه

پاسخی بگذارید

در پایین مشخصات خود را پر کنید یا برای ورود روی شمایل‌ها کلیک نمایید:

نشان‌وارهٔ وردپرس.کام

شما در حال بیان دیدگاه با حساب کاربری WordPress.com خود هستید. بیرون رفتن / تغییر دادن )

تصویر توییتر

شما در حال بیان دیدگاه با حساب کاربری Twitter خود هستید. بیرون رفتن / تغییر دادن )

عکس فیسبوک

شما در حال بیان دیدگاه با حساب کاربری Facebook خود هستید. بیرون رفتن / تغییر دادن )

عکس گوگل+

شما در حال بیان دیدگاه با حساب کاربری Google+ خود هستید. بیرون رفتن / تغییر دادن )

درحال اتصال به %s

%d وب‌نوشت‌نویس این را دوست دارند: