Journal Article10.1145/1968.381154
Programming pearls: perspective on performance
81
TL;DR: This column is about the opportunities for efficiency at various design levels of a computer system: each technique is applicable to one of several design levels at which computer systems are built.
read more
Abstract: There are many ways to make a program run faster. Previous columns have discussed such techniques as problem definition, algorithms, data structures, and code tuning. In this column we'll see how those parts fit together into a whole: each technique is applicable to one of several design levels at which computer systems are built. There are at least two good reasons for programmers to study run-time efficiency. The first is pragmatic: while a program's performance is often unimportant, every now and then it matters a great deal. The second reason for studying performance is educational. While many qualities of software are as important as efficiency (if not more so), they are harder to discuss. Anybody can measure that a program is five times faster than another or uses half as much space, but I have to resort to more subjective terms to describe functionality, maintainability, or robustness. Because performance can be quantified and is intellectually challenging, it's a fine training ground for software engineers. This column is about the opportunities for efficiency at various design levels of a computer system. We'll first study one particular program, and then turn to a more systematic view of design levels.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
•Proceedings Article
Learning To Count Objects in Images
Victor Lempitsky,Andrew Zisserman +1 more
- 06 Dec 2010
TL;DR: This work focuses on the practically-attractive case when the training images are annotated with dots, and introduces a new loss function, which is well-suited for visual object counting tasks and at the same time can be computed efficiently via a maximum subarray algorithm.
Efficient Algorithms for the Maximum Subarray Problem by Distance Matrix Multiplication
TL;DR: An efficient algorithm that maximizes the sum of array elements of a subarray of a two-dimensional array that correlates two parameters involved in data, such as ages and income for the amount of sales per some period is designed.
106
Algorithms for the Maximum Subarray Problem Based on Matrix Multiplication
Hisao Tamaki,Takeshi Tokuyama +1 more
TL;DR: The first subcubic algorithm is given, by reducing the problem to “funny matrix multiplication”, where the scalar product and addition in usual matrix multiplication are replaced by addition and max operations, respectively.
72
Efficient algorithms for subwindow search in object detection and localization
Senjian An,Patrick Peursum,Wanquan Liu,Svetha Venkatesh +3 more
- 20 Jun 2009
TL;DR: Two significantly faster methods based on the linear-time Kadane's Algorithm for 1D maximum subarray search are presented, one of which is a novel, computationally superior branch-and-bound method and the other an approximate algorithm based on alternating search, whose computational complexity is typically O(n2).
Algorithms for the maximum subarray problem based on matrix multiplication
Hisao Tamaki,Takeshi Tokuyama +1 more
- 01 Jan 1998
TL;DR: The first subcubic algorithm for this problem was proposed by as mentioned in this paper, where the scalar product and addition in usual matrix multiplication are replaced by addition and max operations, respectively.
55
References
Hints for computer system design
Butler W. Lampson
- 10 Oct 1983
TL;DR: Some general hints for system design are described, illustrated by a number of examples, ranging from hardware such as the Alto and the Dorado to applications programs such as Bravo and Star.
Hints for Computer System Design
TL;DR: Decorated with pithy quotations from many sources, this collection of good advice and anecdotes draws upon the folk wisdom of experienced designers.