انواع
تبدیلات بهینه سازی:
۱.
حذف
زیر عبارت مشترک:
افزایش
سرعت و کاهش حجم برنامه
۲.
انتشار
کپی:
تاثیری
در حجم یا سرعت ندارد ولی برای انجام باقی
موارد فایده دارد.
۳.
حذف
کد مرده :
افزایش
سرعت و کاهش حجم برنامه
۴.حذف
کد غیر قابل دسترس:
تاثیری
در سرعت ندارد و کاهش حجم برنامه
۵.
جایگذاری
ثابت Constant
folding : افزایش
سرعت و کاهش حجم برنامه
۶.
بازکردن
حلقه :
افزایش
سرعت و افزایش حجم برنامه
۷.
کشیدن
به چپ و راست:
در
جملات شرطی کاربرد دارد.
تغییری
در سرعت ندارد اما حجم کم میشود.
۸.
جانشینی
رو به عقب:
سرعت
افزایش پیدا میکند اما حجم معلوم نیست(معمولا
باعث افزایش میشود)
۹.
کاهش
پیچیدگی :
افزایش
سرعت و تاثیری در حجم ندارد
۱۰.
انتقال
کد:
افزایش
سرعت و تاثیری در حجم ندارد.
۱۱.
استفاده
از همانی جبری(زیر
مجموعه کاهش پیچیدگی است.)
۱۲.
حذف
متغیرهای استقرایی:
سرعت
را افزایش میدهد و تاثیری در حجم ندارد.
در
کامپایلر از روشهای نمایش کد میانی control
flow graph(intermediate). Interference graph. Abstract syntax tree و
directed
acyclic graph استفاده
میشود
بیشترین
اصرار به بهینه سازی برروی حلقه هاست.
چیزهایی
که باید از کتاب خوانده شود:
کل
تبدیلات بهینه سازی.
تحلیل
جریان داده و تحلیل جریان کنترل.
هیچ نظری موجود نیست:
ارسال یک نظر