python 定時執行指定的函數
python 定時執行指定的函數
# time a function using time.time() and the a @ function decoratortested with Python24 vegaseat 21aug2005
import time
def print_timing(func): def wrapper(arg): t1 = time.time() res = func(arg) t2 = time.time() print '%s took %0.3f ms' % (func.func_name, (t2-t1)*1000.0) return res return wrapper
declare the @ decorator just before the function, invokes print_timing()
@print_timing def getPrimeList(n): """ returns a list of prime numbers from 2 to < n using a sieve algorithm""" if n < 2: return [] if n == 2: return [2]
# do only odd numbers starting at 3 s = range(3, n+1, 2) # n**0.5 may be slightly faster than math.sqrt(n) mroot = n ** 0.5 half = len(s) i = 0 m = 3 while m <= mroot: if s[i]: j = (m*m-3)//2 s[j] = 0 while j < half: s[j] = 0 j += m i = i+1 m = 2*i+3 return [2]+[x for x in s if x]
if name == "main": print "prime numbers from 2 to <10,000,000 using a sieve algorithm" primeList = getPrimeList(10000000) time.sleep(2.5)
""" my output --> prime numbers from 2 to <10,000,000 using a sieve algorithm getPrimeList took 4750.000 ms """</pre>
本文由用戶 pykde 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!