From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Zeugswetter Andreas DCP SD" <ZeugswetterA(at)spardat(dot)at> |
Cc: | "Sergey E(dot) Koposov" <math(at)sai(dot)msu(dot)ru>, mark(at)mark(dot)mielke(dot)cc, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Faster StrNCpy |
Date: | 2006-10-03 14:20:18 |
Message-ID: | 25223.1159885218@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
"Zeugswetter Andreas DCP SD" <ZeugswetterA(at)spardat(dot)at> writes:
>> I'm still interested to experiment with MemSet-then-strlcpy
>> for namestrcpy, but given the LENCPY results this may be a loser too.
> Um, why not strlcpy then MemSet the rest ?
Two reasons:
* The main point is to do the zeroing using word-wide operations, and if
you do the above then memset will probably be facing a zeroing request
that is neither word-aligned nor word-length. It may be able to recover
(doing it partly byte-wide and partly word-wide), but this will easily
eat up the time savings of skipping the first couple words.
* On compilers that treat memset as a builtin, there are significant
advantages to doing memset with a constant length: the compiler might
be able to unroll the loop entirely. (I was annoyed to find that FC5's
gcc on x86_64 seems to understand very well how to inline a constant
length memcpy, but not memset :-(.)
I did actually do some experiments with the above yesterday, and found
that it was a significant win on an old x86 (with about a 10-byte source
string) but about a wash on newer architectures.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2006-10-03 14:20:19 | Re: [PATCHES] Generic Monitoring Framework with DTrace patch |
Previous Message | mark | 2006-10-03 14:12:57 | Re: Faster StrNCpy |
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2006-10-03 14:20:19 | Re: [PATCHES] Generic Monitoring Framework with DTrace patch |
Previous Message | mark | 2006-10-03 14:12:57 | Re: Faster StrNCpy |