,、。
เป้าหมายของการปรับแต่งประสิทธิภาพคอมไพเลอร์คือการลดเวลาทำงาน การใช้หน่วยความจำ หรือขนาดโค้ด โดยยังคงความถูกต้องของความหมายของโปรแกรมไว้
、。
การพับค่าคงที่ การกำจัดโค้ดที่ตายแล้ว และการกำจัดนิพจน์ย่อยร่วม คือเทคนิคการปรับแต่งเฉพาะที่แบบดั้งเดิมในขั้นตอนการปรับแต่งฝั่งหน้า
、,。
เทคนิคการปรับแต่งลูปได้แก่ การคลายลูป การทำลูปให้เป็นเวกเตอร์ และการยกโค้ดที่ไม่เปลี่ยนแปลงออกจากลูป ซึ่งช่วยเพิ่มประสิทธิภาพโปรแกรมที่ใช้การคำนวณหนักได้อย่างเห็นได้ชัด
(),,。
การอินไลน์ (Inlining) กำจัดค่าใช้จ่ายการเรียกฟังก์ชัน และสร้างโอกาสในการปรับแต่งเพิ่มเติมข้ามฟังก์ชัน แต่การอินไลน์มากเกินไปจะทำให้โค้ดขยายใหญ่โต
()(),。
คอมไพเลอร์สมัยใหม่ (เช่น LLVM) ใช้การแทนค่ากลางแบบ Static Single Assignment (SSA) ซึ่งทำให้การวิเคราะห์การไหลของข้อมูลและการวิเคราะห์ความสัมพันธ์มีความแม่นยำและประสิทธิภาพสูงขึ้น
()()。
การปรับแต่งในเวลาลิงก์ (LTO) และการปรับแต่งที่แนะนำโดยโปรไฟล์ (PGO) ใช้มุมมองระดับโลกและข้อมูลการทำงานจริงเพื่อขุดค้นศักยภาพการปรับแต่งเพิ่มเติม