กลับไปหน้าบทความ

อ่าน 4 นาที

การเพิ่มประสิทธิภาพขั้นสูงสุด

การปรับแต่ง ขั้นสูงสุด (Superoptimization) คือกระบวนการที่ คอมไพเลอร์ ค้นหาลำดับที่เหมาะสมที่สุดโดยอัตโนมัติสำหรับลำดับคำสั่งที่ปราศจากลูป...

การเพิ่มประสิทธิภาพขั้นสูงสุด

การปรับแต่ง ขั้นสูงสุด (Superoptimization)คือกระบวนการที่คอมไพเลอร์ค้นหาลำดับที่เหมาะสมที่สุดโดยอัตโนมัติสำหรับลำดับคำสั่งที่ปราศจากลูป โดยทั่วไปแล้วคอมไพเลอร์ในโลกแห่งความเป็นจริงไม่สามารถสร้าง โค้ด ที่เหมาะสมที่สุด ได้อย่างแท้จริง และในขณะที่การปรับแต่งโค้ดมาตรฐานส่วนใหญ่ของคอมไพเลอร์ช่วยปรับปรุงโค้ดได้เพียงบางส่วนเท่านั้น เป้าหมายของตัวปรับแต่งขั้นสูงสุดคือการค้นหาลำดับที่เหมาะสมที่สุด หรือรูปแบบมาตรฐานตัวปรับแต่งขั้นสูงสุดสามารถใช้เพื่อปรับปรุงตัวปรับแต่งทั่วไปได้โดยการเน้นโอกาสที่พลาดไป เพื่อให้มนุษย์สามารถเขียนกฎเพิ่มเติมได้

ประวัติศาสตร์

คำว่า superoptimization ถูกบัญญัติโดยAlexia Massalinในบทความปี 1987 เรื่องSuperoptimizer: A Look at the Smallest Program [ 1 ] คำ ว่า "program optimization" ถูกนำมาใช้กับสาขาที่ไม่ได้มุ่งหวังที่จะเพิ่มประสิทธิภาพ แต่เพียงแค่ปรับปรุงเท่านั้น ความเข้าใจผิดนี้ทำให้ Massalin ต้องเรียกระบบของเธอว่า superoptimizer ซึ่งจริงๆ แล้วเป็นตัวเพิ่มประสิทธิภาพเพื่อค้นหาโปรแกรมที่เหมาะสมที่สุด[ 2 ]

ในปี พ.ศ. 2535 GNU Superoptimizer (GSO) ได้รับการพัฒนาเพื่อรวมเข้ากับGNU Compiler Collection (GCC) [ 3 ] [ 4 ]ต่อมาได้มีการพัฒนาและขยายแนวคิดเหล่านี้เพิ่มเติม

เทคนิค

โดยทั่วไป การปรับแต่งขั้นสูงสุดจะดำเนินการผ่านการค้นหาแบบครบถ้วนด้วยกำลัง ทั้งหมด ในพื้นที่ของลำดับคำสั่งที่ถูกต้อง วิธีนี้มีค่าใช้จ่ายสูงและไม่สามารถนำไปใช้ได้จริงกับคอมไพเลอร์ทั่วไป อย่างไรก็ตาม ได้มีการแสดงให้เห็นแล้วว่ามีประโยชน์ในการปรับแต่งลูปภายในที่สำคัญต่อประสิทธิภาพ นอกจากนี้ยังสามารถใช้ตัวแก้ปัญหา SMTเพื่อแก้ปัญหา ซึ่งจะช่วยปรับปรุงประสิทธิภาพการค้นหาได้อย่างมาก (แม้ว่าอินพุตที่ซับซ้อนกว่าบล็อกพื้นฐานจะยังไม่สามารถเข้าถึงได้) [ 5 ]

ในปี พ.ศ. 2544 การเพิ่มประสิทธิภาพสูงสุดที่มุ่งเน้นเป้าหมายได้รับการสาธิตในโครงการ Denali โดยการวิจัยของ Compaq [ 6 ]ในปี พ.ศ. 2549 การเขียนโปรแกรมเชิงประกาศชุดคำตอบ ถูกนำไปใช้กับการเพิ่มประสิทธิภาพสูงสุดใน โครงการ Total Optimisation using Answer Set Technology (TOAST) [ 7 ]ที่มหาวิทยาลัยบา[ 8 ] [ 9 ]

การเพิ่มประสิทธิภาพขั้นสูงสามารถใช้เพื่อสร้าง ตัวเพิ่มประสิทธิภาพช่องมองทั่วไปโดยอัตโนมัติ[ 10 ]

เครื่องมือเพิ่มประสิทธิภาพขั้นสูงที่เปิดให้ใช้งานได้ทั่วไป

มีโปรแกรมเพิ่มประสิทธิภาพขั้นสูงหลายตัวที่สามารถดาวน์โหลดได้ฟรี

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Superoptimization&oldid=1354933104 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การเพิ่มประสิทธิภาพขั้นสูงสุด

การปรับแต่ง ขั้นสูงสุด (Superoptimization) คือกระบวนการที่ คอมไพเลอร์ ค้นหาลำดับที่เหมาะสมที่สุดโดยอัตโนมัติสำหรับลำดับคำสั่งที่ปราศจากลูป...

ประวัติศาสตร์

คำว่า superoptimization ถูกบัญญัติโดย Alexia Massalin ในบทความปี 1987 เรื่อง Superoptimizer: A Look at the Smallest Program [ 1 ] คำ ว่า "program optimization" ถูกนำมาใช้กับสาขาที่ไม่ได้มุ่งหวังที่จะเพิ่มประสิทธิภาพ แต่เพียงแค่ปรับปรุงเท่านั้น...

เทคนิค

โดยทั่วไป การปรับแต่งขั้นสูงสุดจะดำเนินการผ่าน การค้นหาแบบครบถ้วนด้วยกำลัง ทั้งหมด ในพื้นที่ของลำดับคำสั่งที่ถูกต้อง วิธีนี้มีค่าใช้จ่ายสูงและไม่สามารถนำไปใช้ได้จริงกับคอมไพเลอร์ทั่วไป อย่างไรก็ตาม...

เครื่องมือเพิ่มประสิทธิภาพขั้นสูงที่เปิดให้ใช้งานได้ทั่วไป

มีโปรแกรมเพิ่มประสิทธิภาพขั้นสูงหลายตัวที่สามารถดาวน์โหลดได้ฟรี