Phân tích tác động của từ khóa cuối cùng đến hiệu suất của chương trình C++

Benjamin Summerton, tác giả của hệ thống dò tia PSRayTracing, đã phân tích tác động đến hiệu suất ứng dụng của việc sử dụng từ khóa “cuối cùng”, xuất hiện trong tiêu chuẩn C++11, trong mã C++. Lý do thử nghiệm là vì có những tuyên bố lan truyền trên Internet rằng việc sử dụng "cuối cùng" sẽ cải thiện hiệu suất, vốn bị giới hạn ở các đánh giá giá trị mà không cho biết kết quả của những thay đổi.

Thử nghiệm của Benjamin cho thấy hiệu suất khi sử dụng "cuối cùng" phụ thuộc rất nhiều vào trình biên dịch. Khi xây dựng trong GCC, hiệu suất thực sự tăng lên trong một số trường hợp đáng chú ý, nhưng khi xây dựng trong Clang và MSVC, hiệu suất trong hầu hết các trường hợp đều giảm và đáng chú ý hơn. Đồng thời, ngoài trình biên dịch, nền tảng này còn có ảnh hưởng lớn; chẳng hạn, sự suy giảm hiệu suất rõ rệt hơn trên hệ thống có CPU AMD Ryze 9 6900HX so với hệ thống có CPU Apple M1.

Phân tích tác động của từ khóa cuối cùng đến hiệu suất của chương trình C++
Phân tích tác động của từ khóa cuối cùng đến hiệu suất của chương trình C++

Ví dụ: trên hệ thống AMD Ryzen 9 6900HX với Ubuntu 23.10, khi xây dựng trong Clang, 90% thử nghiệm khi sử dụng “cuối cùng” cho thấy tốc độ chậm ít nhất 5%, nhưng trong 2.5% trường hợp, tốc độ tăng ít nhất 5%. được ghi nhận. Đối với GCC, tốc độ chậm lại 5% được ghi nhận trong 0.9% trường hợp và tăng tốc 5% trong 15.8% trường hợp. Trong MSVC, mức giảm tốc độ 5% được quan sát thấy trong 26.2% thử nghiệm và mức tăng tốc 5% được quan sát thấy trong 13.3%. Về phần mình, tác giả nghiên cứu kết luận rằng cần tránh sử dụng “cuối cùng”.

Nguồn: opennet.ru

Thêm một lời nhận xét