This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hello, I've improved the following implementation of memcpy: "sysdeps/i386/i686/multiarch/memcpy-ssse3.S". The patch includes some minor style fixes, but the important part is just using prefetch loops for the case: DATA_CACHE_SIZE_HALF <= len < SHARED_CACHE_SIZE_HALF and src and dst pointers have unequal 16 byte alignments. This gives from 6% - 50% performance boost on the atom machine, about 24,73% in geometric mean. Please, see the attached file for more details. A boost in % is shown there. ChangeLog: 2012-03-22 Liubov Dmitrieva <liubov.dmitrieva@gmail.com> * sysdeps/i386/i686/multiarch/memcpy-ssse3.S: Update. Optimize memcpy with prefetch if DATA_CACHE_SIZE_HALF <= len < SHARED_CACHE_SIZE_HALF and src, dst pointers have unequal 16 byte alignments. -- Liubov Dmitrieva Software Engineer
Attachment:
memcpy_new_patch.txt
Description: Text document
Attachment:
memcpy_improved.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |