在看python算法时,发现简单的列表生成,不同的方式性能相差巨大,让我对性能优化有了很大兴趣。大家也来看一看平时有没有犯类似的错误呢。
#!/usr/bin/env python import time def test1(n): lst = [] for i in range(n*10000): lst = lst + [i] return lst def test2(n): lst = [] for i in range(n*10000): lst.append(i) return lst def test3(n): return [ i for i in range(n*10000) ] def test4(n): return list(range(n*10000)) start = time.clock() test4(10) end = time.clock() print end-start
不同的方法,函数执行的时间相差一两个数量级,在大型应用中,可能就是几百倍的性能优化空间,掌握底层实现,精准操作还是很重要的啊。