Python | 效率和性能

Swi*_*tch -1 python optimization premature-optimization

假设我要通过运行单个脚本在列表中保存100个浮点数,很可能需要一些内存来处理.因此,如果此代码每次都作为应用程序的要求执行,则会有性能命中,所以我的问题是如何保持效率以获得性能.

模拟代码:

def generate_lglt():
    float1, float2 = 27.2423423, 12.2323245
    lonlats = []
    for val in range(100, 0, -1):
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
        lonlats.append(random.uniform(float1, float2))
    print lonlats
Run Code Online (Sandbox Code Playgroud)

谢谢.

Mik*_*ham 9

瓶颈发生在意想不到的地方,所以永远不要仅仅因为你认为它可能是试图改进的正确代码而优化代码.你需要做的是

  1. 编写程序以使其完全运行.
  2. 开发测试以确保您的程序正确无误.
  3. 确定您的程序是否太慢.
    • 你很有可能在这一步退出.
  4. 开发真实运行程序的性能测试.
  5. 使用该cProfile模块在其实际性能测试中分析代码.
  6. 弄清楚哪些算法改进可以提高代码的性能.
    • 这通常是提高速度的方法.
  7. 如果您使用最佳算法进行作业,请执行微优化.
    • 在C中重写关键部分(可能使用Cython)通常比在Python微优化中更有效.