Serhiy Storchaka added the comment: About memcpy(). Here is sample file. Compile it to assembler:
gcc -O2 -S -masm=intel fnv.c With memcpy() main loop is compiled to: .L3: mov esi, DWORD PTR [ebx] imul eax, eax, 1000003 add ebx, 4 xor eax, esi sub ecx, 1 mov DWORD PTR [esp+24], esi jne .L3 With per-byte copy it is compiled to: .L3: mov dl, BYTE PTR [ecx] imul eax, eax, 1000003 sub ebp, 1 movzx ebx, BYTE PTR [ecx+1] movzx edi, BYTE PTR [ecx+2] movzx esi, BYTE PTR [ecx+3] add ecx, 4 mov dh, bl sal edi, 16 movzx edx, dx sal esi, 24 or edx, edi or edx, esi xor eax, edx cmp ebp, -1 jne .L3 ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue19183> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com