Name: Anonymous 2011-04-03 6:16
memcpy should be aliased to memmove.Thread over.
memcpy should be aliased to memmove.[MoveMemorySegmentFrom: to: DeleteTheFirstSegment:].
memcpy faster by virtue of having to do less? I'm aware that this isn't true in GLIBC because it tests for basically everything except overlap so it's just a useless memmove, but generally speaking.
memmove needlessly pollutes the branch prediction table of modern CPUs when you know that two regions of memory don't overlap.