私はpython2.7で2つの比較可能なステートメントをベンチマークしようとしています。Python timeit関数がNameErrorでクラッシュする:グローバル名が存在しません
メモリから取得した数字のリストを1つのステートメントで出力します。もう1つのステートメントは、同じサーバー上に管理されているredisリストから取得した同じ番号のリストを出力します。
など。私はベンチマークprint pylist1
とprint pylist2
にはtimeitを使用するにはどうすればよい
pylist1 = [1,2,3,4,5]
pylist2 = my_server.lrange("nums:5",0,-1) #where nums:5 = [1,2,3,4,5]
?
私はPythonシェルで次のようにしようとしている:
import timeit
import redis
POOL = redis.ConnectionPool(host='127.0.0.1',port=6379,db=0)
my_server = redis.Redis(connection_pool=POOL)
pylist1 = [1,2,3,4,5]
pylist2 = my_server.lrange("nums:5",0,-1)
print min(timeit.Timer('print pylist1').repeat(7,1000))
これはちょうどNameError: global name 'pylist1' does not exist
でクラッシュ。 print pylist1
が完璧に機能するので、それは変です!私が正しくやろうとしていることをするのに助けが必要です。 Timer
ため