طرح پیش نویس OpenJDK باعث کاهش تکه تکه شدن در حافظه پنهان کد JVM و کاهش زمان اجرای برنامه می شود.
برای کاهش زمان اجرای برنامه، حافظه پنهان کد تقسیمبندی شده جاوا با یک پشته کد «داغ» اختیاری گسترش مییابد تا به طور فشرده بخشی از روشهای غیرپروفایل را در یک پیشنهاد بهبود پیش نویس JDK اکنون در جامعه OpenJDK شناور است. یکی دیگر از معیارهای موفقیت این طرح، کاهش تکه تکه شدن کدهای بسیار بهینه شده در حافظه پنهان کد است.
با گسترش مکانیسم کنترل کامپایلر جاوا برای علامتگذاری برخی روشها بهعنوان داغ بهمنظور کامپایل کردن آنها در پشته کد داغ، این پیشنهاد کدهایی را که به عنوان داغ شناخته میشوند جدا میکند، تکه تکه شدن کد انتخابی را کاهش میدهد و تأثیر منفی کامپایل را کاهش میدهد. پراکندگی کد داغ در عملکرد برنامه های جاوا. همچنین میتواند کنترل وابسته به روش را برای قرار دادن حبابهای کامپایلشده با C2 در پشته کد داغ فراهم کند و مبنایی برای امکان پروفایلسازی و فشردهسازی کد با استفاده از خود ماشین مجازی فراهم کند.
پیشنهاد پشته کد داغ بر اساس پیشنهادهای قدیمیتر برای کش کد بخشبندی شده و کنترل کامپایلر. هر دو از کیت توسعه جاوا ۹ هستند که در سپتامبر ۲۰۱۷ منتشر شد. انگیزه پیشنهاد جدید مقدمه است که کد داغ پراکنده کندتر است. برخی از برنامه ها ممکن است کارایی خود را به دلیل حافظه پنهان کد JVM از دست بدهند. این امر تحت شرایط خاصی اتفاق میافتد، مانند کامپایل شدن کدهای زیادی با JIT، وجود مقدار زیادی کد داغ، و پراکنده شدن کد داغ در حافظه پنهان کد.
در این پیشنهاد آمده است که CPU خود جریمه هایی را برای اجرای مقادیر زیادی از کدهای پراکنده اعمال می کند. در سیستم هایی که این مشکل قابل توجه است، نمی توان آن را با روش های دیگری مانند صفحات بزرگ حل کرد. درجه کاهش سرعت به مقدار کد داغ، پراکندگی آن کد و نوع پردازنده بستگی دارد.
این پیشنهاد همچنین تاکید میکند که همه کدهای کامپایلشده به طور مکرر فراخوانی نمیشوند و قرار دادن کد داغ با استفاده از اطلاعات نمایه میتواند عملکرد را افزایش دهد. همچنین میتوان خطمشی کامپایل برای کد داغ را برای عملکرد بهتر بهبود بخشید و برای کاهش حافظه پنهان کد، کدهای سردتر را با شدت بیشتری جارو کرد.
پیشنهاد پشته کد داغ برای نسخه خاصی از جاوا تعیین نشده است. نسخه فعلی، JDK 22، هفته گذشته منتشر شد در حالی که JDK 23 در سپتامبر منتشر می شود. JDK 23 یک هدف بالقوه برای پیشنهاد پشته کد داغ خواهد بود، اگرچه این طرح ممکن است به نسخه بعدی منتقل شود.
پست های مرتبط
پیشنهاد پشته کد داغ اجرای جاوا را سرعت می بخشد
پیشنهاد پشته کد داغ اجرای جاوا را سرعت می بخشد
پیشنهاد پشته کد داغ اجرای جاوا را سرعت می بخشد