Moss, G E and Runciman, C (2001) Inductive benchmarking for purely functional data structures. Journal of Functional Programming. pp. 525-556. ISSN 1469-7653
Every designer of a new data structure wants to know how well it performs in comparison with others. But finding, coding and testing applications as benchmarks can be tedious and time-consuming. Besides, how a benchmark uses a data structure may considerably affect its apparent efficiency, so the choice of applications may bias the results. We address these problems by developing a tool for inductive benchmarking. This tool, Auburn, can generate benchmarks across a wide distribution of uses. We precisely define 'the use of a data structure', upon which we build the core algorithms of Auburn: how to generate a benchmark from a description of use, and how to extract a description of use from an application. We then apply inductive classification techniques to obtain decision trees for the choice between competing data structures. We test Auburn by benchmarking several implementations of three common data structures: queues, random-access lists and heaps. These and other results show Auburn to be a useful and accurate tool, but they also reveal some limitations of the approach.
|Copyright, Publisher and Additional Information:||© 2001 Cambridge University Press. Reproduced in accordance with the publisher's self-archiving policy.|
|Institution:||The University of York|
|Academic Units:||The University of York > Computer Science (York)|
|Depositing User:||Repository Officer|
|Date Deposited:||06 Sep 2006|
|Last Modified:||25 Apr 2015 19:29|