On Wednesday 09 April 2014 04:55:42 nginxsantos wrote:
> Nginx when it accepts a connection, it creates a memory pool for that
> connection (allocating from heap). After which further memory requirement
> for that connection will be allocated from that pool. This is good.
> But, why don't we pre create the memory pools depending upon the number of
> connections and use that pool. In the current approach if some connections
> are coming up going down., we will be allocating and freeing to heap
> frequently.
>
> Can someone please clarify why this has been done like this?
>
System allocators are usually smart enough to not transform every malloc()
into syscall.
One of the main benefits provided by these pools is convenient memory
management for C program that allows to not care much about corresponding
free() calls and memory leaks.
So usually every pool is attached to some object with a clear life cycle,
like a request or a connection.
wbr, Valentin V. Bartenev
_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx