Mir vs. Numpy: Reworked!
    9il 
    ilyayaroshenko at gmail.com
       
    Thu Dec  3 16:27:59 UTC 2020
    
    
  
Hi all,
Since the first announcement [0] the original benchmark [1] has 
been boosted [2] with Mir-like implementations.
D+Mir:
  1. is more abstract than NumPy
  2. requires less code for multidimensional algorithms
  3. doesn't require indexing
  4. uses recursion across dimensions
  5. a few times faster than NumPy for non-trivial real-world 
applications.
Why Mir is faster than NumPy?
1. Mir allows the compiler to generate specialized kernels while 
NumPy constraints a user to write code that needs to access 
memory twice or more times.
Another Mir killer feature is the ability to write generalized 
N-dimensional implementations, while Numpy code needs to have 
separate implementations for 1D, 2D, and 3D cases. For example, 
the main D loop in the benchmark can compile for 4D, 5D, and 
higher dimensional optimizations.
2. @nogc iteration loop. @nogc helps when you need to control 
what is going on with your memory allocations in the critical 
code part.
[0] 
https://forum.dlang.org/post/pemharpztorlqkxdooul@forum.dlang.org
[1] https://github.com/typohnebild/numpy-vs-mir
[2] https://github.com/typohnebild/numpy-vs-mir/pull/1
The benchmark [1] has been created by Christoph Alt and Tobias 
Schmidt.
Kind regards,
Ilya
    
    
More information about the Digitalmars-d-announce
mailing list