optimisé memcpy

Sont plus rapidement des solutions de rechange à memcpy() en C++?

  • Si il y avait un moyen plus rapide, pourquoi n'auraient-ils pas l'utiliser dans memcpy mise en œuvre?
  • Ce sujet de l'ESS?
  • Le memcpy fonction peut être appelée avec des pointeurs de l'arbitraire à l'alignement, pour les choses de l'arbitraire des GOUSSES de type, et peut arbitrairement alias toute GOUSSES d'objets dont l'adresse a été exposé à l'extérieur de code. Compte tenu de struct fnord a,b; void * volatile p=&a,*volatile q=&b; je m'attends à ce *((struct fnord*)p)=*((struct fnord*)q); à effectuer beaucoup mieux que memcpy(p,q, sizeof (struct fnord)); puisque dans le premier cas, un compilateur pourrait légitimement supposer p et q seront alignés pour un struct fnord et de ne pas alias autre chose, mais dans ce dernier cas, il ne peut pas.
InformationsquelleAutor Bi. | 2009-07-30