लूप्स की स्पीड
बिल्कुल, set एलिमेंट्स खोजने के लिए ज़्यादा उपयुक्त है. यह हैश पर आधारित होता है, इसलिए अधिकतर समय आप कॉन्स्टेंट कॉम्प्लेक्सिटी की उम्मीद कर सकते हैं. लेकिन सभी ऑब्जेक्ट के एलिमेंट्स पर iterate करने के बारे में क्या? आइए pytest और pytest-benchmark के साथ list और set के एलिमेंट्स पर लूप iteration की स्पीड की तुलना करें. pytest पैकेज पहले से इम्पोर्ट किया जा चुका है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Testing का परिचय
अभ्यास निर्देश
iterate_से शुरू होने वाले फंक्शन्स से पहले@benchmarkडेकोरेटर जोड़ें.iterate_listऔरiterate_setमें लूप्स को पूरा करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
def test_list(benchmark):
# Add decorator here
@____
def iterate_list():
# Complete the loop here
____ in [i for i in range(1000)]:
pass
def test_set(benchmark):
# Add decorator here
____
def iterate_set():
# Complete the loop here
____ in {i for i in range(1000)}:
pass