Sciweavers

SIGSOFT
2007
ACM

Measuring empirical computational complexity

14 years 5 months ago
Measuring empirical computational complexity
The standard language for describing the asymptotic behavior of algorithms is theoretical computational complexity. We propose a method for describing the asymptotic behavior of programs in practice by measuring their empirical computational complexity. Our method involves running a program on workloads spanning several orders of magnitude in size, measuring their performance, and fitting these observations to a model that predicts performance as a function of workload size. Comparing these models to the programmer's expectations or to theoretical asymptotic bounds can reveal performance bugs or confirm that a program's performance scales as expected. Grouping and ranking program locations based on these models focuses attention on scalability-critical code. We describe our tool, the Trend Profiler (trend-prof), for constructing models of empirical computational complexity that predict how many times each basic block in a program runs as a linear (y = a + bx) or a powerlaw (...
Simon Goldsmith, Alex Aiken, Daniel Shawcross Wilk
Added 20 Nov 2009
Updated 20 Nov 2009
Type Conference
Year 2007
Where SIGSOFT
Authors Simon Goldsmith, Alex Aiken, Daniel Shawcross Wilkerson
Comments (0)