python求偶奇数和差编程_在检查奇数时是否比%快?

是的。标准库中的timeit模块就是如何检查这些东西的。E、 克:AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x & 1' 'isodd(9)'

1000000 loops, best of 3: 0.446 usec per loop

AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x & 1' 'isodd(10)'

1000000 loops, best of 3: 0.443 usec per loop

AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x % 2' 'isodd(10)'

1000000 loops, best of 3: 0.453 usec per loop

AmAir:stko aleax$ python -mtimeit -s'def isodd(x): x % 2' 'isodd(9)'

1000000 loops, best of 3: 0.461 usec per loop

如您所见,在我的(第一天==old==slow;-)MacBookAir上,&解决方案的重复速度比%解决方案快7到18纳秒。

timeit不仅告诉你什么是更快的,还告诉你多少(只运行几次测试),这通常表明它是多么的不重要(当调用函数的开销在400左右时,你真的关心10纳秒的差异吗?!-)...

让程序员相信微观优化本质上是无关紧要的,这已经证明是一项不可能完成的任务——尽管已经过去了35年(在这35年中,计算机的速度提高了几个数量级!)自从KnuthwroteWe should forget about small

efficiencies, say about 97% of the

time: premature optimization is the

root of all evil.

正如他所解释的,这是引用了霍尔的一个更古老的声明。我想每个人都完全相信他们的案子只剩下3%!

因此,我们(特别是蒂姆·彼得斯,在这里应该得到荣誉)没有无休止地重复“没关系”,而是放进了标准的Python库模块timeit,这使得测量这样的微基准变得非常容易,因此至少让一些程序员说服自己,嗯,这个病例确实属于97%的人群!-)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值