-
Notifications
You must be signed in to change notification settings - Fork 7.9k
ext/snmp: use memcpy() instead of memmove() #10498
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
memcpy() may be faster because it does not have to consider overlapping buffers.
From a good glance, it seems unnecessary to use memmove in those places indeed, even tough memcpy is not systematically faster, despite the overlap checks so there might be not necessarily a huge win, if there is. When the feature had been rewritten around php 5.5 memmove was still kept, so do not know if it was overlooked or if there is a good reason we just do not see. Saying that I do not oppose the changes neither, but let's see what @Girgias has to say about this. |
True. It's a tiny tiny micro optimization only there to omit the overlap check. As a compiler implementation detail, the compiler can decide to inline |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't see how the memory can overlap here
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.
memcpy() may be faster because it does not have to consider overlapping buffers.