AutoBench: comparing the time performance of Haskell programs

Two fundamental goals in programming are correctness (producing the right results) and efficiency (using as few resources as possible). Property-based testing tools such as QuickCheck provide a lightweight means to check the correctness of Haskell programs, but what about their efficiency? In this a...

Full description

Bibliographic Details
Main Authors: Handley, Martin A.T., Hutton, Graham
Format: Conference or Workshop Item
Language:English
Published: 2018
Subjects:
Online Access:https://eprints.nottingham.ac.uk/54754/
_version_ 1848799071110692864
author Handley, Martin A.T.
Hutton, Graham
author_facet Handley, Martin A.T.
Hutton, Graham
author_sort Handley, Martin A.T.
building Nottingham Research Data Repository
collection Online Access
description Two fundamental goals in programming are correctness (producing the right results) and efficiency (using as few resources as possible). Property-based testing tools such as QuickCheck provide a lightweight means to check the correctness of Haskell programs, but what about their efficiency? In this article, we show how QuickCheck can be combined with the Criterion benchmarking library to give a lightweight means to compare the time performance of Haskell programs. We present the design and implementation of the AutoBench system, demonstrate its utility with a number of case studies, and find that many QuickCheck correctness properties are also efficiency improvements.
first_indexed 2025-11-14T20:29:50Z
format Conference or Workshop Item
id nottingham-54754
institution University of Nottingham Malaysia Campus
institution_category Local University
language English
last_indexed 2025-11-14T20:29:50Z
publishDate 2018
recordtype eprints
repository_type Digital Repository
spelling nottingham-547542018-09-28T04:30:16Z https://eprints.nottingham.ac.uk/54754/ AutoBench: comparing the time performance of Haskell programs Handley, Martin A.T. Hutton, Graham Two fundamental goals in programming are correctness (producing the right results) and efficiency (using as few resources as possible). Property-based testing tools such as QuickCheck provide a lightweight means to check the correctness of Haskell programs, but what about their efficiency? In this article, we show how QuickCheck can be combined with the Criterion benchmarking library to give a lightweight means to compare the time performance of Haskell programs. We present the design and implementation of the AutoBench system, demonstrate its utility with a number of case studies, and find that many QuickCheck correctness properties are also efficiency improvements. 2018-09-27 Conference or Workshop Item PeerReviewed application/pdf en https://eprints.nottingham.ac.uk/54754/1/autobench.pdf Handley, Martin A.T. and Hutton, Graham (2018) AutoBench: comparing the time performance of Haskell programs. In: Haskell Symposium 2018, 27-28 September 2018, St Louis, Missouri, USA. Time performance; Optimisation; Benchmarking
spellingShingle Time performance; Optimisation; Benchmarking
Handley, Martin A.T.
Hutton, Graham
AutoBench: comparing the time performance of Haskell programs
title AutoBench: comparing the time performance of Haskell programs
title_full AutoBench: comparing the time performance of Haskell programs
title_fullStr AutoBench: comparing the time performance of Haskell programs
title_full_unstemmed AutoBench: comparing the time performance of Haskell programs
title_short AutoBench: comparing the time performance of Haskell programs
title_sort autobench: comparing the time performance of haskell programs
topic Time performance; Optimisation; Benchmarking
url https://eprints.nottingham.ac.uk/54754/