Date: Tue, 21 Jul 2009 13:25:41 GMT From: Zhao Shuai <zhaoshuai@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 166362 for review Message-ID: <200907211325.n6LDPfki044697@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=166362 Change 166362 by zhaoshuai@zhaoshuai on 2009/07/21 13:25:06 add LMbench result Affected files ... .. //depot/projects/soc2009/fifo/fifo_test/README#3 edit Differences ... ==== //depot/projects/soc2009/fifo/fifo_test/README#3 (text+ko) ==== @@ -57,7 +57,7 @@ The test is executed 100 times for all combinations of the following parameters for message size and number of messages transmitted. The - avarage time is caculated and then printed. + avarage time cost is caculated and then printed. - Message size(bytes): 64, 128, 256, 512, 1024, 2048, 4096 - Number of messages : 100, 1000, 5000, 10000, 100000 @@ -91,10 +91,50 @@ From these results, we can see that the new fifo implementation gains little advantage over the old fifo implementation when transfering small amount of data. - e.g. transferring 100*128 bytes of data costs 89 microseconds under the new fifo - code while it costs 96 microseconds under the old fifo code. But when transferring + e.g. handling 100*128 bytes of data costs 89 microseconds under the new fifo code + while it costs 96 microseconds under the old fifo code. But when transferring large amount of data, the new fifo implementation gains significant advantage over - the old fifo implementation. e.g. it takes 1126 microseconds transferring 10000*64 + the old fifo implementation. e.g. it takes 1126 microseconds handling 10000*64 bytes of data under the old fifo implementation, but under the new fifo implementation, it takes 753 microseconds, saving 30% of time. That is to say, the new fifo system increases the throughput by 30% in this case. + + == LMbench == + + There is a FIFO related test in LMBench. It is designed to measure FIFO latency. + I run the test many times, but the result varies from time to time. + + Here are 10 results observed under the new fifo implementation. + + FIFO latency: 12.2243 microseconds + FIFO latency: 12.1555 microseconds + FIFO latency: 16.0318 microseconds + FIFO latency: 16.4396 microseconds + FIFO latency: 14.5265 microseconds + FIFO latency: 15.3577 microseconds + FIFO latency: 7.5029 microseconds + FIFO latency: 12.9248 microseconds + FIFO latency: 13.6932 microseconds + FIFO latency: 11.6913 microseconds + + The following 10 results are observed under the old fifo implementation. + + FIFO latency: 11.8956 microseconds + FIFO latency: 10.2409 microseconds + FIFO latency: 10.8170 microseconds + FIFO latency: 9.4636 microseconds + FIFO latency: 18.8605 microseconds + FIFO latency: 5.7682 microseconds + FIFO latency: 6.9138 microseconds + FIFO latency: 5.6443 microseconds + FIFO latency: 15.9345 microseconds + FIFO latency: 7.4886 microseconds + + It is very strange that the result fluctuates in a large range. Since each value + we get is an avarage value which is caculated after hundreds of internal test, + we could expect that each result have little difference with others. + + I think the testing method adopted by LMbench is not stable, thus those results + are not convincing. + +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907211325.n6LDPfki044697>