msvcrt - memmove/memcpy optimizations

Martin Storsjö martin at martin.st
Fri Aug 14 14:29:50 CDT 2020


On Fri, 14 Aug 2020, piotr at codeweavers.com wrote:

> I'm not sure how complicated the assembly implementation is but I'm
> expecting that a separated assembly file will not be needed. Also, AFAIK, we
> can't take the implementation from glibc. It would be also useful to know
> how efficient Microsoft implementation is.
> 
> Musl also have platform specific implementation of memove (for i386 and x64)
> written is assembly. I bet it should be good enough for Wine.

FWIW, I happened to try to do some sort of benchmark of various memcpy 
implementations (for a different usecase in mingw-w64) recently, see 
https://sourceforge.net/p/mingw-w64/mailman/message/37030146/ for the 
measurements and a link to the tool I used for testing.

My conclusion there was that the musl x86_64 assembly implementation looks 
really good, and the musl C implementation also behaved pretty well, if 
compiled with GCC. The musl C implementation if compiled with clang was 
rather slow though.

// Martin




More information about the wine-devel mailing list