New variants of block based C backwards copy
Because some processors are sensitive to the order of memory accesses, add a few more variants of memory buffer backwards copy which do sequential memory writes in the forward direction inside of each sub-block of certain size. The most interesting sizes of such sub-blocks are 32 and 64 bytes, because they match the most frequently used CPU cache line sizes. Example reports: == ARM Cortex A7 == C copy backwards : 266.5 MB/s C copy backwards (32 byte blocks) : 1015.6 MB/s C copy backwards (64 byte blocks) : 1045.7 MB/s C copy : 1033.3 MB/s == ARM Cortex A15 == C copy backwards : 1438.5 MB/s C copy backwards (32 byte blocks) : 1497.5 MB/s C copy backwards (64 byte blocks) : 2643.2 MB/s C copy : 2985.8 MB/s
Loading
Please register or sign in to comment