memmove()Submitted by markos on Tue, 01/29/2008 - 15:35.
Description According to the man page, memmove() copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does not overlap src or dest, and the bytes are then copied from the temporary array to dest. It returns a pointer to dest. Depending on whether the source and dest blocks overlap or not, memmove() behaves the same to memcpy() or a backwards memcpy() (starting the copy from the end of the block to the start). Due to this simple design, it usually is optimised together with memcpy(). libfreevec provides an AltiVec-optimised version. Each CPU in detail: And for comparison here is the result of the same benchmark run on an Athlon X2 5000 (2.5Ghz), running 32-bit code: Results/Comments The same comments done in memcpy() apply here. SIMD
|
SIMDUser login |