@
Hyperion 我做了一个测试,
1 def func_1(x):
2 x += 1
3
4 def func_2(x):
5 x += 1
6
7 def test_1():
8 for i in range(100000):
9 func_1(i)
10 func_2(i)
11
12 def test_2():
13 data = range(100000)
14 for i in data:
15 func_1(i)
16 for i in data:
17 func_2(i)
18
19 if __name__ == "__main__":
20 import timeit
21 print(timeit.timeit("test_1()",number=1000, setup="from __main__ import test_1"))
22 print(timeit.timeit("test_2()",number=1000, setup="from __main__ import test_2"))
仅仅就是简单自增,输出结果为
31.7822570801
31.4160778522
看来即使编译器没优化, 但效率几乎没差别。
如果是更加复杂的处理,估计效率差距会更少