Zoran Vasiljevic schrieb:
could not resist to try this on our p5 production system under modest load (64bit, linux, lpar with 25 processors, 8 dual-core with ibms version of hyperthreading)processor : 25 cpu : POWER5 (gr) clock : 1904.448000MHz revision : 2.3Urgs!?? What is this for a monster-machine???
Cool, isn't it? its an ibm p570 running Red Hat Enterprise Linux AS release 4 (Nahant Update 2), everything compiled 64 bit (this was more effort than expected).
The timings what you get are what I expected on a multi-cpu box. However all our single-cpu boxes are WAY slower with ckalloc then with the regular malloc. Do you happen to have a single-cpu box where you can try this out?
not with this processor. if you are interested, i could get access to a 4-cpu box with an p5 processor.
What I'm trying to understand is: is this pattern regular or not?
with vlad's version, i get: Tcl: 8.4.11starting 16 malloc threads...waiting....done: 20000 mallocs, 0 seconds, 392396 usec starting 16 ckalloc threads...waiting....done: 20000 mallocs, 0 seconds, 85702 usec
modifying the #of threads, i get: threads malloc ckalloc ratio 8 0,121891 0,033443 3,644738809 16 0,392396 0,085702 4,578609601 24 0,813853 0,13622 5,974548524 32 1,122965 0,144308 7,781723813 40 1,564372 0,17262 9,062518827 48 2,490847 0,184043 13,53404911 56 3,299245 0,209622 15,73902071 100 8,139274 0,374034 21,76078645 how comes, that ckalloc is so much faster? how do malloc/ckmalloc relate to ns_malloc? even the ratio goes up by the # of threads: for 100 threads it is 21 times faster, while for 8 threads, the ratio is "only" 3.6. See the excel file for the graphics... -gustaf
memtest.xls
Description: application/msexcel