zoukankan      html  css  js  c++  java
  • 如何让python程序运行得更快

    原则1:不优化

    原则2:不要优化那些不重要的部分(否则会降低可读性)

    解决方案:

    1. 使用函数,局部变量比全局变量快很多。尽量使用函数,如main()

    2. 有选择性的消除属性访问。 如多用 from math import sqrt 而不要直接再程序中多次调用 math.sqrt(), 或直接声明局部变量。

    import math
    
    def compute_roots(nums):
        sqrt = math.sqrt
        res = []
        res_append = res.append
        for n in nums:
            res_append(sqrt(n))
        return res

    # 微优化
    a = { i:i**2 for i in range(1000) } # 较快
    b = [dict(i=i**2) for i in range(1000) ] #较慢

    3. 避免不必要的抽象,如装饰器,@property等

    4. 使用内建的字符串,元组,列表,集合,字典等容器.

    5. 避免不必要的数据结构或拷贝动作 

    6. 使用cPython或pypy等。

    Ps: >> 优化之前,先要跑起来,先要有正确的算法!低复杂度的算法远比程序的优化更重要。

    每天一小步,人生一大步!Good luck~
  • 相关阅读:
    poj 2251 Dungeon Master-搜索进阶-暑假集训
    棋盘问题-POJ 1321
    Popular Cows
    The Factor
    整数解 (hdu 2092
    Strange fuction hdu 2899
    Factors and Multiples
    Trailing Zeroes (III) -;lightoj 1138
    Swap——hdu 2819
    Arithmetic Sequence
  • 原文地址:https://www.cnblogs.com/jkmiao/p/5183448.html
Copyright © 2011-2022 走看看