Je réalise un traitement d'image en C qui nécessite de copier de gros morceaux de données autour de la mémoire - la source et la destination ne se chevauchent jamais.Memcpy très rapide pour le traitement d'image?
Quel est le moyen le plus rapide absolu de faire cela sur la plate-forme x86 en utilisant GCC (où SSE, SSE2 mais PAS SSE3 sont disponibles)?
Je prévois que la solution sera en assemblage ou en utilisant les intrinsèques GCC?
J'ai trouvé le lien suivant, mais ont aucune idée que ce soit la meilleure façon d'aller à ce sujet (l'auteur dit aussi qu'il a quelques bugs): http://coding.derkeiler.com/Archive/Assembler/comp.lang.asm.x86/2006-02/msg00123.html
EDIT: noter qu'une copie est nécessaire, je ne peux pas se déplacer avoir à copier les données (je pourrais expliquer pourquoi, mais je vais vous épargner l'explication :))
pouvez-vous écrire votre code de sorte que la copie n'est pas nécessaire en premier lieu? – Ron
Ron, non, je ne peux pas :( – horseyguy
Si vous pouvez obtenir une prise sur le compilateur Intel, vous pourriez avoir de meilleures chances de l'optimiseur de convertir en instructions cpu vecteur –