पायथन एक बहुत ही लचीली भाषा है जहाँ एक ही कार्य को कई तरीकों से किया जा सकता है, उदाहरण के लिए सूची को आरंभ करना कई तरीकों से किया जा सकता है। हालाँकि, इन समान प्रतीत होने वाली विधियों में सूक्ष्म अंतर हैं। पायथन जो अपनी सादगी और पठनीयता के लिए लोकप्रिय है, C++ या Java की तुलना में धीमे होने के लिए भी उतना ही बदनाम है। 'फॉर' लूप को विशेष रूप से धीमा माना जाता है जबकि मैप () और फिल्टर () जैसी विधियों को तेज माना जाता है क्योंकि वे सी में लिखे गए हैं।
उदाहरण
# import time module to calculate times import time # initialise lists to save the times forLoopTime = [] whileLoopTime = [] listComprehensionTime = [] starOperatorTime = [] # repeat the process for 500 times # and calculate average of times taken. for k in range(500): # start time start = time.time() # declare empty list a = [] # run a for loop for 10000 times for i in range(10000): a.append(0) # stop time stop = time.time() forLoopTime.append(stop-start) # start time start = time.time() # declare an empty list a = [] i = 0 # run a for loop 10000 times while(i<10000): a.append(0) i+= 1 stop = time.time() whileLoopTime.append(stop-start) start = time.time() # list comprehension to initialize list a = [0 for i in range(10000)] stop = time.time() listComprehensionTime.append(stop-start) start = time.time() # using the * operator a = [0]*10000 stop = time.time() starOperatorTime.append(stop-start) print("Average time taken by for loop: " + str(sum(forLoopTime)/100)) print("Average time taken by while loop: " + str(sum(whileLoopTime)/100)) print("Average time taken by list comprehensions: " + str(sum(listComprehensionTime)/100)) print("Average time taken by * operator: " + str(sum(starOperatorTime)/100))
आउटपुट
Average time taken by for loop: 0.00623725175858 Average time taken by while loop: 0.00887670278549 Average time taken by list comprehensions: 0.00318484544754 Average time taken by * operator: 0.000371544361115