Date: Mon, 21 Oct 2002 11:25:43 +0200 From: Danny Braniss <danny@cs.huji.ac.il> To: freebsd-hackers@FreeBSD.ORG Subject: malloc Message-ID: <E183Yoh-0009TR-00@cse.cs.huji.ac.il>
next in thread | raw e-mail | index | archive | help
the attached program - which shows the 'efficiancy' of our scientific programmers - tickled my curiosity. if compiled under Linux, it would run fine on FreeBSD 4.7-stable. compiled on FreeBSD it would bomb. so i fixed some kernel values (options MAXDSIZ="(2*1024*1024*1024)") and it run to complition, but: fbsd compiled: complex-2 took 23.652872 seconds, mem used=800000000(762M) linux : complex-2 took 11.969896 seconds, mem used=800000000(762M) comments? danny #include <stdlib.h> #include <sys/time.h> #include <stdio.h> int MAX_N, mem; int main(int argc , char ** argv){ int i; int ** arr; struct timeval t1, t2; if(argc > 1) MAX_N = atoi(argv[1]); else MAX_N = 100000000; gettimeofday(&t1, 0); mem = sizeof (int *) * MAX_N; arr = malloc(mem); if(arr == NULL) { perror("Malloc"); exit(1); } for (i = 0 ; i < MAX_N ; ++i ){ arr[i] = malloc(sizeof(int)); if(arr[i] == NULL) { perror("malloc2"); printf("failed at %d, mem=%d(%d)\n", i, mem, mem/(1024 * 1024)); exit(1); } *arr[i] = i; mem += sizeof(int); } gettimeofday(&t2, 0); printf ("%s took %f seconds, mem used=%d(%dM)\n", getenv ("HOST"), t2.tv_sec-t1.tv_sec + (t2.tv_usec-t1.tv_usec)/(float)(1000000), mem, mem / (1024 * 1024)); for (i = 0 ; i < MAX_N ; ++i ){ if(*arr[i] != i) printf("GUEVALT! %d] %d\n", i, *arr[i]); } exit(0); } To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E183Yoh-0009TR-00>