Re: [PATCH RFC] [X86] performance improvement for memcpy_64.S by fast string.
From: Cyrill Gorcunov
Date: Wed Nov 11 2009 - 23:28:12 EST
On Thu, Nov 12, 2009 at 1:39 AM, H. Peter Anvin <hpa@xxxxxxxxx> wrote:
> On 11/11/2009 12:34 PM, Cyrill Gorcunov wrote:
>> memcpy_orig memcpy_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.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/