Neil Conway wrote: > On Wed, 2004-09-29 at 21:37, Bruce Momjian wrote: > > The reason MemSet is a win is not that the C code is great but because > > it eliminates a function call. > > A reasonable compiler ought to be able to implement memset() as a > compiler intrinsic where it makes sense to do so. MSVC++ can certainly > do this; per the GCC 3.4 docs, it seems GCC can/does as well: > > The ISO C90 functions abort, abs, acos, asin, atan2, atan, calloc, ceil, > cosh, cos, exit, exp, fabs, floor, fmod, fprintf, fputs, frexp, fscanf, > labs, ldexp, log10, log, malloc, memcmp, memcpy, memset, modf, pow, > printf, putchar, puts, scanf, sinh, sin, snprintf, sprintf, sqrt, > sscanf, strcat, strchr, strcmp, strcpy, strcspn, strlen, strncat, > strncmp, strncpy, strpbrk, strrchr, strspn, strstr, tanh, tan, vfprintf, > vprintf and vsprintf are all recognized as built-in functions unless > -fno-builtin is specified (or -fno-builtin-function is specified for an > individual function). All of these functions have corresponding versions > prefixed with __builtin_. > > (http://gcc.gnu.org/onlinedocs/gcc-3.4.2/gcc/Other-Builtins.html#Other-Builtins)
MemSet was written when gcc 2.X wasn't even stable yet. Have you run any tests on 3.4 to see if MemSet is still a win with that compiler? -- Bruce Momjian | http://candle.pha.pa.us [EMAIL PROTECTED] | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings