参照 Python 代码性能优化技巧 文章测试python提速。

  • 优化前的代码(01.flow-a.py )

    from time import time 
    t = time() 
    lista = [1,2,3,4,5,6,7,8,9,10] 
    listb =[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.01] 
    for i in range (1000000): 
    for a in range(len(lista)): 
        for b in range(len(listb)): 
            x=lista[a]+listb[b] 
    print "total run time:"
    print time()-t
    
    [wuxiaomeng@WudeMacBook-Pro ~/Desktop/python/01.speedup ]
    $python 01.flow-a.py 
    total run time:
    21.2082309723
    
  • 参照原文优化后(01.flow-b.py)

    from time import time 
    t = time() 
    lista = [1,2,3,4,5,6,7,8,9,10] 
    listb =[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.01] 
    len1=len(lista) 
    len2=len(listb) 
    for i in xrange (1000000): 
    for a in xrange(len1): 
        temp=lista[a] 
        for b in xrange(len2): 
            x=temp+listb[b] 
    print "total run time:"
    
    [wuxiaomeng@WudeMacBook-Pro ~/Desktop/python/01.speedup ]
    $python 01.flow-b.py 
    total run time:
    17.1609051228
    
  • 使用列表解析优化后(01.flow-c.py)

    from time import time 
    t = time() 
    lista = [1,2,3,4,5,6,7,8,9,10] 
    listb =[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.01] 
    len1=len(lista) 
    len2=len(listb) 
    for i in xrange (1000000): 
    x = [a+b for a in lista for b in listb]
    print "total run time:"
    
    [wuxiaomeng@WudeMacBook-Pro ~/Desktop/python/01.speedup ]
    $python 01.flow-c.py 
    total run time:
    12.3668849468