课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的程序员都开始接触和学习python编程开发,而今天我们就一起来了解一下,性能分析对python编程开发的作用。
(1)基本技术如IPython的%timeit魔法函数、time.time()、以及一个计时修饰器,使用这些技术来了解语句和函数的行为。
(2)内置工具如cProfile,了解代码中哪些函数耗时长,并用runsnake进行可视化。
(3)line_profiler工具,对选定的函数进行逐行分析,其结果包含每行被调用的次数以及每行花费的时间百分比。
(4)memory_profiler工具,以图的形式展示RAM的使用情况随时间的变化,解释为什么某个函数占用了比预期更多的RAM。
(5)Guppy项目的heapy工具,查看Python堆中对象的数量以及每个对象的大小,这对于消灭奇怪的内存泄漏特别有用。
(6)dowser工具,通过Web浏览器界面审查一个持续运行的进程中的实时对象。
(7)dis模块,查看CPython的字节码,了解基于栈的Python虚拟机如何运行。
(8)单元测试,在性能分析时要避免由优化手段带来的破坏性后果。
强调了性能分析的重要性,同时也对如何确保性能分析的成功提了醒,例如,将测试代码与主体代码分离、避免硬件条件的干扰(如在BIOS上禁用了TurboBoost、禁用了操作系统改写SpeedStep、只使用主电源等)、运行实验时禁用后台工具如备份和Dropbox、多次实验、重启并重跑实验来二次验证结果,等等。
性能分析对于高性能编程的作用,就好比复杂度分析对于算法的作用,它本身不是高性能编程的一部分,但却是一种评判标准。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。