Date: Sun, 15 Mar 2009 11:52:06 +0100 From: cpghost <cpghost@cordula.ws> To: Wojciech Puchar <wojtek@wojtek.tensor.gdynia.pl> Cc: freebsd-questions@freebsd.org Subject: Re: Speeding up exit(2)? Message-ID: <20090315105206.GB1282@phenom.cordula.ws> In-Reply-To: <alpine.BSF.2.00.0903151106210.41179@wojtek.tensor.gdynia.pl> References: <20090315091301.GB1051@phenom.cordula.ws> <alpine.BSF.2.00.0903151027050.41063@wojtek.tensor.gdynia.pl> <20090315100141.GA1282@phenom.cordula.ws> <alpine.BSF.2.00.0903151106210.41179@wojtek.tensor.gdynia.pl>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Mar 15, 2009 at 11:09:00AM +0100, Wojciech Puchar wrote: > >> > >> is it your program and you are sure it's on exit? > > > > Every memory hungry program is concerned; and yes: it happens exactly > > on exit. > > strange. > i just wrote a test program > > #include <stdio.h> > int test[1024*1024*128]; > main() { > int a; > for(a=0;a<1024*1024*128;a++) test[a]=a; > puts("end"); > } > > it fills 512MB RAM and then ends. i have 256MB RAM in laptop > > it swapped a lot, then wrote "end" and immediately exited. Hmmm... yes, it's strange. With malloc-ed space, exit is also very fast. On a 2 GB machine with amd64, exit is almost immediate: ----- snip ---------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <strings.h> #define NRGIGS 4 #define BIGSIZE (1024*1024*1024) #define SOMETIME 15 main() { int a; char *p; for (a=0; a<NRGIGS; a++) { p = (char *)malloc(BIGSIZE); bzero(p, BIGSIZE); } printf("about to end in %d seconds...\n", SOMETIME); sleep(SOMETIME); printf("end now.\n"); return 0; } ----- snip --------------------------------------------- If I find a way to isolate the problem, I'll post it here. Thanks, -cpghost. -- Cordula's Web. http://www.cordula.ws/
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090315105206.GB1282>