almondyoung / libyuv

Automatically exported from code.google.com/p/libyuv
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

Attenuate and Unattenuate are slow #279

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
C versions are slow.  Avoid.

ARGBUnattenuate_Unaligned (4076 ms)
ARGBAttenuate_Unaligned (2931 ms)
ARGBUnattenuate_Any (592 ms)
ARGBUnattenuate_Invert (571 ms)
ARGBUnattenuate_Opt (553 ms)
ARGBAttenuate_Any (488 ms)
ARGBAttenuate_Invert (471 ms)
ARGBAttenuate_Opt (449 ms)
TestAttenuate (431 ms)

Switch to unaligned memory avoids C fallback.  Will hurt aligned Atom and Core, 
but help unaligned and new cpus
ARGBAttenuate_Unaligned (634 ms)
ARGBUnattenuate_Any (595 ms)
ARGBUnattenuate_Invert (576 ms)
ARGBUnattenuate_Unaligned (573 ms)
ARGBUnattenuate_Opt (549 ms)
ARGBAttenuate_Any (488 ms)
ARGBAttenuate_Invert (472 ms)
ARGBAttenuate_Opt (455 ms)
TestAttenuate (432 ms)

Original issue reported on code.google.com by fbarch...@google.com on 21 Oct 2013 at 9:20

GoogleCodeExporter commented 8 years ago
unittest improved in r840

Original comment by fbarch...@google.com on 4 Nov 2013 at 8:55

GoogleCodeExporter commented 8 years ago
Deferring until there is higher demand.

Original comment by fbarch...@google.com on 1 Apr 2014 at 3:46