BCS wrote: > Hello AxelS, > >> BCS Wrote: >> >>> You can't. The D runtime (and most other runtimes) don't ever reduce >>> the amount of memory they keep in the heap. If you where to allocate >>> another 25MB right after that function you would see no change in the >>> memory usage. The good news is that with virtual memory, all of that >>> has almost zero cost. What matters is how much ram you are actively >>> using. >>> >> I want to load and send a file via network...when I load the entire >> file into memory it's very stupid that I can't release that memory >> again... >> >> OK I'll try it with the C API but thanks for your help! >> > > C's runtime (malloc/free) doesn't return memory to the OS either.
Um .. yes it does. :) #include <stdio.h> #include <stdlib.h> int main() { void *p = calloc(1024*1024*256, 1); system("sleep 10"); free(p); system("sleep 10"); return 0; } Run that, wait 10s, and watch the memory usage go down.