OpenJDK’s Project Leyden خازنها را برای بهبود زمان راهاندازی، زمان رسیدن به حداکثر عملکرد و ردپای منابع برنامههای جاوا پیادهسازی خواهد کرد.
پروژه لیدن، تلاشی بلندپروازانه برای بهبود زمان راه اندازی، عملکرد و ردپای برنامه های جاوا، قرار است خازن ها را ارائه دهد. خازن کدی است که بین زمان کامپایل و زمان اجرا اجرا می شود و برنامه اصلی را به یک برنامه جدید، سریعتر و بالقوه کوچکتر تبدیل می کند.
در یک مقاله آنلاین منتشر شده در ۱۳ اکتبر، مارک راینهولد معمار ارشد گروه پلتفرم جاوا در Oracle، گفت که زمان راهاندازی و گرم کردن برنامه و ردپای آن را میتوان با تغییر موقت برخی از محاسبات آن به نقطهای یا دیرتر در زمان اجرا یا به عقب به نقطهای زودتر از زمان اجرا بهبود بخشید. عملکرد را میتوان با محدود کردن برخی از محاسبات مربوط به ویژگیهای پویا جاوا، مانند بارگیری کلاس، تعریف مجدد کلاس، و بازتاب، افزایش داد، بنابراین تجزیه و تحلیل کد بهتر و حتی بهینهسازی بیشتر را ممکن میسازد.
Reinhold گفت که پروژه لیدن این تغییر، محدود کردن و بهینه سازی تبدیل ها را به عنوان کندانسور اجرا خواهد کرد. همچنین، ویژگیهای زبان جدید مورد بررسی قرار خواهد گرفت تا به توسعهدهندگان اجازه دهد تا محاسبات خود را تغییر دهند و تراکم بیشتر را ممکن میسازد. با این حال، مشخصات پلتفرم جاوا برای پشتیبانی از این تحولات باید تکامل یابد. ابزارها و قالبهای JDK برای مصنوعات کد مانند فایلهای JAR نیز باید برای پشتیبانی از خازنها گسترش داده شوند.
Reinhold گفت: مدل تراکم انعطاف پذیری بیشتری را به توسعه دهندگان ارائه می دهد. توسعهدهندگان میتوانند انتخاب کنند که چه خازنهایی را اعمال کنند و با انجام این کار، محدودیتهایی را که پویایی طبیعی جاوا را محدود میکند، بپذیرند یا خیر. مدل تراکم همچنین به پیاده سازی های جاوا آزادی قابل توجهی می دهد. تا زمانی که یک خازن معنای برنامه را حفظ کند و محدودیت هایی به جز موارد پذیرفته شده توسط توسعه دهنده اعمال نکند، یک پیاده سازی برای بهینه سازی نتیجه، عرض جغرافیایی وسیعی خواهد داشت.
Reinhold گفت: برای بهبود زمان راهاندازی و گرم کردن، میتوان با شناسایی محاسباتی که به سادگی حذف میشوند، بهترین کار را انجام داد. در صورت عدم موفقیت، محاسبات را می توان در زمان به عقب یا جلو منتقل کرد. این مفهوم تغییر محاسبات در زمان جدید نیست. پیاده سازی های جاوا در حال حاضر دارای ویژگی های زیادی برای تغییر محاسبات هستند. برای مثال، تا کردن ثابت زمان کامپایل، محاسبات را از زمان اجرا به زمان کامپایل به عقب در زمان تغییر میدهد، و جمعآوری زباله، احیای حافظه را در زمان به جلو تغییر میدهد. سایر مکانیسمهای تغییر محاسبات اختیاری هستند، از جمله محاسبات پیش از موعد و اشتراک گذاری داده های کلاس.
پروژه لیدن بیش از دو سال مورد بحث قرار گرفت تا اینکه در اوایل سال جاری شروع به حرکت کرد. این پروژه توسط ماشین مجازی HotSpot و گروه های کتابخانه های هسته در دامنه توسعه جاوا حمایت می شود.
پست های مرتبط
خازن ها وعده سرعت بخشیدن به برنامه های جاوا را می دهند
خازن ها وعده سرعت بخشیدن به برنامه های جاوا را می دهند
خازن ها وعده سرعت بخشیدن به برنامه های جاوا را می دهند