This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/1541] Poor threaded application performance when using malloc
- From: "sjmunroe at us dot ibm dot com" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 25 Oct 2005 15:53:39 -0000
- Subject: [Bug libc/1541] Poor threaded application performance when using malloc
- References: <20051025141150.1541.sjmunroe@us.ibm.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From sjmunroe at us dot ibm dot com 2005-10-25 15:53 -------
To run the testcase single threaded
./malloc_test 128000 10000
...
Average : 0.718383 seconds for 10000 requests of 128000 bytes, 491MB concurrent.
To run with 16 threads
./malloc_test 128000 10000 16
...
Average : 1.280583 seconds for 10000 requests of 128000 bytes, 490MB concurrent.
These run quickly because 128000 is less than the cash threshold. Now try with a
malloc size larger than the MMAP_THRESHOLD:
./malloc_test 1280000 10000 16
...
Average : 227.594933 seconds for 10000 requests of 421006 bytes, 488MB
concurrent.
Notice the huge jump from 1.28 to 227 seconds while to total concurrent storage
remained constant around 490MB!
Now try a version of malloc-test that changes the MMAP_THRESHOLD to 16M:
./malloc-test_16M 1280000 10000 16
...
Average : 7.473701 seconds for 10000 requests of 421006 bytes, 488MB concurrent.
The time comes down to a more reasonable 7.47 seconds. Finally to verify that
larger MMAP_THRESHOLD does not negatively impact smalled allocatoions try.
./malloc-test_16M 128000 10000 16
...
1.066022 seconds for 10000 requests of 128000 bytes, 490MB concurrent.
Which in this case is faster than with to smalled default MMAP_THRESHOLD.
All runs on my dual 2GHz G5 (PPC64/970) system, but I see simular results on my
dual Athelon system. So I suspect this a common problem across SMP platforms.
--
http://sourceware.org/bugzilla/show_bug.cgi?id=1541
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.