Tôi muốn xác định một tập hợp các chuỗi tối ưu hóa cho một chương trình C đầu vào để nghiên cứu tác động của các chuỗi được áp dụng của tôi đến hiệu suất mã.Thứ tự các cờ tối ưu hóa GCC
dụ:
gcc -fauto-inc-dec -fbranch-count-reg -fcombine-stack-adjustments ... test.c -o out.o
Liệu thứ tự của các tùy chọn này ảnh hưởng đến hiệu quả của mã sản xuất?
Đồng thời, việc áp dụng tùy chọn tối ưu hóa hai lần có tác động không?
Có cách nào tốt hơn để kiểm tra hàng nghìn chuỗi tối ưu hóa không? Giống như trong -02 (bao gồm khoảng 20 tùy chọn), tôi muốn xác định cờ của riêng tôi
bạn đã nói KHÔNG. Tuy nhiên, trong bài báo khoa học tôi thấy khẳng định này: "Trong tối ưu hóa các trình biên dịch, thực hành tiêu chuẩn là áp dụng cùng một tập hợp các giai đoạn tối ưu hóa theo thứ tự cố định trên mỗi phương pháp của một chương trình. Tuy nhiên, một số nhà nghiên cứu đã chỉ ra rằng Do đó, chúng tôi muốn có một kỹ thuật lựa chọn thứ tự tốt nhất của việc tối ưu hóa cho từng phần của chương trình, thay vì so với việc áp dụng cùng một bộ tối ưu hóa cố định cho toàn bộ chương trình . " https://www.eecis.udel.edu/~cavazos/oopsla-2012.pdf – staticx
@staticx: Có, bạn chính xác rằng thứ tự tối ưu hóa vượt qua các vấn đề. Tuy nhiên, thứ tự các đối số dòng lệnh được đưa ra không ảnh hưởng đến thứ tự vượt qua tối ưu hóa trong gcc. – janneb
@janneb Tôi không quá quen thuộc với các giai đoạn tối ưu hóa gcc và đặt hàng vấn đề. Ok, giả sử tôi có một chương trình C và một danh sách các chuỗi tối ưu hóa. Làm thế nào tôi có thể tạo ra các ảnh hưởng đến việc chuyển đổi mã? – staticx