Jump to content
Sign in to follow this  
pikax

Pool allocators & Stack allocators

Recommended Posts

pikax

Alguem sabe um bom tutorial para criar um pool allocator, e' que eu gostava criar um sistema de gerenciamento de memoria para os sistemas do meu programa.

Estou em pensar em criar um pool allocator, stack or double-ended stack allocator.

Queria impedir a fragmentacao da memoria, so' que nao tou a ver como fazer.

Basicamente gostava que logo no inicio do programa alocar por exemplo 50MB para a parte de variaveis do sistema, e quando allocasse memoria, iria alocar nesse espaco allocado logo no inicio do programa. Claro que as variaveis seria do mesmo tamanho.

so' que estou com duvidas de como desenvolver isso...


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites
KFBoom

Boas,

Onde trabalho passamos por um problema semelhante, num serviço que distribuia mensagens recebidas a clientes.

O problema residia de, por causa da fragmentação de memória, o serviço perdia performance e era notório em picos de recepção de mensagens.

A solução passou por colocar as mensagens numa heap privada, que veio a melhorar bastante a performance do serviço.

Seguem alguns links que acho que te podem ser úteis:

HeapCreate - que cria uma heap privada onde podes alocar as variáveis que pretendes

HeapDestroy - destrói essa heap

HeapAlloc - é através do HeapAlloc que crias as variáveis dentro da heap privada

HeapFree - elimina as variáveis criadas dentro da heap

Espero ter ajudado.

Share this post


Link to post
Share on other sites
pikax

Obrigado.

KFBoom nao queria fazer algo so' com a API do windows, porque e' para usar tambem em linux.

http://bitsquid.blog...ation-in-c.html

Pode ser que isso ajude.

Penso que e' isso mesmo, por alto parece que e' isso, vou ver se arranjo algum tempo livro e vou ver se e' mesmo isso que quero.


Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender.

A beleza de um código está em decompor problemas complexos em pequenos blocos simples.

"learn how to do it manually first, then use the wizzy tool to save time."

"Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.