> 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. It would probably be better to use int64_t and int32_t instead of long/int, in order to make the intention more obvious. -- Matt EmmertonReceived on Sat Jun 04 2005 - 23:36:34 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:35 UTC