Yesterday we had kryptonite being found, today we learn about a large planet which is "earth like" and orbits a red sun (granted a red dwarf not a red giant)... I think we better start watching out for UFO sightings around corn fields.
This is probably because, as you suspect, most STL implementations use a custom allocator for memory allocations which NEVER releases memory to the system. When objects destruct, it places this memory on a free-list and then attempts to reuse it later.
This increases performance for multithreaded apps, but has the obvious disadvantage that if you had to handle one request that used up a large amount of memory, your server will not release that memory to the OS until the process exits.
Yesterday we had kryptonite being found, today we learn about a large planet which is "earth like" and orbits a red sun (granted a red dwarf not a red giant)... I think we better start watching out for UFO sightings around corn fields.
This could be an approach for implementing n-tuples :-)
u ide.html
http://www.boost.org/libs/tuple/doc/tuple_users_g
This is probably because, as you suspect, most STL implementations use a custom allocator for memory allocations which NEVER releases memory to the system. When objects destruct, it places this memory on a free-list and then attempts to reuse it later.
This increases performance for multithreaded apps, but has the obvious disadvantage that if you had to handle one request that used up a large amount of memory, your server will not release that memory to the OS until the process exits.