• [^] # Re: Quitte à faire du branchless

    Posté par (site web personnel) . En réponse au journal Exercices de programmation et benchmarks. Évalué à 2.

    Bien vu pour la version sans multiplication :) On voit bien la vectorisation et ça marche bien mieux :

    2020年02月12日 08:34:50
    Running ./build/matrix-elements-sum-GNU
    Run on (4 X 3100 MHz CPU s)
    CPU Caches:
     L1 Data 32 KiB (x2)
     L1 Instruction 32 KiB (x2)
     L2 Unified 256 KiB (x2)
     L3 Unified 3072 KiB (x1)
    Load Average: 0.67, 0.67, 0.63
    ***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.
    -------------------------------------------------------------
    Benchmark Time CPU Iterations
    -------------------------------------------------------------
    branchless/2 28.4 ns 28.4 ns 24540986
    branchless/4 45.6 ns 45.6 ns 15164641
    branchless/8 116 ns 116 ns 5777179
    branchless/16 369 ns 369 ns 1898641
    branchless/32 1387 ns 1387 ns 484254
    branchless/64 5847 ns 5846 ns 111630
    branchless/128 22439 ns 22436 ns 30474
    branchless/256 88132 ns 88125 ns 7754
    branchless/512 349637 ns 349573 ns 2010
    branchless/1024 1441557 ns 1441252 ns 485
    branchless/2048 5766216 ns 5764464 ns 121
    branchless/4096 22847843 ns 22846967 ns 31
    branchless/8192 91376681 ns 91368790 ns 8
    branchless/16384 367024190 ns 366997034 ns 2
    branchless_2/2 34.7 ns 34.7 ns 20037235
    branchless_2/4 40.5 ns 40.5 ns 17081915
    branchless_2/8 62.9 ns 62.9 ns 10383991
    branchless_2/16 146 ns 146 ns 4770697
    branchless_2/32 435 ns 435 ns 1600480
    branchless_2/64 1869 ns 1863 ns 450005
    branchless_2/128 5882 ns 5882 ns 104268
    branchless_2/256 24406 ns 24407 ns 28618
    branchless_2/512 100493 ns 100124 ns 7202
    branchless_2/1024 473645 ns 473618 ns 1248
    branchless_2/2048 2284499 ns 2284170 ns 288
    branchless_2/4096 6951965 ns 6951809 ns 79
    branchless_2/8192 33005646 ns 33002903 ns 20
    branchless_2/16384 118768214 ns 118758699 ns 5