ในส่วนนี้เราจะเห็นปัญหาหนึ่งที่น่าสนใจ เราจะเห็นรหัสสองส่วน ทั้งสองมีลูปซ้อนกันสองลูป เราต้องระบุว่าอันไหนจะวิ่งเร็วกว่ากัน (เราจะถือว่าคอมไพเลอร์ไม่ได้ปรับโค้ดให้เหมาะสม)
ส่วนที่ 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 ครั้งในทั้งสองกรณี แต่ถ้าเราพิจารณาดีๆ เราจะเข้าใจได้ว่าโค้ดที่สองทำงานมากกว่าโค้ดแรก ในโค้ดแรก วงในจะถูกดำเนินการ 10 ครั้ง ดังนั้นสำหรับการเริ่มต้น การตรวจสอบเงื่อนไข และการดำเนินการที่เพิ่มขึ้น จะดำเนินการ 10 ครั้ง แต่สำหรับรหัสที่สอง วงในจะถูกดำเนินการ 100 ครั้ง ดังนั้นการเริ่มต้น การตรวจสอบเงื่อนไข และการดำเนินการที่เพิ่มขึ้นจะดำเนินการ 100 ครั้ง จึงใช้เวลานานกว่าครั้งแรก