Hi all,

There are two first [1] benchmarks for upcoming ndslice.algorithm [2]. Recent LDC alpha based on LLVM 3.8 and recent Mir v0.16.0-alpha3 are required. @fasmath syntax may be changed a little bit and will be simplified anyway.


Dot Product:

       ndReduce vectorized = 3 ms, 314 μs
                  ndReduce = 14 ms, 767 μs
numeric.dotProduct, arrays = 7 ms, 260 μs
numeric.dotProduct, slices = 14 ms, 782 μs
              zip & reduce = 74 ms, 280 μs

Euclidean Distance:

                ndReduce vectorized = 3 ms, 668 μs
                           ndReduce = 14 ms, 595 μs
  numeric.euclideanDistance, arrays = 14 ms, 463 μs
  numeric.euclideanDistance, slices = 14 ms, 465 μs
                       zip & reduce = 73 ms, 678 μs

[1] https://github.com/libmir/mir/tree/master/benchmarks/ndslice
[2] https://github.com/dlang/phobos/pull/4652

Best regards,
Ilya

Reply via email to