Giả sử chúng tôi muốn biên dịch một dự án lớn (nói GCC hoặc hạt nhân Linux) càng nhanh càng tốt. Có một CPU với khả năng siêu phân luồng (nói Intel Core i7) chạy trình biên dịch nhanh hơn với tính năng siêu phân luồng được bật hoặc tắt không? Có bất kỳ điểm chuẩn được xuất bản nào để kiểm tra điều này không?Tác động của siêu phân luồng lên hiệu năng biên dịch?
Sự hiểu biết của tôi về siêu phân luồng là mỗi lõi có thể chọn hướng dẫn từ hai (hoặc nhiều quy trình). Điều này thường làm cho lõi hiệu quả hơn vì ít khả năng các đơn vị chức năng sẽ không hoạt động. Tuy nhiên, có tiềm năng cho một hình phạt hiệu suất vì các quá trình chạy trên cùng một tài nguyên chia sẻ cốt lõi như bộ nhớ cache và có thể gây trở ngại cho nhau. Hiệu suất có thực sự tăng hay không phụ thuộc vào khối lượng công việc.
Vì vậy, đối với khối lượng công việc của trình biên dịch, hiệu suất có tăng không? Nếu có thì bao nhiêu?
Tôi không có kinh nghiệm gần đây về điều này, nhưng không biên dịch có xu hướng bị I/O ràng buộc? – Ken
Chơi với "make -j N" và đo lường tài nguyên hệ thống cho các N khác nhau? –
@Nikolai, tôi sẽ làm như vậy nếu tôi có một CPU được phát triển mạnh. Tôi yêu cầu điều này vì vậy tôi biết liệu mua một là đáng giá. –