Performance Comparison of Several Folding Strategies
From LRDE
- Authors
- Jim Newton
- Where
- Trends in Functional Programming
- Place
- Kraków, Poland
- Type
- inproceedings
- Keywords
- fold, binary decision diagram, scala, lisp, rational numbers
- Date
- 2020-02-01
Abstract
In this article we examine the computation order and consequent performance of three different conceptual implementations of the fold function. We explore a set of performance based experiments on different implementations of this function. In particular, we contrast the fold-left implementation with two other implements we refer to as pair-wise-fold and tree-like-fold. We explore two application areas: ratio arithmetic and Binary Decisions Diagram construction. We demonstrate several cases where the performance of certain algorithms is very different depending on the approach taken. In particular iterative computations where the object size accumulates are good candidates for the tree-like-fold.
Bibtex (lrde.bib)
@InProceedings{ newton.20.tfp, author = {Jim Newton}, title = {Performance Comparison of Several Folding Strategies}, booktitle = {Trends in Functional Programming}, year = 2020, note = {Submitted}, address = {Krak{\'o}w, Poland}, month = feb, abstract = {In this article we examine the computation order and consequent performance of three different conceptual implementations of the fold function. We explore a set of performance based experiments on different implementations of this function. In particular, we contrast the fold-left implementation with two other implements we refer to as pair-wise-fold and tree-like-fold. We explore two application areas: ratio arithmetic and Binary Decisions Diagram construction. We demonstrate several cases where the performance of certain algorithms is very different depending on the approach taken. In particular iterative computations where the object size accumulates are good candidates for the tree-like-fold.} } @InProceedings{ newton.20.tfp, title = {Performance Comparison of Several Folding Strategies}, author = {Jim Newton}, booktitle = {Trends in Functional Programming}, year = 2020, lrdestatus = {accepted}, address = {Krakow, Poland}, month = jan, abstract = {In this article we examine the computation order and consequent performance of three different conceptual implementations of the fold function. We explore a set of performance based experiments on different implementations of this function. In particular, we contrast the fold-left implementation with two other implements we refer to as pair-wise-fold and tree-like-fold. We explore two application areas: ratio arithmetic and Binary Decisions Diagram construction. We demonstrate several cases where the performance of certain algorithms is very different depending on the approach taken. In particular iterative computations where the object size accumulates are good candidates for the tree-like-fold.} }