Trong thế giới ngày nay, nó không quan trọng lắm, nếu có.
Dự đoán nhánh động (một điều gì đó đã được suy nghĩ trong nhiều thập kỷ (xem Phân tích về khối lượng công việc của Hệ thống dự đoán nhánh động được công bố năm 1996)) là khá phổ biến.
Một ví dụ về điều này có thể được tìm thấy trong bộ xử lý ARM. Từ Trung tâm Thông tin Arm về Dự đoán Chi nhánh
Để cải thiện độ chính xác dự đoán nhánh, kết hợp các kỹ thuật tĩnh và động được sử dụng.
Câu hỏi sau đó là "dự đoán nhánh động trong bộ xử lý cánh tay là gì?" Đọc tiếp theo dự đoán nhánh động cho thấy rằng nó sử dụng sơ đồ dự đoán 2 bit (được mô tả trong bài viết) xây dựng thông tin về việc nhánh đó được lấy mạnh hay yếu hoặc không lấy.
Theo thời gian (và theo thời gian, ý tôi là một vài lần đi qua khối đó), điều này sẽ xây dựng thông tin theo cách mà mã sẽ đi.
Đối với dự đoán tĩnh , nó xem xét cách mã nhìn chính nó và cách nhánh được thực hiện trong bài kiểm tra - theo hướng dẫn trước đó hoặc một trong mã nữa:
Sơ đồ được sử dụng trong bộ xử lý ARM1136JF-S dự đoán rằng tất cả các nhánh có điều kiện chuyển tiếp không được thực hiện và tất cả các nhánh lùi được thực hiện. Khoảng 65% của tất cả các chi nhánh được đi trước bởi các chu kỳ không phân nhánh đủ để được dự đoán hoàn toàn.
Như Sparky đã đề cập, điều này dựa trên sự hiểu biết rằng các vòng lặp thường xuyên hơn không, vòng lặp. Các nhánh vòng lặp ngược (nó có một nhánh ở cuối vòng lặp để khởi động lại nó ở trên cùng) - nó thường làm điều này.
Nguy hiểm của việc cố gắng đoán thứ hai trình biên dịch là bạn không biết mã đó thực sự sẽ được biên dịch như thế nào (và được tối ưu hóa). Và đối với hầu hết các phần, nó không thành vấn đề. Với dự đoán động, hai lần thông qua chức năng, nó sẽ dự đoán bỏ qua câu lệnh bảo vệ để trả về sớm. Nếu hiệu suất của hai đường ống xả là hiệu suất quan trọng, có những điều khác phải lo lắng.
Thời gian để đọc một kiểu này so với kiểu kia có thể có tầm quan trọng lớn hơn - làm cho mã sạch để con người có thể đọc nó, bởi vì trình biên dịch sẽ hoạt động tốt dù bạn có viết mã lộn xộn hay lý tưởng hóa như thế nào.