From: <an...@ir...> - 2002-05-26 19:08:02
|
Hello again, I realized why my patch didn't apply - I did a modification to the patch *after* I had made it (the modification was something that would have broken non-PPC/x86 compiles). So, ...more testing please =) I also wrote a small program to test how well the memcpy's work, here's it s output: Testing glibc memcpy (16 bytes, 20000000 iterations)... 328 (1/100 of a second) Testing ppcasm_memcpy (16 bytes, 20000000 iterations)... 88 (1/100 of a second) Testing ppcasm_cacheable_memcpy (16 bytes, 20000000 iterations)... 127 (1/100 of a second) Testing glibc memcpy (1024 bytes, 500000 iterations)... 72 (1/100 of a second) Testing ppcasm_memcpy (1024 bytes, 500000 iterations)... 65 (1/100 of a second) Testing ppcasm_cacheable_memcpy (1024 bytes, 500000 iterations)... 106 (1/100 of a second) Testing glibc memcpy (1048576 bytes, 100 iterations)... 128 (1/100 of a second) Testing ppcasm_memcpy (1048576 bytes, 100 iterations)... 132 (1/100 of a second) Testing ppcasm_cacheable_memcpy (1048576 bytes, 100 iterations)... 81 (1/100 of a second) Testing glibc memcpy (16777216 bytes, 10 iterations)... 217 (1/100 of a second) Testing ppcasm_memcpy (16777216 bytes, 10 iterations)... 216 (1/100 of a second) Testing ppcasm_cacheable_memcpy (16777216 bytes, 10 iterations)... 142 (1/100 of a second) The "problem" range for ppcasm_cacheable_memcpy seems to be about 512b-4096b however, making a switchable memcpy makes things worse... Ideas? Andrew Patrikalakis (PS: get the tester @ http://anrp.irulethe.net/memspeed.tar.bz2) |