[Bug libc/24872] __memmove_avx_unaligned_erms() performs significantly much slower than __memcpy_ssse3()

gouhaojake at 163 dot com sourceware-bugzilla@sourceware.org
Sun May 30 01:24:49 GMT 2021


https://sourceware.org/bugzilla/show_bug.cgi?id=24872

--- Comment #10 from 苟浩 <gouhaojake at 163 dot com> ---
I also encountered a similar problem when I used the stream tool to test the
memory bandwidth.

On the same machine, centos7 and centos8 are installed. Centos7 uses glibc-2.17
and centos8 uses glibc-2.28. The stream test data shows that the memory
performance of centos8 is much worse than that of centos7.

>From the flame diagram, the only difference between the two calls is that
glibc-2.28 uses __memmove_avx_unaligned_erms(), glibc-2.17 uses __memcpy_
ssse3()。

This machine is x86_64. However, under aarch64 architecture, glibc-2.17 and
glibc-2.28 perform almost the same.

The stream compile command uses:

# gcc -O3 -mcmodel=large -fopenmp -DSTREAM_ARRAY_SIZE=2147483648 -DNTIMES=30
stream.c -o stream

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the Glibc-bugs mailing list