[c++] เร็วขึ้น เร็วขึ้นอีก (การปรับจูนประสิทธิภาพ)
(frogred8.github.io)- เนื้อหาที่ถอดและเรียบเรียงเป็นบทความจากเซสชัน YouTube ของ Matt Godbolt
- การปรับแต่งประสิทธิภาพของฟังก์ชันง่าย ๆ ที่รับตัวเลขและตัวอักษรมาประกอบกัน
- วิเคราะห์ด้วยเครื่องมือ
perfและทำการปรับแต่งทีละขั้นstringstream(550ns)sprintf(220ns)- custom formatter (20ns)
- custom formatter + lookup table +
@(13ns)
- โค้ดสุดท้ายเร็วขึ้น 42 เท่าเมื่อเทียบกับตอนเริ่มต้น
- บทสรุป: เวลาปรับแต่งประสิทธิภาพอย่าพึ่งสัญชาตญาณ แต่ควรให้การวัดผลประสิทธิภาพอย่างละเอียดมาก่อน
1 ความคิดเห็น
การปรับแต่งประสิทธิภาพก่อนเวลาอันควรคือรากเหง้าของปัญหาทั้งปวง
การปรับแต่งก็ดีอยู่หรอก แต่ก็น่าจะมีคำเตือนไว้สำหรับคนที่เห็นโพสต์ในบล็อกแล้วจะไปปรับแต่งโดยไม่จำเป็นแบบสุดโต่ง..