Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
README.md
_cgmath.rs
_nalgebra.rs
_ndarray.rs
_rulinalg.rs
_vek.rs
bench.rs

README.md

mathvector_dotproduct

Doing a dot product operation on different size vectors. All floats.

  • Baseline: 3 dimension vector * 3 dimension vector
  • Hundred: 100 dimension vector * 100 dimension vector
  • Thousand: 1000 dimension vector * 1000 dimension vector

Note - cgmath and vek doesn't allow to do more than 4 dimensions.

baseline hundred thousand
vek 0 - -
cgmath 0 - -
rulinalg 0.068 0.117 0.582
ndarray 0.073 0.121 0.592
nalgebra 0.009 0.193 1.131

Speed units are in microseconds per iteration. Less is better.

Crate versions

vek = "0.9.5"      # Generic 2D-3D math swiss army knife for game engines, with SIMD support and focus on convenience.
cgmath = "0.16.1"              # A linear algebra and mathematics library for computer graphics.
rulinalg = "0.4.2"         # A linear algebra library.
ndarray = "0.12.1"            # An n-dimensional array for general elements and for numerics. Lightweight array views and slicing…
nalgebra = "0.16.13"           # Linear algebra library with transformations and statically-sized or dynamically-sized matrices.

Compiled on: rustc 1.31.1 (b6c32da9b 2018-12-18)