Hostname: page-component-6766d58669-bkrcr Total loading time: 0 Render date: 2026-05-15T09:34:06.326Z Has data issue: false hasContentIssue false

Faster coroutine pipelines: A reconstruction

Published online by Cambridge University Press:  03 August 2020

RUBEN P. PIETERS
Affiliation:
KU Leuven, Leuven, Belgium, (e-mails: ruben.pieters@cs.kuleuven.be, tom.schrijvers@cs.kuleuven.be)
TOM SCHRIJVERS
Affiliation:
KU Leuven, Leuven, Belgium, (e-mails: ruben.pieters@cs.kuleuven.be, tom.schrijvers@cs.kuleuven.be)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

The three-continuation approach to coroutine pipelines efficiently represents a large number of connected components. Previous work in this area introduces this alternative encoding but does not shed much light on the underlying principles for deriving this encoding from its specification. This paper gives this missing insight by deriving the three-continuation encoding based on eliminating the mutual recursion in the definition of the connect operation. Using the same derivation steps, we are able to derive a similar encoding for a more general setting, namely bidirectional pipes. Additionally, we evaluate the encoding in an advertisement analytics benchmark where it is as performant as pipes, conduit, and streamly, which are other common Haskell stream processing libraries.

Information

Type
Research Article
Copyright
© The Author(s), 2020. Published by Cambridge University Press
Supplementary material: File

Pieters and Schrijvers supplementary material

Pieters and Schrijvers supplementary material

Download Pieters and Schrijvers supplementary material(File)
File 7.5 KB
Submit a response

Discussions

No Discussions have been published for this article.