While we may be tempted to go with the reason that memcpy is faster
(simply because it knows the no of bytes to be copied in advance and
doesn't need to compare each byte-to-be-copied with a '\0', it is also
implementation dependent and performance could vary depending on if
assembler optimizations to copy several bytes at once are used or not),
please note that these are *functionally* different. While strcpy() will
stop copying on encountering the null terminator, memcpy will copy the
number of bytes passed in past the termination character. They are meant
for different things IMHO, depending on what you want :) In general its
probably better practice to stick to strcpy (or even better, strncpy)
when dealing with strings.
Anand
On 03/24/2014 12:35 PM, Atin Mukherjee wrote:
Hi List,
In GlusterFS codebase, strcpy() calls have been used in many places.
IMO, if we can replace strcpy calls with memcpy() we would get a
performance bonus as memcpy directly interacts with memory area. I am
posting this suggestion based on my earlier project experience where
we have seen a significant difference of performance with this replace.
Please feel free to add if you think otherwise.
Regards,
Atin Mukherjee
Senior Software Engineer
E-9, Extn : 73196, Direct : 08039245196, Mobile: +919739491377
Email - amukh...@redhat.com
_______________________________________________
Gluster-devel mailing list
Gluster-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/gluster-devel
_______________________________________________
Gluster-devel mailing list
Gluster-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/gluster-devel