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