Date: Tue, 20 Jan 2009 13:58:59 +0530 From: Channa <channa.kad@gmail.com> To: freebsd-current@freebsd.org Subject: jemalloc on uniprocessor Message-ID: <515c64960901200028v4cf36559ladb318383bff68e0@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi All, I am testing the performance of jemalloc on uniprocessor( MIPS arch). I could see if the number of threads are more the time taken for execution for some threads takes extreme values. I have the results as below: ./malloc-test 16 1000 30 Thread 2136997200 adjusted timing for malloc is: 1245 micro seconds for 1000 requests of 16 bytes. Thread 2134900048 adjusted timing for malloc is: 1119 micro seconds for 1000 requests of 16 bytes. Thread 2132802896 adjusted timing for malloc is: 1134 micro seconds for 1000 requests of 16 bytes. Thread 2130705744 adjusted timing for malloc is: 1119 micro seconds for 1000 requests of 16 bytes. Thread 2128608592 adjusted timing for malloc is: 3704 micro seconds for 1000 requests of 16 bytes. Thread 2126511440 adjusted timing for malloc is: 6742 micro seconds for 1000 requests of 16 bytes. Thread 2122317136 adjusted timing for malloc is: 10601 micro seconds for 1000 requests of 16 bytes. Thread 2124414288 adjusted timing for malloc is: 18722 micro seconds for 1000 requests of 16 bytes. < == HERE Thread 2118122832 adjusted timing for malloc is: 22490 micro seconds for 1000 requests of 16 bytes. < == HERE Thread 2120219984 adjusted timing for malloc is: 26584 micro seconds for 1000 requests of 16 bytes. < == HERE Thread 2116025680 adjusted timing for malloc is: 30462 micro seconds for 1000 requests of 16 bytes. Thread 2109734224 adjusted timing for malloc is: 34568 micro seconds for 1000 requests of 16 bytes. Thread 2111831376 adjusted timing for malloc is: 38361 micro seconds for 1000 requests of 16 bytes. Thread 2113928528 adjusted timing for malloc is: 42392 micro seconds for 1000 requests of 16 bytes. Thread 2105539920 adjusted timing for malloc is: 46194 micro seconds for 1000 requests of 16 bytes. Thread 2107637072 adjusted timing for malloc is: 50230 micro seconds for 1000 requests of 16 bytes. Thread 2103442768 adjusted timing for malloc is: 54132 micro seconds for 1000 requests of 16 bytes. Thread 2101345616 adjusted timing for malloc is: 58065 micro seconds for 1000 requests of 16 bytes. Thread 2099248464 adjusted timing for malloc is: 1133 micro seconds for 1000 requests of 16 bytes. Thread 2097151312 adjusted timing for malloc is: 1168 micro seconds for 1000 requests of 16 bytes. Thread 2095054160 adjusted timing for malloc is: 1100 micro seconds for 1000 requests of 16 bytes. Thread 2092957008 adjusted timing for malloc is: 1176 micro seconds for 1000 requests of 16 bytes. Thread 2090859856 adjusted timing for malloc is: 1134 micro seconds for 1000 requests of 16 bytes. Thread 2088762704 adjusted timing for malloc is: 3194 micro seconds for 1000 requests of 16 bytes. Thread 2086665552 adjusted timing for malloc is: 6710 micro seconds for 1000 requests of 16 bytes. Thread 2084568400 adjusted timing for malloc is: 10770 micro seconds for 1000 requests of 16 bytes. Thread 2080374096 adjusted timing for malloc is: 14513 micro seconds for 1000 requests of 16 bytes. Thread 2082471248 adjusted timing for malloc is: 18580 micro seconds for 1000 requests of 16 bytes. Thread 2078276944 adjusted timing for malloc is: 22601 micro seconds for 1000 requests of 16 bytes. Thread 2076179792 adjusted timing for malloc is: 26405 micro seconds for 1000 requests of 16 bytes. As shown in the above results mentioned "HERE" the threads take more time. I have allocated 16 bytes for 1000 iteration for 30 threads. Could anyone helpme , why the above results are seen? Is is because of lock contention on uniprocessor since only one arena is used? Awaiting for your reply. Thanks & Regards, Channa
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?515c64960901200028v4cf36559ladb318383bff68e0>