Hi All The attachment is latest memcpy.c, please update by "cc -o memcpy memcpy.c -O2 -m64". Thanks Ling >-----Original Message----- >From: Cyrill Gorcunov [mailto:gorcunov@gmail.com] >Sent: 2009年11月12日 12:28 >To: H. Peter Anvin >Cc: Ma, Ling; Ingo Molnar; Ingo Molnar; Thomas Gleixner; linux-kernel >Subject: Re: [PATCH RFC] [X86] performance improvement for memcpy_64.S by fast >string. > >On Thu, Nov 12, 2009 at 1:39 AM, H. Peter Anvin wrote: >> On 11/11/2009 12:34 PM, Cyrill Gorcunov wrote: >>>                                               memcpy_orig     memc >py_new >>> TPT: Len 1024, alignment  8/ 0:               490             570 >>> TPT: Len 2048, alignment  8/ 0:               826             329 >>> TPT: Len 3072, alignment  8/ 0:               441             464 >>> TPT: Len 4096, alignment  8/ 0:               579             596 >>> TPT: Len 5120, alignment  8/ 0:               723             729 >>> TPT: Len 6144, alignment  8/ 0:               859             861 >>> TPT: Len 7168, alignment  8/ 0:               996             994 >>> TPT: Len 8192, alignment  8/ 0:               1165            1127 >>> TPT: Len 9216, alignment  8/ 0:               1273            1260 >>> TPT: Len 10240, alignment  8/ 0:      1402            1395 >>> TPT: Len 11264, alignment  8/ 0:      1543            1525 >>> TPT: Len 12288, alignment  8/ 0:      1682            1659 >>> TPT: Len 13312, alignment  8/ 0:      1869            1815 >>> TPT: Len 14336, alignment  8/ 0:      1982            1951 >>> TPT: Len 15360, alignment  8/ 0:      2185            2110 >>> >>> I've run this test a few times and results almost the same, >>> with alignment 1024, 3072, 4096, 5120, 6144, new version a bit slowly. >>> >> >> Was the result for 2048 consistent (it seems odd in the extreme)... the >> discrepancy between this result and Ling's results bothers me; perhaps >> the right answer is to leave the current code for Core2 and use new code >> (with a lower than 1024 threshold?) for NHM and K8? >> >>        -hpa >> > >Hi Peter, > >no, results for 2048 is not repeatable (that is why I didn't mention this number >in a former report). > >Test1: >TPT: Len 2048, alignment 8/ 0: 826 329 >Test2: >TPT: Len 2048, alignment 8/ 0: 359 329 >Test3: >TPT: Len 2048, alignment 8/ 0: 306 331 >Test4: >TPT: Len 2048, alignment 8/ 0: 415 329 > >I guess this was due to cpu frequency change from 800 to 2.1Ghz since >I did tests manually >not using any kind of bash cycle to run the test program.