[sane-devel] Schedule for release of sane-backends 1.0.22

Nicolas Martin nicolas0martin at gmail.com
Sat Jan 8 09:09:43 UTC 2011


Thanks for this pointer, very interesting and commented

So we have to be double careful when using memcpy though, even if it
acts faster than its cousin memmove !


Le samedi 08 janvier 2011 à 09:43 +0100, Julien BLACHE a écrit :
> Nicolas Martin <nicolas0martin at gmail.com> wrote:
> Hi,
> > What is weird here, is that the effect of overlap in memcpy does not
> > seem to produce the same effect on different systems !
> Using memcpy() on overlapping memory areas is undefined behaviour per
> spec.
> glibc has several memcpy() implementations optimized for different
> hardware capabilities. A recent implementation for Atom/Core2 CPUs
> performs the copy from tail to head (giving a nice 4x/5x speedup on
> these CPUs), which breaks with overlapping memory areas.
> Using memmove() is the correct way to handle overlapping areas, as
> documented.
> See <http://lwn.net/Articles/414467/> for more (links/comments).
> HTH,
> JB.

More information about the sane-devel mailing list