ارتقای تازهای از زمان اجرا چند زبانه توسعهیافته توسط اوراکل دارای پیشرفتهایی برای Ruby، WebAssembly، جاوا و پایتون است.
با نسخه تازه منتشر شده ۲۲.۰ زمان اجرای چند زبانه GraalVM توسعه یافته توسط Oracle، هدف توسعه دهندگان پروژه منبع باز بهبود تجربه توسعه دهنده بود.
در ۲۴ ژانویه برای JDK 11 و JDK 17 منتشر شد، آخرین نسخههای پشتیبانی طولانیمدت جاوا استاندارد، GraalVM 22.0 Community Edition میتوانند از GitHub دانلود شده است. بیلدهای سازمانی GraalVM 22.0 از Oracle موجود است.
تمرکز اصلی انتشار، فناوری Native Image GraalVM است که کد جاوا را پیش از موعد در فایلهای اجرایی مستقل و با پشتیبانی از چندین زبان برنامهنویسی کامپایل میکند. برای تسهیل زندگی برای توسعه دهندگان، توسعه دهندگان GraalVM برای کاهش زمان ساخت تصویر و استفاده از حافظه در چند نسخه اخیر تلاش کرده اند.
در GraalVM 22.0، تغییراتی برای کاهش اندازه تصویر، با استفاده از یک روش رمزگذاری فشردهتر برای ابردادههای قاب پشتهای برای کاهش اندازه همه تصاویر ایجاد شد. در نسخه GraalVM Enterprise، پیادهسازی بهینه String.format()
از این هم فراتر میرود و این امکان را فراهم میکند که کلاسهای محلیسازی غیرقابل دسترس برای کاهش قابل توجه اندازه تصویر باشد.
GraalVM 22.0 همچنین ساختار را تغییر میدهد. خروجی برای Native Image، که اکنون فرآیند ساخت را به مراحل تقسیم میکند و مرحله فعلی را تجسم میکند و خرابیهای کد و پشته و آمار ساخت را نشان میدهد. علاوه بر این، فناوری Native Build Tools برای GraalVM با پیشرفتهایی مجهز شد مانند ادغام بهتر با عامل بومی.
GraalVM 22.0 همچنین نحوه برخورد کامپایلر با اطلاعات پروفایل را تغییر می دهد. کامپایلر که به عنوان یک کامپایلر بهینهسازی JIT طراحی شده است، میتواند به حالت AOT (پیش از موعد) تغییر کند، جایی که بهینهسازیهای اصلی میتوانند حتی در غیاب پروفایلها کار معقولی را انجام دهند. این به زبانهای ترافل در مواردی که نمایه نیست کمک میکند الگوها داغ میشوند و در Native Image بدون بهینهسازی هدایتشده توسط نمایه.
بهبودهای دیگر در GraalVM 22.0:
- برای جاوا و کامپایلر، یک بهینهسازی چرخش حلقه جدید، حلقههای شمارشنشده را به حلقههای شمارش شده تبدیل میکند تا از بهینهسازیهایی مانند برداری و بازگشایی جزئی بهره ببرند. این بهینه سازی به طور پیش فرض غیرفعال است.
- در نسخه Enterprise، ایزولههای چند زبانه و سایر ویژگیها، جداسازی پشتهای را بین برنامههای میزبان و مهمان فعال میکنند. ایزولهها زمان راهاندازی، امنیت و گرم کردن زبانهای Truffle را بهبود میبخشند.
- حالت ECMAScript 2022 به طور پیش فرض فعال است.
- Auxiliary Engine Caching در JavaScript و Node. js در حالت بومی گرم شدن برنامه ها را حذف می کند. گرم کردن از عملیاتی مانند بارگیری و تجزیه حاصل می شود.
- اکنون زمان اجرا WebAssembly از Truffle Frame API استفاده می کند.
- سازندگان GraalVM برای Python به کار بر روی سازگاری زمان اجرا GraalVM Python و گسترش پشتیبانی ماژول، با اضافه شدن پشتیبانی برای ماژولهای
pyexpat
و_csv
ادامه میدهند. - Ruby 3.0 اضافه شد. همچنین، تفسیر روبی سریعتر است.
پشتیبانی
پست های مرتبط
GraalVM 22.0 یک تجربه توسعه دهنده بهتر را نوید می دهد
GraalVM 22.0 یک تجربه توسعه دهنده بهتر را نوید می دهد
GraalVM 22.0 یک تجربه توسعه دهنده بهتر را نوید می دهد