Tom Lane wrote:
> Peter Eisentraut <peter_e(at)gmx(dot)net> writes:
> > Can someone explain to me why memset() would ever be better than MemSet()?
> memset() should *always* be faster than any C-coded implementation
> thereof. Any competent assembly-language writer can beat C-level
> locutions, or at least equal them, if he's willing to expend the
You would think so. I am surprised too.
> I've frankly been astonished at the number of platforms where it
> seems memset() has not been coded with an appropriate degree of
> tenseness. The fact that we've found it useful to invent MemSet()
> is a pretty damning indictment of the competence of modern C-library
Remember, MemSet was invented only to prevent function call overhead,
and on my BSD/OS system, len >= 256 is faster with the libc memset().
It is a fluke we found out that MemSet is faster that memset for all
lengths on some platforms.
> Or am I just stuck in the obsolete notion that vendors should provide
> some amount of platform-specific tuning, and not a generic library?
What really surprised me is that MemSet won on Sparc, where they have an
assembler language version that looks very similar to the MemSet loop.
In fact, I was the one who encouraged BSD/OS to write assembler language
verions of many of their str* and mem* functions.
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073
In response to
pgsql-hackers by date
|Next:||From: Bruce Momjian||Date: 2002-10-10 04:56:54|
|Subject: Re: GRANT on functions/languages|
|Previous:||From: Tom Lane||Date: 2002-10-10 04:47:34|
|Subject: Re: GRANT on functions/languages |
pgsql-patches by date
|Next:||From: Neil Conway||Date: 2002-10-10 06:51:16|
|Subject: Re: inline newNode()|
|Previous:||From: Tom Lane||Date: 2002-10-10 04:00:59|
|Subject: Re: inline newNode() |