Use este identificador para citar ou linkar para este item:
http://repositorio.ufc.br/handle/riufc/81280| Tipo: | TCC |
| Título: | 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 |
| Autor(es): | Silveira, Lucas Gabriel Brito |
| Orientador: | Alencar, João Marcelo Uchôa de |
| Palavras-chave em português: | coleta de lixo;Golang;vazão;latência |
| CNPq: | CNPQ: CIÊNCIAS EXATAS E DA TERRA: CIÊNCIA DA COMPUTAÇÃO |
| Data do documento: | 2025 |
| Citação: | 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. |
| Resumo: | 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 |
| Currículo Lattes do Orientador: | http://lattes.cnpq.br/4360168226365314 |
| Tipo de Acesso: | Acesso Aberto |
| Aparece nas coleções: | CIÊNCIA DA COMPUTAÇÃO-QUIXADÁ - Monografias |
Arquivos associados a este item:
| Arquivo | Descrição | Tamanho | Formato | |
|---|---|---|---|---|
| 2025_tcc_lgbsilveira.pdf | 1,28 MB | Adobe PDF | Visualizar/Abrir |
Os itens no repositório estão protegidos por copyright, com todos os direitos reservados, salvo quando é indicado o contrário.