Avi*_*ion 5 python performance
我和一位同事讨论过有效编写python的问题.他声称虽然你正在编写python,你仍然需要尽可能地优化软件的一点点,就像你在C++中编写一个有效的算法一样.
像:
if声明中,or总是把条件最有可能先失败,所以第二个不会被检查.我说,在大多数情况下,这并不重要.我还应该说,代码的背景不是超高效的NOC或导弹制导系统.我们主要是在python中编写测试.
你对此事有何看法?
Pas*_*TIN 14
我的答案是:
我们应该忘记小的效率,大约97%的时间说:过早的优化是所有邪恶的根源.
(引用Knuth,Donald.结构化编程,参见陈述,ACM期刊计算调查,第6卷,第4期,1974年12月.第268页)
如果你的应用程序正在对数据库进行任何查询,那么一个查询将花费更多时间,而不是那些小优化所能获得的任何东西,无论如何......
如果在这样的表演后运行,为什么不用汇编语言编码,毕竟?因为Python更容易/更快地编写和维护?好吧,如果是这样,你是对的:-)
最重要的是您的代码易于维护; 不是几秒微秒的CPU时间!
好吧,也许除非您有数千台服务器 - 但这是您的情况吗?
e-s*_*tis 13
答案很简单:
Sim*_*son 10
这种过早的微优化通常在我的经验中浪费时间,即使在C和C++中也是如此.首先编写可读代码.如果运行速度太慢,请通过分析器运行,如有必要,请修复热点.
从根本上说,你需要考虑投资回报率.是否值得花费额外的精力来阅读和维护"优化"代码,节省几微秒?在大多数情况下,它不是.
(此外,编译器和运行时变得越来越聪明.随着时间的推移,一些微观优化可能会变成微观悲观.)