Papers Papers/2020



Authors: Diogo Poeira and Fernando Miguel Carvalho

Affiliation: CCISEL, cc.isel.pt, Polytechnic Institute of Lisbon, Portugal

Keyword(s): Yield, Generators, Streams, Lazy Sequences, Iterators, Extensions.

Abstract: Customizing streams pipelines with new user-defined operations is a well-known pattern regarding streams processing. However, programming languages face two challenges when considering streams extensibility: 1) provide a compact and readable way to express new operations, and 2) keep streams’ laziness behavior. From here, we may find a consensus around the adoption of the generator operator, i.e. yield, as a means to fulfil both requirements, since most state-of-the-art programming languages provide this feature. Yet, what is the performance overhead of interleaving a yield-based operation in streams processing? In this work we present a benchmark based on realistic use cases of two different web APIs, namely: Last.fm and world weather online, where custom yield-based operations may degrade the streams performance in twofold. We also propose a purely functional and minimalistic design, named tinyield, that can be easily adopted in any programming language and provides a concise way o f chaining extension operations fluently, with low overhead in the evaluated benchmarks. The tinyield proposal was deployed in three different libraries, namely for Java (jayield), JavaScript (tinyield4ts) and .Net (tinyield4net). (More)


Sign In Guest: Register as new SciTePress user now for free.

Sign In SciTePress user: please login.

PDF ImageMy Papers

You are not signed in, therefore limits apply to your IP address

In the current month:
Recent papers: 100 available of 100 total
2+ years older papers: 200 available of 200 total

Paper citation in several formats:
Poeira, D. and Miguel Carvalho, F. (2021). Deconstructing yield Operator to Enhance Streams Processing. In Proceedings of the 16th International Conference on Software Technologies - ICSOFT, ISBN 978-989-758-523-4; ISSN 2184-2833, pages 143-150. DOI: 10.5220/0010541001430150

author={Diogo Poeira. and Fernando {Miguel Carvalho}.},
title={Deconstructing yield Operator to Enhance Streams Processing},
booktitle={Proceedings of the 16th International Conference on Software Technologies - ICSOFT,},


JO - Proceedings of the 16th International Conference on Software Technologies - ICSOFT,
TI - Deconstructing yield Operator to Enhance Streams Processing
SN - 978-989-758-523-4
IS - 2184-2833
AU - Poeira, D.
AU - Miguel Carvalho, F.
PY - 2021
SP - 143
EP - 150
DO - 10.5220/0010541001430150