Repository logo
 
Publication

A comprehensive survey of asynchronous API approaches in concurrent I/O scenarios

authorProfile.emailbiblioteca@isel.pt
dc.contributor.advisorCarvalho, Fernando Miguel Santos Gamboa Lopes de
dc.contributor.authorRodrigues, Diogo Paulo de Oliveira
dc.date.accessioned2025-03-25T11:58:21Z
dc.date.available2025-03-25T11:58:21Z
dc.date.issued2025-02-10
dc.date.submitted2025-03-25
dc.description.abstractAbstract This thesis examines the evolution of data collection methodologies, transitioning from traditional asynchronous I/O systems to modern reactive programming paradigms such as Reactive Programming and Kotlin Flow. These paradigms represent a shift from static, sequential processes to dynamic, responsive data handling strategies, a transformation driven by recent advances in programming techniques. After presenting a concise historical overview to contextualize the study, the research focuses on a comparative analysis of key technologies like RxJava and .NET AsyncEnumerables, which utilize reactive streams to enhance the efficiency and scalability of large data volume management. The benchmarking methodology used in this research is straightforward, based on time measure of similar operations across the different tecnologies used in our implementations. The tasks that were used were fundamental and simple, such as identifying the largest word in a dataset and categorizing words by letter count, in a huge data set to simulate a world-like scenario. This pragmatic approach allows for a direct evaluation of each technology’s real-time data processing capabilities, underlining practical benefits and distinguishing their performances. In conclusion, this work provides a focused comparative analysis to enhance understanding of data collection technologies, while providing key concepts and demonstrating the advancements from traditional to modern tools, making a contribution on how these technologies compare to each other and perform depending of the situation.eng
dc.description.abstractEsta tese examina a evolução das metodologias de recolha de dados programaticamente, focando-se na transição de sistemas tradicionais de recolha de dados através de I/O assíncrono para paradigmas modernos de programação reativa. Estes paradigmas representam uma mudança de processos bloqueantes e sequenciais para estratégias de manipulação de dados dinâmicas e responsivas, uma transformação impulsionada pelo aparecimento de novas técnicas e tecnologias de programação assíncrona. Após apresentar uma visão histórica concisa para contextualizar o estudo, a pesquisa concentra-se numa análise comparativa entre tecnologias chave que permitem programação reativa, como o RxJava e os AsyncEnumerables da Microsoft, que utilizam streams reativos para aumentar a eficiência e escalabilidade na gestão de grandes volumes de dados. A metodologia de benchmarking é direta, baseando-se na recolha de tempos de operação em tarefas fundamentais — como, por exemplo, identificar a maior palavra num conjunto de dados e categorizar palavras pelo número de letras. Para tornar as métricas recolhidas mais representativas, foram utilizadas grandes quantidades de dados de forma a simular situações reais. Esta abordagem pragmática permite uma avaliação direta das capacidades de processamento de dados em tempo real de cada tecnologia, sublinhando benefícios práticos e distinguindo os seus desempenhos. Em suma, esta tese oferece uma análise comparativa entre várias tecnologias modernas de programação para a recolha de dados em grande escala, tendo também o objetivo de melhorar a compreensão deste tópico. Apresenta contexto histórico, conceitos-chave e as respostas tecnológicas atuais à leitura de dados em grande escala, contrastando com as práticas do passado.por
dc.identifier.tid203925033
dc.identifier.urihttp://hdl.handle.net/10400.21/21716
dc.language.isoeng
dc.rights.urihttp://creativecommons.org/licenses/by-nc-nd/4.0/
dc.subjectReactive programming
dc.subjectData collection methodologies
dc.subjectSoftware paradigms
dc.subjectRxJava
dc.subjectRx.NET
dc.subjectAsync enumerables
dc.subjectComparative analysis
dc.subjectReal-time data processing
dc.subjectProgramming paradigms evaluation
dc.subjectTechnology performance comparison
dc.titleA comprehensive survey of asynchronous API approaches in concurrent I/O scenarioseng
dc.typemaster thesis
dspace.entity.typePublication
thesis.degree.nameDissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
DiogoRodrigues_MEIC.pdf
Size:
421.22 KB
Format:
Adobe Portable Document Format
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
4.03 KB
Format:
Item-specific license agreed upon to submission
Description: