Repository logo
 
Publication

Deconstructing yield operator to enhance streams processing

dc.contributor.authorPoeira, Diogo
dc.contributor.authorCarvalho, Fernando Miguel
dc.date.accessioned2022-03-15T09:50:21Z
dc.date.available2022-03-15T09:50:21Z
dc.date.issued2021
dc.descriptionEste trabalho foi financiado pelo Concurso Anual para Projetos de Investigação, Desenvolvimento, Inovação e Criação Artística (IDI&CA) 2020 do Instituto Politécnico de Lisboa. Código de referência IPL/2020/WebFluid/ISEL
dc.description.abstractCustomizing 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 on line, 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 of chaining extension operations fluently, with low overhead in the eval uated benchmarks. The tinyield proposal was deployed in three different libraries, namely for Java (jayield), JavaScript (tinyield4ts) and .Net (tinyield4net).pt_PT
dc.description.versioninfo:eu-repo/semantics/publishedVersionpt_PT
dc.identifier.citationPOEIRA, Diogo; CARVALHO, Fernando Miguel – Deconstructing yield operator to enhance streams processing. In Proceedings of the 16th International Conference on Software Technologies (ICSOFT 2021). SCITEPRESS, 2022. ISBN: 978-989-758-523-4. Pp. 143-150.pt_PT
dc.identifier.doi10.5220/0010541001430150pt_PT
dc.identifier.isbn978-989-758-523-4
dc.identifier.urihttp://hdl.handle.net/10400.21/14463
dc.language.isoengpt_PT
dc.publisherSCITEPRESSpt_PT
dc.relationProjeto financiado no âmbito do Concurso de Projetos de Investigação, Desenvolvimento, Inovação & Criação Artística (IDI&CA) financiados pelo Instituto Politécnico de Lisboa. IPL/2020/WebFluid/ISELpt_PT
dc.relation.publisherversionhttps://www.scitepress.org/Papers/2021/105410/105410.pdfpt_PT
dc.subjectYieldpt_PT
dc.subjectGeneratorspt_PT
dc.subjectStreamspt_PT
dc.subjectLazy sequencespt_PT
dc.subjectIteratorspt_PT
dc.subjectExtensionspt_PT
dc.titleDeconstructing yield operator to enhance streams processingpt_PT
dc.typeconference object
dspace.entity.typePublication
oaire.citation.conferencePlaceJuly 6-8, 2021 Online Streamingpt_PT
oaire.citation.endPage150pt_PT
oaire.citation.startPage143pt_PT
oaire.citation.title16th International Conference on Software Technologies (ICSOFT 2021)pt_PT
person.familyNameGamboa de Carvalho
person.givenNameFernando Miguel
person.identifier.ciencia-idC01C-C39A-906A
person.identifier.orcid0000-0002-4281-3195
rcaap.rightsopenAccesspt_PT
rcaap.typeconferenceObjectpt_PT
relation.isAuthorOfPublicationf5c776b2-7bcf-4097-8e0d-db2c865d78d4
relation.isAuthorOfPublication.latestForDiscoveryf5c776b2-7bcf-4097-8e0d-db2c865d78d4

Files

Original bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
Deconstructing_FMCarvalho.pdf
Size:
638.73 KB
Format:
Adobe Portable Document Format