Writing efficient programs

Writing efficient programs
复制标题

编写高效的程序

DOI:
--
复制
发表时间:
1982
期刊:
影响因子:
--
通讯作者:
J. Bentley
J. Bentley
中科院分区:
--
文献类型:
--
作者:
J. Bentley

文献摘要

被引文献

相似文献

软件工程师的主要任务是可维护和有用软件的成本效益开发。在该定义中潜伏着许多次要问题。这样的问题是从“有用”一词中引起的:要在手头的应用程序中有用,软件通常必须是有效的(即,使用时间或空间很少)。我们将在本书中考虑的问题是建立有效的软件系统。 我们可能会面对效率问题的许多级别。这些定义在第1.2节中,包括整体系统设计,程序的算法和数据结构,转换为机器代码以及基础系统软件和硬件;许多书籍讨论效率。在每个级别。在本书中,我们将研究许多人实践的设计级别,但很少有人讨论。此级别称为“编写有效代码”,可以定义如下: 编写有效代码的活动将作为输入高级语言程序(结合了有效的算法和数据结构),并以相同的高级语言的程序作为输出,该程序适用于有效的机器代码。在此级别上进行的操作在算法和数据结构方面的大多数工作下,但对于大多数当前和可预见的编译器而言,这太复杂了。
The primary task of software engineers is the cost-effective development of maintainable and useful software. There are many secondary problems lurking in that definition. One such problem arises from the term "useful": to be useful in the application at hand, software must often be efficient (that is, use little time or space). The problem we will consider in this book is building efficient software systems. There are a number of levels at which we may confront the problem of efficiency. These are defined in Section 1.2 and include the overall system design, the program's algorithms and data structures, the translation to machine code, and the underlying system software and hardware; many books discuss efficiency. at each of those levels. In this book we will investigate efficiency at a design level that is practiced by many but discussed by few. This level is called "writing efficient code" and can be defined as follows: The activity of writing efficient code takes as input a high-level language program (which incorporates efficient algorithms and data structures) and produces as output a program in the same high-level language that is suitable for compilation into efficient machine code. The operations undertaken at this level are beneath most work on algorithms and data structures yet are too complex for most current and foreseeable compilers.