第7章 性能——识别瓶颈
到目前为止,你已经学会了各种方法使应用程序健壮并适应新功能。现在,让我们讨论用来提高应用程序性能的技术。这个广泛的主题被分成了3章,这是第一个关于该主题的章节。它将涵盖以下主题:
- 应用程序运行时的基本衡量方法;
- 如何通过解析代码来识别运行时的性能瓶颈;
- 使用memory_profiler包进行基本的内存分析;
- 使用大O符号来表示计算复杂度。
为了更好地理解这些概念,我们将开发一个有趣的游戏场景,其可称为“寻找黄金”。你将很快意识到,应用程序在输入数据大小增加时运行速度非常慢。本章将详细阐述确定这样的问题的技术。
7.1 关于性能的三章概览
在我们深入讨论之前,让我们先来了解关于性能改进的章节是如何构成的。如前所述,这次讨论分成3个相互关联的章。
7.1.1 更注重运行时的性能
术语性能提升意味着几件事情,其可以说是提高运行时(CPU的使用量)应用程序的内存效率,减少网络传输的消耗,或者这几项的组合。在本书中,我们的讨论将主要集中在运行时性能的改进上。我们也将讨论内存消耗方面的内容,但是讨论将仅限于内存分析技术以及生成表达式的使用。
7.1.2 关于性能的第1个章
你正在阅读和性能有关的第1章。本章主要是一些提高应用性能的准备工作。这些准备包括测量运行时识别导致性能瓶颈的代码块,了解大O符号等。
当然!我们将会开发先前提到的“寻找黄金”场景,然后识别出代码中的性能瓶颈,如图7-1所示。接下来的两章将以此为基础逐步提高应用性能。
图7-1
7.1.3 关于性能的第2个章 ...
Get Python应用开发指南 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.