课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
python编程开发语言是目前大多数软件开发程序员都在学习和使用的一个编程开发语言,今天我们就通过案例分析来了解一下,python编程开发性能优化方法。
1.优化代码和算法
测量,不要猜测。测量代码中哪些部分运行时间长,先把重点放在那些部分上。
实现缓存。如果你从磁盘、网络和数据库执行多次重复的查找,这可能是一个很大的优化之处。
重用对象,而不是在每次迭代中创建一个新对象。Python必须清理你创建的每个对象才能释放内存,这就是所谓的“垃圾回收”。许多未使用对象的垃圾回收会大大降低软件速度。
尽可能减少代码中的迭代次数,特别是减少迭代中的操作次数。
2.使用PyPy
PyPy声称,它的平均速度比CPython要快4.4倍。它是通过使用一种称为Just-in-time(JIT,即时编译)技术来实现的。Java和.NET框架就是JIT编译的其他著名的例子。相比之下,CPython使用解释来执行代码。虽然这一做法提供了很大的灵活性,但速度也变得慢了下来。
使用JIT,你的代码是在运行程序时即时编译的。它结合了Ahead-of-time(AOT,提前编译)技术的速度优势(由C和C++等语言使用)和解释的灵活性。另一个优点是JIT编译器可以在运行时不断优化代码。代码运行的时间越长,它就会变得越优化。
3.使用线程
IO密集型(I/Obound):软件主要是等待输入/输出操作完成才能工作。在从网络或缓慢的存储中获取数据时,通常会出现这种情况。
CPU密集型(CPUbound):软件占用了大量的CPU资源。它使用了CPU所有的能力来产生所需的结果。
在等待来自网络或磁盘的应答时,你可以使用多个线程使其他部分保持运行状态。
4.使用Asyncio
它解决了与线程相同的问题:它加快了IO密集型软件的速度,但这是以不同的方式实现的。我将立即坦承我并非Python的asyncio拥趸。它相当复杂,特别是对于初学者来说。我遇到的另一个问题是,asyncio库在过去几年中有了很大的发展。网上的教程和示例代码常常已经过时。不过,这并不意味着它就毫无用处。如果你有兴趣的话,RealPython网站有一个不错的asyncio指南。
5同时使用多个处理器
如果你的软件是CPU密集型的,你通常可以用一种可以同时使用更多处理器的方式重写你的代码。通过这种方式,你就可以线性地调整执行速度。
这就是所谓的并行性,但并不是所有的算法都可以并行运行。例如,简单的将递归算法进行并行化是不可能的。但是几乎总有一种替代算法可以很好地并行工作。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。