Speeding Up Python

后端 未结 18 1127
无人及你
无人及你 2020-12-02 04:55

This is really two questions, but they are so similar, and to keep it simple, I figured I\'d just roll them together:

  • Firstly: Given an est

18条回答
  •  一整个雨季
    2020-12-02 05:47

    Regarding "Secondly: When writing a program from scratch in python, what are some good ways to greatly improve performance?"

    Remember the Jackson rules of optimization:

    • Rule 1: Don't do it.
    • Rule 2 (for experts only): Don't do it yet.

    And the Knuth rule:

    • "Premature optimization is the root of all evil."

    The more useful rules are in the General Rules for Optimization.

    1. Don't optimize as you go. First get it right. Then get it fast. Optimizing a wrong program is still wrong.

    2. Remember the 80/20 rule.

    3. Always run "before" and "after" benchmarks. Otherwise, you won't know if you've found the 80%.

    4. Use the right algorithms and data structures. This rule should be first. Nothing matters as much as algorithm and data structure.

    Bottom Line

    You can't prevent or avoid the "optimize this program" effort. It's part of the job. You have to plan for it and do it carefully, just like the design, code and test activities.

提交回复
热议问题