White Rose University Consortium logo
University of Leeds logo University of Sheffield logo York University logo

Inductive benchmarking for purely functional data structures

Moss, G E and Runciman, C (orcid.org/0000-0002-0151-3233) (2001) Inductive benchmarking for purely functional data structures. Journal of Functional Programming. pp. 525-556. ISSN 1469-7653

Text (runcimanc1.pdf)

Download (356Kb)


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.

Item Type: Article
Copyright, Publisher and Additional Information: © 2001 Cambridge University Press. Reproduced in accordance with the publisher's self-archiving policy.
Keywords: QUEUE
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: 11 Apr 2016 20:49
Published Version: http://dx.doi.org/10.1017/S0956796801004063
Status: Published
Refereed: Yes
URI: http://eprints.whiterose.ac.uk/id/eprint/1544

Actions (repository staff only: login required)