Hello, I ran nbench on different workstations and noticed that amd64-platform is really bad when doing "STRINGSORT". Sempron 2200+ (i386) : 88 iterations/second Athlon64 3000+ (amd64): 32.15 iterations/second I looked inside nbench and it seems to call memmove very often. This is OK, in my opinion, so I investigated further. I've just looked inside libc how memmove/memcpy is handled there. The function is inside bcopy.c. I noticed that the "word" which is used for copying has the size of "int". Wouldn't it be better to set it to "typedef long word"? OpenBSD is using "long" there, for example, as I noticed later. I don't have amd64 at home, so I cannot really test everything out. Can someone of you take a look at the code in libc/string? There are various places that are using "int" instead of "long", e.g. also in memset-code. Can anyone confirm this bad performance with STRINGSORT on amd64? MartinReceived on Sat Jun 04 2005 - 22:56:03 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:35 UTC