Originally Posted by
Salem
What you're not aware of is that calling free() does NOT give the memory back to the OS but it is kept by the memory pool manager in the process. This is so if you call malloc again, the process can satisfy the request quickly rather than trapping into the OS (which is very slow by comparison).