4.1 性能
在本节中,我们将反复强调在编写任何程序时都必须遵守的一个原则,该原则可以简洁地表述为一个设计理念:关注成本。如果你是一位工程师,那么节省成本就是你的工作;如果你是一个生物学家或物理学家,成本将决定你可以解决哪些科学问题;如果你从事商务工作或是一位经济学家,那么节约成本是毋庸置疑的;如果你是一名软件开发人员,成本将决定你构建的软件是否对客户有用。
为了研究软件的运行成本,我们通过科学方法(也就是科学家普遍接受和使用,以研究自然世界知识的技术)来研究程序。我们还将使用数学分析来推导出有关成本的简洁模型。
我们在研究自然界的哪些特征?在大多数情况下,我们对其中一个基本特征感兴趣:时间。每当运行一个程序时,都执行了一次涉及自然界的实验,一个复杂的电子电路系统通过一系列的状态改变,处理大量的离散事件并最终停留在一种稳定状态,以表示我们期望的结果。虽然开发Java程序是在抽象世界中进行的,但这些事情肯定会在自然界发生。从开始到我们能够看见结果一共会经过多少时间?对于我们而言,时间的长短(毫秒、秒、天还是星期)十分关键。因此,我们需要利用科学的方法来掌握如何合理控制这些状况,就像发射火箭、建造桥梁或是粉碎原子一样。
一方面,现代程序和编程环境十分复杂;另一方面,它们提供了一套简单(但功能强大)的抽象集以用于程序开发,每次运行程序都可以产生相同的结果。不能不说这是一个小小的奇迹。为了估算程序运行所需的时间,我们利用了构建程序的支撑架构。你可能想象不到编写成本开销估计和性能预测的程序的简单程度。
科学方法。以下五个步骤简要总结了我们采用的科学方法:
·观察自然界的一些特征。
·假设一个与观测结果一致的模型。
·使用该假设的模型预测事件。
·通过进一步的观察来验证预测。
·通过重复验证,直到确认假设和观察结果一致。 ...
Get 计算机科学导论:跨学科方法 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.