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~
  • 相关阅读:
    SCOI2012 奇怪的游戏
    AHOI2013 差异
    HAOI2018 染色
    HNOI2015 开店
    PKUWC2018 随机游走
    HAOI2015 按位或
    Luogu4859 二项式反演
    CTSC2018 混合果汁
    yii2.0邮件发送问题解决
    yii2.0 elasticsearch模糊查询
  • 原文地址:https://www.cnblogs.com/jkmiao/p/5183448.html
Copyright © 2011-2022 走看看