【Python性能优化】禁用gc来加速Python运行
Python的默认GC规则,每隔一段时间会执行一次gc,这个过程会拖慢真正要处理的任务。以下以实例展示:
?
#!/usr/bin/pythondef f1(): L=[] for a in xrange(1000000): L.append([a]) print len(L)def f2(): import gc gc.disable() f1() gc.enable()if __name__ == '__main__': import sys if len(sys.argv) == 2 and sys.argv[1]=='2': print 'f2' f2() else: print 'f1' f1()
?
两次运行差别:
?
?写道$ time ./g.pyf1
1000000
real0m1.171s
user0m1.000s
sys0m0.160s
?写道
$ time ./g.py 2f2
1000000
real0m0.414s
user0m0.310s
sys0m0.100s
?
Wow~
?
关于如何引起这样的性能差异,待续~
?
?
?
?