薪酬:~ $ python
Python 2.7.6(默认,2015年6月22日,17:58:13)
[GCC 4.8.2
>>> import timeit
>>> timeit.timeit("[x for x in xrange(1000000) if x%4]",number=100)
5.656799077987671
>>> timeit.timeit("[x for x in xrange(1000000) if x%4]",number=100)
5.579368829727173
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=100)
21.54827117919922
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=100)
22.014557123184204
timeit number=1参数:
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=1)
0.2245171070098877
>>> timeit.timeit("[x for x in xrange(1000000) if x%4]",number=1)
0.10750913619995117
薪酬:~ python3美元
Python 3.4.3(默认,Oct 14 2015, 20:28:29)
[GCC 4.8.4
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=100)
9.113872020003328
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=100)
9.07014398300089
与timeit数字=1,2,3,4参数工作快速和线性方式:
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=1)
0.09329321900440846
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=2)
0.18501482300052885
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=3)
0.2703447980020428
>>> timeit.timeit("[x for x in range(1000000) if x%4]",number=4)
0.36209142999723554
因此,如果我们测量1个运行的循环周期,比如timeit。Timeit ("[x for x in range(1000000) if x%4]",number=1)(正如我们在实际代码中使用的那样)python3工作得足够快,但在重复循环中,python 2 xrange()在速度上胜过python3的range()。