นี่เป็นคำถามที่ไม่ขึ้นกับภาษา (language agnostic) ลูปมีในเกือบทุกภาษา และหลักการเดียวกันใช้ได้ทุกที่ คุณต้องเข้าใจว่า compiler ทำหน้าที่หนักส่วนใหญ่ในการเพิ่มประสิทธิภาพลูป แต่นักเขียนโปรแกรมก็ต้องดูแลให้ลูปของตนมีประสิทธิภาพด้วย
สำคัญคือ ต้องเข้าใจว่าทุกอย่างที่วางในลูปจะถูก execute ทุกรอบ การเพิ่มประสิทธิภาพลูปคือการลดสิ่งที่ลูปทำ แม้การดำเนินการที่ดูเร็วมาก ก็จะใช้เวลานานหากทำซ้ำหลายครั้ง การดำเนินการที่ใช้ 1 ไมโครวินาที ลบ 1 ล้านรอบ จะใช้เวลา 1 วินาที
อย่าเรียก len(list) ภายในลูป หรือในเงื่อนไขเริ่มต้นของลูป
ตัวอย่าง
a = [i for i in range(1000000)]
length = len(a)
for i in a:
print(i - length)
เร็วกว่ามากเมื่อเทียบกับ
a = [i for i in range(1000000)]
for i in a:
print(i - len(a))
คุณยังสามารถใช้เทคนิคเช่น Loop Unrolling ซึ่งเป็นเทคนิคการแปลงลูปที่พยายามเพิ่มความเร็วการรันโปรแกรม แลกกับขนาดไบนารีที่ใหญ่ขึ้น (space-time tradeoff)
การใช้ฟังก์ชันอย่าง map, filter แทน for loop แบบ explicit ก็ช่วยเพิ่มประสิทธิภาพได้บ้าง