C++ এ, শাখার পূর্বাভাসের কারণে একটি সাজানো বিন্যাসের চেয়ে সাজানো অ্যারে প্রক্রিয়া করা দ্রুততর। কম্পিউটার আর্কিটেকচারে, একটি শাখার পূর্বাভাস নির্ধারণ করে যে একটি প্রোগ্রামের নির্দেশ প্রবাহে একটি শর্তসাপেক্ষ শাখা (জাম্প) নেওয়ার সম্ভাবনা আছে কি না৷
আসুন একটি উদাহরণ নেওয়া যাক −
if(arr[i] > 50) { Do some operation B } else { Do some operation A }
যদি আমরা এই কোডটি 100টি উপাদানের জন্য সাজানো এবং সাজানো ক্রমানুসারে চালাই তাহলে নিচের জিনিসগুলি ঘটবে −
বাছাই করা অ্যারের জন্য −
1, 2, 3, 4, 5, …… 50, 51………100 A, A, A, A, A A, B B
এটি পাইপলাইনে সঠিক শাখা এবং সঠিক ক্রম লোড করবে
A, A, A, A, A, A, A, A A, B B
বিন্যস্ত বিন্যাসের জন্য −
5, 51, 6, 90, 4, 49, 60… A, B, A, B, A, A, A, B
শাখা ভবিষ্যদ্বাণী এখানে একটি গুরুত্বপূর্ণ ভূমিকা পালন করে না। A এবং B এর মধ্যে সঠিক অপারেশনের পূর্বাভাস দেওয়া খুবই কঠিন।