हाँ। मानक पुस्तकालय में timeit
मॉड्यूल यह है कि आप उन चीजों पर कैसे जांच करते हैं। उदा:
AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x & 1' 'isodd(9)'
1000000 loops, best of 3: 0.446 usec per loop
AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x & 1' 'isodd(10)'
1000000 loops, best of 3: 0.443 usec per loop
AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x % 2' 'isodd(10)'
1000000 loops, best of 3: 0.453 usec per loop
AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x % 2' 'isodd(9)'
1000000 loops, best of 3: 0.461 usec per loop
जैसा कि आप देख, मेरे (प्रथम दिन पर == वर्ष == धीमी ;-) मैकबुक एयर, &
समाधान 7 और 18 के बीच repeatably नैनोसेकंड %
समाधान की तुलना में तेजी है।
timeit
न केवल आपको बताता है कि क्या तेजी से है, लेकिन द्वारा कितना, जो आमतौर पर पता चलता है कि यह कैसे परम महत्वहीन है (बस परीक्षण कई बार चलाने) (आप वास्तव में देखभाल के बारे में 10 नैनोसेकंड 'अंतर करते हैं, जब भूमि के ऊपर फ़ंक्शन को कॉल करने के बारे में 400 है?! -) ...
समझदार प्रोग्रामर जो सूक्ष्म अनुकूलन अनिवार्य रूप से अप्रासंगिक हैं, एक असंभव कार्य साबित हुआ है - भले ही यह 35 वर्ष हो (जिस पर कंप्यूटर के आदेश प्राप्त हुए हैं तीव्रता तेजी से!) चूंकि Knuth wrote
हमें क्षमता के बारे में भूल जाना चाहिए, समय के 97% के बारे में बताएं: समयपूर्व अनुकूलन सभी बुराइयों की जड़ है।
जो उन्होंने समझाया है, होरेस से भी पुराने कथन से उद्धरण है। मुझे लगता है कि हर कोई पूरी तरह से आश्वस्त है कि उनका मामला शेष 3% में आता है!
बजाय बेहद दोहरा "यह कोई बात नहीं" का, हम मानक अजगर पुस्तकालय मॉड्यूल timeit
में डाल (विशेष रूप से टिम पीटर्स वहाँ सम्मान के हकदार), बनाता है कि यह trivially आसान ऐसे सूक्ष्म मानक को मापने और इस तरह के की सुविधा देता है, कम से कम कुछ प्रोग्रामर खुद को समझाने कि, हममम, इस मामले में 97% समूह में गिरावट है -!)
स्रोत
2009-07-07 01:28:58
"और सही या गलत" के साथ क्या है? – FogleBird
यदि आप एक बूलियन परिणाम प्राप्त करने का प्रयास कर रहे हैं, तो बस बूल (num और 1) – FogleBird
करें मैं पाइथन 3.1 – riza