for循环延时_[意外走向] 大疆机甲大师Python API之八:计时 -- 为性能测试展开1000次循环...

为机甲的计时API写了如下例程,想对比一下PC上的Python性能(注:作为性能测试非常粗糙,因为主要是想作最简单的演示之用):

def 

因为原始代码在PC的运行时间很短,因此当机甲的控制台许久没打出结果的时候,小意外,于是测了求弧度和求平方和两句的分别耗时,结果,竟然瓶颈完全不在这。

排除法,只剩下了循环体本身(完整源码在此):

def 

每100次空循环耗时0.56秒左右!虽然暂没写出实例,但这样的延时感觉会对运动控制算法产生不能忽视的影响。难怪上面的36万次循环会让它貌似宕机。

补:为避免循环体内的语句的影响,直接用pass,仍然一样,可见瓶颈在for循环:

6c2ce4837820ff3b2a5005f75f58e968.png
空循环性能测试https://www.zhihu.com/video/1172576756048523264

试了while循环,也有类似延时。打算报告这个问题。

对比性能就不干了吗?决定还是继续试试。

于是,直接将两个循环展开,就是这样的上千行代码:

def 

得出的结果还比较合理,不过也领教了移动计算平台和PC的差别。一方面有计算性能的差距:ARMv7-A Cortex A7 1.5 GHz(参考:RoboMaster CPU and memory)VS. Intel Core i7-2635QM @ 2.00GHz。另外,也许在编译器优化也有区别?

回头研究一下Python递归,虽然觉得例程里总用递归代替循环不现实。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值