本节书摘来异步社区《树莓派开发实战(第2版)》一书中的第1章,第1.10节,作者:【英】Simon Monk(蒙克),更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.10 优化性能
面临问题
你感觉自己的树莓派运行得太慢了,所以,想通过超频来提速。
解决方案
如果你使用的是4核处理器的树莓派2的话,你不会有太慢的感觉。但是,如果你使用的是单核心处理器的老版树莓派的话,感觉就像是老牛拉破车。
为了提高树莓派的运行速度,你可以使用超频方法。
当然,这会使树莓派的耗电量有所增加,同时也会使它变得更热(参考后面的讨论)。
这里使用的超频方法称为动态超频,因为它会自动检测树莓派的温度,并且一旦温度过高,时钟频率就会自动下调。
为了给树莓派超频,可以在终端输入下列命令来运行raspi_config工具。
$ sudo raspi-config```
在菜单中选中Overclock选项,这样系统就会弹出如图1-9所示的各种选择。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/424414de0c6b2e9c93a56df6c95cb64593fbdf0d.png" width="" height="">
</div>
你可以从中选择一个选项。如果你的树莓派开始变得不稳定,甚至挂机的话,那么说明需要选择一个更保守的选项,或者重新设为None以关闭超频功能。
进一步探讨
利用超频方法,性能会得到明显改善。为了衡量改善程度,我在15摄氏度的室温环境下对B型树莓派修订版2做了一个实验。
我使用下面的Python代码作为测试程序。这段代码只针对处理器,而没有涉及计算机的其他方面,例如写SD卡、绘图等。不过如果你想测试树莓派的超频效果的话,那么该程序确实能够较好地反映出CPU的性能。
import time
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
before_time = time.clock()
for i in range(1, 10000):
factorial(200)
after_time = time.clock()
print(after_time - before_time)
测试结果如表1-2所示。
<div style="text-align: center"><img src="https://yqfile.alicdn.com/faaf0cedab9600aa3494a59357ccd825b447572d.png" width="" height="">
</div>
如您所见,性能提升了33%,但是性能提升的代价是消耗更大的电流,同时带来更高的温度。
为了让树莓派全速运行,你最好提供一个通风良好的外壳。