Please use this identifier to cite or link to this item: http://repositorio.ufc.br/handle/riufc/81280
Type: TCC
Title: Análise do impacto do coletor de lixo da linguagem de programação Go e seu impacto na latência e vazão das aplicações
Authors: Silveira, Lucas Gabriel Brito
Advisor: Alencar, João Marcelo Uchôa de
Keywords in Brazilian Portuguese : coleta de lixo;Golang;vazão;latência
Knowledge Areas - CNPq: CNPQ: CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO
Issue Date: 2025
Citation: SILVEIRA, Lucas Gabriel Brito. Análise do impacto do coletor de lixo da linguagem de programação Go e seu impacto na latência e vazão das aplicações. 2025. 53 f. Trabalho de Conclusão de Curso (Graduação em Ciência da Computação) - Campus de Quixadá, Universidade Federal do Ceará, Quixadá, 2025.
Abstract in Brazilian Portuguese: Ao contrário de linguagens de programação como Java, a linguagem Go possui apenas um algoritmo de coleta de lixo implementado na distribuição oficial. Entretanto, este algoritmo pode ser ajustado através de variáveis de ambiente. Neste trabalho buscamos avaliar o comportamento do coletor de lixo da linguagem Go no âmbito de vazão e latência. O objetivo é compreender se é justificável a linguagem possuir apenas um coletor de lixo disponível. Foram utilizados dados gerados a partir da execução de benchmarks conceituados da linguagem Java, a qual é referência em trabalhos sobre os impactos da coleta de lixo. Tais benchmarks executaram com diferentes valores de GOGC, variável que permite customizar a frequência da execução do coletor, variando 20 vezes no intervalo de 50 a 1000. Os resultados mostraram que parametrizar a coleta de lixo não obteve melhorias significativas nas métricas escolhidas. Porém para aplicações com alto uso de coleta de lixo foi obtido uma redução considerável no tempo de execução. Trabalhos futuros incluem implementar diferentes coletores de lixo para o Go e realizar comparativos em diferentes cenários com o coletor atual.
Abstract: Unlike programming languages like Java, the Go language only has one garbage collection algorithm implemented in the official distribution. However, this algorithm can be adjusted through environment variables. In this work we seek to evaluate the behavior of the Go language garbage collector in terms of throughput and latency. The objective is to understand whether it is justifiable for the language to have only one garbage collector available. Data generated from the execution of renowned benchmarks of the Java language were used, which are a reference in works on the impacts of garbage collection. Such benchmarks are executed with different GOGC values, variable that allow customizing the frequency of collector execution, varying 20 times in the range of 50 to 1000. The results showed that parameterizing garbage collection did not obtain improvements in the chosen analyses. However, for applications with high use of garbage collection, a specific reduction in execution time was obtained. Future work includes implementing different garbage collectors for Go and comparing them in different scenarios with the current collector.
URI: http://repositorio.ufc.br/handle/riufc/81280
Advisor's Lattes: http://lattes.cnpq.br/4360168226365314
Access Rights: Acesso Aberto
Appears in Collections:CIÊNCIA DA COMPUTAÇÃO-QUIXADÁ - Monografias

Files in This Item:
File Description SizeFormat 
2025_tcc_lgbsilveira.pdf1,28 MBAdobe PDFView/Open


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.