A “linear logic” Quicksort
- 1 February 1994
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 29 (2), 13-18
- https://doi.org/10.1145/181748.181750
Abstract
The linear style of programming inspired by linear logic has been proposed to reduce garbage collection and synchronization costs in serial and parallel systems. We programmed Quicksort for both lists and arrays in a "linear" fragment of Lisp to estimate the performance impact of linearity on a serial machine. Even though Quicksort is well-tuned for current non-linear architectures, we find that linearity extracts no real penalty. Our "linear" list Quicksort is as fast as any non-linear list Quicksort, and our "linear" vector Quicksort is only 3.5% slower than a non-linear vector Quicksort. The linear style is moderately pleasant, and the redundancy of linearity checking can aid in finding bugs.Keywords
This publication has 15 references indexed in Scilit:
- Computational interpretations of linear logicTheoretical Computer Science, 1993
- Lively linear LispACM SIGPLAN Notices, 1992
- The buried binding and dead binding problems of Lisp 1.5ACM SIGPLAN Lisp Pointers, 1992
- IslandsACM SIGPLAN Notices, 1991
- Copying and swapping: influences on the design of reusable software componentsIEEE Transactions on Software Engineering, 1991
- From Petri nets to linear logicMathematical Structures in Computer Science, 1991
- Axioms and models of linear logicFormal Aspects of Computing, 1990
- A single cached copy data coherence scheme for multiprocessor systemsACM SIGARCH Computer Architecture News, 1989
- The linear abstract machineTheoretical Computer Science, 1988
- Analysis of pointer “rotation”Communications of the ACM, 1982