GNOME Bugzilla – Bug 769259
orc_memcpy() slower than memcpy()
Last modified: 2018-11-03 10:48:24 UTC
Created attachment 332264 [details] [review] memcpy_speed.diff With attached patch for making the memcpy performance test in orc output something meaningful (actual size | time for one iteration with orc | with libc), orc_memcpy() is e.g. about 35% slower than memcpy() on 5MB. This is on Linux with a "Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz" and glibc 2.22. Similar reports on Windows though. When putting the output to a file ("data") you can plot this with gnuplot: > plot "data" using 1:2 t "orc" with lines, "data" using 1:3 t "libc" with lines See also attached plot from me
Created attachment 332265 [details] raw data
Created attachment 332266 [details] orc-libc-memcpy.png
Might be because we use movdqa here, probably unrolled a bit. We could use vmovdqa on CPUs that support AVX, but for supporting AVX we would need a completely separate backend (mixing SSE and AVX instructions makes everything slower).
Bug #769261 for AVX support.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/orc/issues/12.