লুপ অপ্টিমাইজেশন ভাষা-নিরপেক্ষ (language-agnostic)। মূল মন্ত্র: লুপের ভেতরে কাজ কমান।
১. লুপের বাইরে ইনভেরিয়েন্ট ক্যাশে করুন
# ধীর
for i in a:
print(i - len(a))
# দ্রুত
length = len(a)
for i in a:
print(i - length)
২. বিল্ট-ইন ফাংশন ব্যবহার করুন
sum(),min(),max()- C-অপ্টিমাইজডmap(),filter()- ফাংশনাল স্টাইল, মাঝে মাঝে দ্রুতany(),all()- শর্ট-সার্কিটিংসহ
৩. লিস্ট কম্প্রিহেনশন / জেনারেটর এক্সপ্রেশন
# লুপের বদলে squares = [x*x for x in range(1000000)]
৪. লোকাল ভেরিয়েবল রেফারেন্স
# গ্লোবাল লুকআপ প্রতিবার
for i in range(n):
print(math.sqrt(i))
# লোকাল রেফারেন্স - দ্রুত
sqrt = math.sqrt
for i in range(n):
print(sqrt(i))
৫. প্রোফাইলিং করুন
python -m cProfile script.py বা timeit মডিউল ব্যবহার করে বটলनेक খুঁজুন। অনুমান করবেন না।