ในส่วนนี้เราจะดูปัญหาที่น่าสนใจ มี 2 ชุดโค้ด ทั้งคู่มีลูปซ้อน 2 ชั้น เราต้องระบุว่าชุดไหนทำงานเร็วกว่า (สมมติว่า compiler ไม่ได้ optimize โค้ด)
ชุดที่ 1
for(int i = 0; i < 10; i++) {
for(int j = 0; j < 100; j++) {
// code
}
}
ชุดที่ 2
for(int i = 0; i < 100; i++) {
for(int j = 0; j < 10; j++) {
// code
}
}
ทั้งสองชุดรันจำนวนรอบเท่ากัน (10,000 รอบ) แต่ถ้าดูรายละเอียด ชุดที่ 2 ทำงานมากกว่า ในชุดที่ 1 ลูปในรัน 10 ครั้ง การ initialize, ตรวจสอบเงื่อนไข, increment ทำ 10 ครั้ง แต่ชุดที่ 2 ลูปในรัน 100 ครั้ง ทำให้ initialization, condition checking, increment ทำ 100 ครั้ง จึงใช้เวลานานกว่า