GREMLINS - GeREnciador de Memória com LIsta eNcadeada Simples
GREMLINS é um acrônimo para GeREnciador de Memória com LIsta eNcadeada Simples. Ele, basicamente, requisita ao Sistema Operacional um bloco grande de memória e o gerencia, entregando blocos menores para a aplicação quando é solicitado.
A classe SLPool
é baseada basicamente em duas funções, a Allocate
e a Free
. A primeira é a encarregada de alocar um bloco de memória dentro da "Memory Pool" e entregá-lo à aplicação (retorna um ponteiro para o início do bloco alocado). Já o segundo libera a memória e um bloco que estava sendo utilizado na aplicação (recebe um ponteiro para o início do bloco a ser liberado).
Foram desenvolvidos 3 testes diferentes para essa aplicação.
- 1: Validação da Classe
StoragePool
e de suas funções (verifica se tudo está funcionando corretamente). - 2: Faz um teste de performance (tentando alocar uma determinada quantidade de memória em um certo período de tempo).
- 3: Faz um teste comparando a performance da classe
StoragePool
com onew
edelete
da biblioteca padrão.
Para compilar e testar, basta digitar os seguintes comandos:
make clean
make TEST_TYPE=teste_a_ser_realizado
./bin/gremlins
No qual o teste_a_ser_realizado
é um número entre 1 e 3 que representa o teste a ser feito.
Esse projeto foi desenvolvido por Elton de Souza Vieira
O código fonte do Projeto GREMLINS está disponível no GitHub.