This benchmark shows that while owl is as fast as lacaml for operations on large matrices (dim = 100), it is slower by a factor 2 to 3 on small ones (dim = 4). Also vector initialization is slower with owl whatever the size.
┌──────────────────────┬──────────┬─────────┬────────────┐
│ Name │ Time/Run │ mWd/Run │ Percentage │
├──────────────────────┼──────────┼─────────┼────────────┤
│ lacaml-mat-vec-mul-4 │ 194.78ns │ 22.00w │ 35.46% │
│ owl-mat-vec-mul-4 │ 549.35ns │ 148.00w │ 100.00% │
└──────────────────────┴──────────┴─────────┴────────────┘
┌────────────────────────┬──────────┬─────────┬────────────┐
│ Name │ Time/Run │ mWd/Run │ Percentage │
├────────────────────────┼──────────┼─────────┼────────────┤
│ lacaml-mat-vec-mul-100 │ 6.28us │ 22.00w │ 97.57% │
│ owl-mat-vec-mul-100 │ 6.43us │ 148.00w │ 100.00% │
└────────────────────────┴──────────┴─────────┴────────────┘
┌──────────────────────┬──────────┬─────────┬────────────┐
│ Name │ Time/Run │ mWd/Run │ Percentage │
├──────────────────────┼──────────┼─────────┼────────────┤
│ lacaml-mat-mat-mul-4 │ 317.90ns │ 18.00w │ 54.40% │
│ owl-mat-mat-mul-4 │ 584.41ns │ 148.00w │ 100.00% │
└──────────────────────┴──────────┴─────────┴────────────┘
┌────────────────────────┬──────────┬─────────┬──────────┬──────────┬────────────┐
│ Name │ Time/Run │ mWd/Run │ mjWd/Run │ Prom/Run │ Percentage │
├────────────────────────┼──────────┼─────────┼──────────┼──────────┼────────────┤
│ lacaml-mat-mat-mul-100 │ 47.96us │ 18.24w │ 0.16w │ 0.16w │ 100.00% │
│ owl-mat-mat-mul-100 │ 46.14us │ 148.03w │ │ │ 96.19% │
└────────────────────────┴──────────┴─────────┴──────────┴──────────┴────────────┘
┌───────────────────┬──────────┬─────────┬────────────┐
│ Name │ Time/Run │ mWd/Run │ Percentage │
├───────────────────┼──────────┼─────────┼────────────┤
│ lacaml-vec-init-4 │ 64.38ns │ 9.00w │ 31.79% │
│ owl-vec-init-4 │ 202.55ns │ 32.00w │ 100.00% │
└───────────────────┴──────────┴─────────┴────────────┘
┌─────────────────────┬──────────┬─────────┬────────────┐
│ Name │ Time/Run │ mWd/Run │ Percentage │
├─────────────────────┼──────────┼─────────┼────────────┤
│ lacaml-vec-init-100 │ 280.10ns │ 9.00w │ 29.77% │
│ owl-vec-init-100 │ 941.00ns │ 32.00w │ 100.00% │
└─────────────────────┴──────────┴─────────┴────────────┘