Cast matrix — astype src→dst × layout × dtype (NumSharp vs NumPy 2.4.2)
Full astype(dst, copy:true) sweep over every src→dst dtype pair × 8 memory layouts at 1M elements, best-of-3. ratio = NumPy_ms / NumSharp_ms — >1.0 = NumSharp faster.
✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2 · — = no NumPy counterpart (Decimal has no NumPy dtype).
Summary
- 118 / 1568 comparable cells lag (<1.0); 1450 win (≥1.0).
- 🔴 <0.2 — 0 cells.
- 🟠 0.2–0.5 — 1 cells. Top: 1× * → bool
- 🟡 0.5–1.0 — 117 cells. Top: 23× int → sub-word (narrow); 21× float/cplx → narrow-int (bool/u8/i8/i16/u16/char); 8× f16 → f64
float/complex → narrow-int geomean by src (the historical cliff): f32→narrow 1.96, f64→narrow 1.38, f16→narrow 3.71, c128→narrow 1.08.
Geomean by layout (all src×dst, excl. Decimal)
| C |
F |
T |
sliced |
negrow |
negcol |
strided |
bcast |
| 1.86 ✅ |
1.88 ✅ |
1.93 ✅ |
1.95 ✅ |
1.97 ✅ |
1.82 ✅ |
1.47 ✅ |
2.25 ✅ |
Geomean by src dtype (all layouts×dst)
| bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| 2.35 ✅ |
2.18 ✅ |
2.16 ✅ |
2.19 ✅ |
2.14 ✅ |
1.92 ✅ |
1.88 ✅ |
1.62 ✅ |
1.55 ✅ |
1.98 ✅ |
2.36 ✅ |
1.75 ✅ |
1.43 ✅ |
nan ? |
1.23 ✅ |
Geomean by dst dtype (all layouts×src)
| bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| 2.17 ✅ |
1.94 ✅ |
1.93 ✅ |
1.61 ✅ |
1.60 ✅ |
1.80 ✅ |
1.64 ✅ |
1.89 ✅ |
1.73 ✅ |
1.60 ✅ |
2.48 ✅ |
1.60 ✅ |
2.03 ✅ |
nan ? |
2.59 ✅ |
Layout: C (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
3.04✅ |
2.60✅ |
2.76✅ |
2.10✅ |
1.98✅ |
1.53✅ |
1.46✅ |
2.04✅ |
2.25✅ |
1.73✅ |
3.29✅ |
1.71✅ |
2.49✅ |
— |
2.94✅ |
| u8 |
3.55✅ |
1.55✅ |
3.56✅ |
1.69✅ |
1.83✅ |
2.01✅ |
1.89✅ |
2.21✅ |
2.47✅ |
1.62✅ |
3.90✅ |
1.38✅ |
2.41✅ |
— |
3.07✅ |
| i8 |
2.61✅ |
3.17✅ |
0.91🟡 |
1.82✅ |
1.76✅ |
1.95✅ |
1.95✅ |
2.35✅ |
2.66✅ |
1.76✅ |
3.94✅ |
1.79✅ |
2.64✅ |
— |
2.98✅ |
| i16 |
2.20✅ |
2.29✅ |
2.59✅ |
1.39✅ |
2.11✅ |
2.09✅ |
1.95✅ |
2.42✅ |
2.52✅ |
1.57✅ |
3.71✅ |
1.92✅ |
2.61✅ |
— |
2.79✅ |
| u16 |
2.22✅ |
2.80✅ |
2.81✅ |
2.12✅ |
1.24✅ |
2.09✅ |
2.14✅ |
2.63✅ |
2.22✅ |
1.08✅ |
3.71✅ |
1.93✅ |
2.46✅ |
— |
2.97✅ |
| i32 |
1.50✅ |
1.15✅ |
1.16✅ |
1.46✅ |
1.51✅ |
1.70✅ |
2.12✅ |
2.26✅ |
2.27✅ |
1.43✅ |
3.64✅ |
1.64✅ |
2.62✅ |
— |
2.86✅ |
| u32 |
1.77✅ |
1.18✅ |
1.17✅ |
1.35✅ |
1.44✅ |
2.17✅ |
1.65✅ |
2.19✅ |
2.29✅ |
1.48✅ |
3.66✅ |
1.47✅ |
2.34✅ |
— |
2.69✅ |
| i64 |
1.08✅ |
0.98🟡 |
0.96🟡 |
1.23✅ |
1.27✅ |
1.83✅ |
1.78✅ |
1.87✅ |
2.76✅ |
1.38✅ |
1.81✅ |
1.81✅ |
2.22✅ |
— |
2.52✅ |
| u64 |
1.14✅ |
0.92🟡 |
0.95🟡 |
1.22✅ |
1.18✅ |
1.73✅ |
1.73✅ |
2.56✅ |
2.09✅ |
1.30✅ |
1.65✅ |
1.14✅ |
1.79✅ |
— |
2.45✅ |
| char |
2.07✅ |
2.02✅ |
2.14✅ |
1.49✅ |
0.97🟡 |
1.55✅ |
1.53✅ |
2.26✅ |
2.20✅ |
1.21✅ |
3.67✅ |
1.42✅ |
2.11✅ |
— |
2.62✅ |
| f16 |
4.51✅ |
5.42✅ |
5.35✅ |
3.82✅ |
3.94✅ |
3.80✅ |
1.96✅ |
2.94✅ |
0.99🟡 |
4.16✅ |
1.25✅ |
1.10✅ |
0.92🟡 |
— |
1.64✅ |
| f32 |
2.82✅ |
1.92✅ |
2.05✅ |
1.64✅ |
1.55✅ |
1.84✅ |
1.38✅ |
0.83🟡 |
0.87🟡 |
1.48✅ |
3.59✅ |
1.76✅ |
2.21✅ |
— |
2.35✅ |
| f64 |
1.81✅ |
0.81🟡 |
0.81🟡 |
1.32✅ |
1.29✅ |
1.68✅ |
1.51✅ |
0.86🟡 |
0.89🟡 |
1.38✅ |
1.04✅ |
1.72✅ |
2.05✅ |
— |
2.60✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
1.11✅ |
0.93🟡 |
0.94🟡 |
1.19✅ |
1.13✅ |
1.69✅ |
1.35✅ |
0.92🟡 |
0.84🟡 |
1.10✅ |
1.50✅ |
1.39✅ |
1.75✅ |
— |
3.18✅ |
Layout: F (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
0.24🟠 |
2.72✅ |
2.71✅ |
1.94✅ |
1.91✅ |
1.43✅ |
1.42✅ |
2.24✅ |
2.40✅ |
1.89✅ |
4.03✅ |
1.74✅ |
2.55✅ |
— |
2.98✅ |
| u8 |
4.01✅ |
1.11✅ |
3.48✅ |
1.70✅ |
1.71✅ |
2.07✅ |
2.06✅ |
2.11✅ |
2.33✅ |
1.62✅ |
3.89✅ |
1.39✅ |
2.49✅ |
— |
3.06✅ |
| i8 |
3.53✅ |
3.24✅ |
1.05✅ |
1.93✅ |
1.80✅ |
2.14✅ |
2.13✅ |
2.59✅ |
2.51✅ |
1.71✅ |
3.88✅ |
1.77✅ |
2.40✅ |
— |
2.95✅ |
| i16 |
1.87✅ |
2.06✅ |
2.52✅ |
1.31✅ |
1.98✅ |
1.84✅ |
2.01✅ |
2.59✅ |
2.39✅ |
2.19✅ |
3.71✅ |
2.05✅ |
2.39✅ |
— |
3.01✅ |
| u16 |
2.26✅ |
2.74✅ |
2.63✅ |
1.93✅ |
1.27✅ |
1.88✅ |
2.02✅ |
2.68✅ |
2.26✅ |
1.35✅ |
3.65✅ |
1.96✅ |
2.17✅ |
— |
2.85✅ |
| i32 |
1.69✅ |
1.11✅ |
1.18✅ |
1.48✅ |
1.49✅ |
1.76✅ |
2.17✅ |
2.46✅ |
2.48✅ |
1.50✅ |
3.90✅ |
1.72✅ |
2.33✅ |
— |
2.85✅ |
| u32 |
1.85✅ |
1.13✅ |
1.06✅ |
1.54✅ |
1.43✅ |
2.15✅ |
1.64✅ |
2.31✅ |
2.26✅ |
1.50✅ |
3.87✅ |
1.55✅ |
2.16✅ |
— |
2.46✅ |
| i64 |
1.11✅ |
0.94🟡 |
0.92🟡 |
1.17✅ |
1.26✅ |
1.88✅ |
1.75✅ |
2.16✅ |
2.70✅ |
1.28✅ |
1.87✅ |
1.55✅ |
2.17✅ |
— |
2.24✅ |
| u64 |
1.15✅ |
0.92🟡 |
0.94🟡 |
1.21✅ |
1.13✅ |
1.73✅ |
1.73✅ |
2.46✅ |
2.05✅ |
1.39✅ |
2.48✅ |
1.14✅ |
1.76✅ |
— |
2.34✅ |
| char |
2.08✅ |
2.63✅ |
2.03✅ |
1.90✅ |
1.20✅ |
1.67✅ |
1.69✅ |
2.52✅ |
2.46✅ |
1.20✅ |
3.60✅ |
1.41✅ |
2.10✅ |
— |
2.89✅ |
| f16 |
4.49✅ |
6.02✅ |
6.33✅ |
3.79✅ |
4.31✅ |
3.73✅ |
2.06✅ |
2.85✅ |
1.11✅ |
4.33✅ |
1.24✅ |
2.44✅ |
0.95🟡 |
— |
1.62✅ |
| f32 |
3.44✅ |
2.12✅ |
2.26✅ |
1.62✅ |
1.64✅ |
1.92✅ |
1.35✅ |
0.82🟡 |
0.84🟡 |
1.69✅ |
3.63✅ |
1.67✅ |
2.21✅ |
— |
2.26✅ |
| f64 |
1.90✅ |
1.27✅ |
1.33✅ |
1.40✅ |
1.43✅ |
1.95✅ |
1.47✅ |
0.87🟡 |
0.90🟡 |
1.41✅ |
1.61✅ |
1.73✅ |
2.05✅ |
— |
2.69✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
0.99🟡 |
0.91🟡 |
0.88🟡 |
1.15✅ |
1.07✅ |
1.57✅ |
1.33✅ |
0.96🟡 |
0.81🟡 |
1.09✅ |
1.49✅ |
1.15✅ |
1.75✅ |
— |
3.26✅ |
Layout: T (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
3.40✅ |
3.39✅ |
3.74✅ |
1.71✅ |
1.80✅ |
1.47✅ |
1.41✅ |
2.31✅ |
2.32✅ |
1.91✅ |
4.20✅ |
1.78✅ |
2.68✅ |
— |
2.99✅ |
| u8 |
3.94✅ |
1.21✅ |
2.55✅ |
1.68✅ |
1.68✅ |
2.05✅ |
1.92✅ |
2.21✅ |
2.56✅ |
1.67✅ |
3.98✅ |
1.41✅ |
2.41✅ |
— |
2.98✅ |
| i8 |
2.58✅ |
3.43✅ |
0.85🟡 |
1.84✅ |
1.75✅ |
2.01✅ |
2.12✅ |
2.50✅ |
2.42✅ |
1.76✅ |
3.79✅ |
1.80✅ |
2.46✅ |
— |
3.04✅ |
| i16 |
2.29✅ |
2.12✅ |
3.21✅ |
1.25✅ |
2.11✅ |
2.01✅ |
2.04✅ |
2.43✅ |
2.25✅ |
2.00✅ |
3.86✅ |
2.02✅ |
2.46✅ |
— |
3.02✅ |
| u16 |
2.23✅ |
2.51✅ |
2.45✅ |
1.91✅ |
1.26✅ |
2.03✅ |
1.99✅ |
2.44✅ |
2.39✅ |
1.44✅ |
3.67✅ |
1.90✅ |
2.29✅ |
— |
2.50✅ |
| i32 |
1.77✅ |
1.13✅ |
1.19✅ |
1.52✅ |
1.52✅ |
1.69✅ |
2.31✅ |
2.07✅ |
2.11✅ |
1.66✅ |
3.96✅ |
1.65✅ |
2.57✅ |
— |
2.95✅ |
| u32 |
1.89✅ |
1.16✅ |
1.16✅ |
1.49✅ |
1.47✅ |
2.25✅ |
1.72✅ |
2.18✅ |
2.15✅ |
1.47✅ |
3.71✅ |
1.49✅ |
2.27✅ |
— |
2.82✅ |
| i64 |
1.28✅ |
1.04✅ |
0.93🟡 |
1.25✅ |
1.27✅ |
1.79✅ |
1.78✅ |
2.09✅ |
2.64✅ |
1.33✅ |
1.86✅ |
1.74✅ |
2.23✅ |
— |
2.69✅ |
| u64 |
1.20✅ |
0.94🟡 |
0.95🟡 |
1.21✅ |
1.16✅ |
1.79✅ |
1.62✅ |
2.52✅ |
2.00✅ |
1.36✅ |
2.47✅ |
1.12✅ |
1.90✅ |
— |
2.54✅ |
| char |
2.14✅ |
2.15✅ |
2.63✅ |
1.84✅ |
1.22✅ |
1.61✅ |
1.62✅ |
2.24✅ |
2.47✅ |
1.31✅ |
3.50✅ |
1.44✅ |
2.32✅ |
— |
2.56✅ |
| f16 |
5.17✅ |
6.28✅ |
6.15✅ |
4.27✅ |
4.26✅ |
3.56✅ |
2.03✅ |
3.02✅ |
1.14✅ |
4.33✅ |
1.18✅ |
2.84✅ |
1.00🟡 |
— |
1.65✅ |
| f32 |
3.33✅ |
2.16✅ |
2.30✅ |
1.77✅ |
1.63✅ |
2.04✅ |
1.38✅ |
0.83🟡 |
0.86🟡 |
1.63✅ |
3.75✅ |
1.70✅ |
2.56✅ |
— |
2.20✅ |
| f64 |
2.00✅ |
1.35✅ |
1.35✅ |
1.37✅ |
1.41✅ |
1.81✅ |
1.48✅ |
0.87🟡 |
0.89🟡 |
1.31✅ |
1.63✅ |
1.74✅ |
1.93✅ |
— |
2.61✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
1.00✅ |
1.11✅ |
1.21✅ |
1.27✅ |
1.18✅ |
1.66✅ |
1.28✅ |
0.90🟡 |
0.85🟡 |
1.11✅ |
1.53✅ |
1.41✅ |
1.79✅ |
— |
3.42✅ |
Layout: sliced (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
3.14✅ |
5.84✅ |
5.99✅ |
1.96✅ |
2.00✅ |
1.49✅ |
1.56✅ |
2.38✅ |
2.06✅ |
1.99✅ |
3.95✅ |
1.74✅ |
2.66✅ |
— |
3.02✅ |
| u8 |
2.74✅ |
1.25✅ |
3.91✅ |
1.79✅ |
1.88✅ |
2.24✅ |
2.14✅ |
2.44✅ |
2.55✅ |
1.72✅ |
3.71✅ |
1.40✅ |
2.83✅ |
— |
3.17✅ |
| i8 |
2.96✅ |
3.03✅ |
0.92🟡 |
1.75✅ |
1.74✅ |
1.99✅ |
1.92✅ |
2.30✅ |
2.14✅ |
1.65✅ |
3.86✅ |
1.69✅ |
2.48✅ |
— |
3.07✅ |
| i16 |
2.25✅ |
2.82✅ |
2.56✅ |
1.45✅ |
1.71✅ |
1.93✅ |
1.90✅ |
2.47✅ |
2.50✅ |
1.62✅ |
3.54✅ |
2.06✅ |
2.58✅ |
— |
2.85✅ |
| u16 |
2.98✅ |
2.66✅ |
2.90✅ |
1.46✅ |
1.33✅ |
2.06✅ |
1.96✅ |
2.50✅ |
2.20✅ |
1.36✅ |
3.62✅ |
1.88✅ |
2.45✅ |
— |
3.01✅ |
| i32 |
1.94✅ |
2.20✅ |
2.10✅ |
1.43✅ |
1.54✅ |
1.90✅ |
1.81✅ |
2.14✅ |
2.23✅ |
1.55✅ |
3.70✅ |
1.58✅ |
2.39✅ |
— |
2.86✅ |
| u32 |
1.99✅ |
2.01✅ |
2.13✅ |
1.44✅ |
1.53✅ |
2.02✅ |
1.85✅ |
2.10✅ |
2.22✅ |
1.55✅ |
3.72✅ |
1.47✅ |
2.12✅ |
— |
2.74✅ |
| i64 |
1.20✅ |
1.18✅ |
1.28✅ |
1.42✅ |
1.33✅ |
1.78✅ |
1.78✅ |
2.22✅ |
2.35✅ |
1.42✅ |
1.82✅ |
1.52✅ |
2.36✅ |
— |
2.68✅ |
| u64 |
1.29✅ |
1.24✅ |
1.22✅ |
1.33✅ |
1.30✅ |
1.74✅ |
1.79✅ |
2.14✅ |
2.22✅ |
1.36✅ |
2.39✅ |
0.97🟡 |
1.58✅ |
— |
2.45✅ |
| char |
2.16✅ |
2.26✅ |
2.43✅ |
1.50✅ |
1.31✅ |
1.61✅ |
1.60✅ |
2.27✅ |
2.32✅ |
1.31✅ |
3.47✅ |
1.42✅ |
2.23✅ |
— |
2.80✅ |
| f16 |
4.70✅ |
4.95✅ |
4.99✅ |
4.11✅ |
4.05✅ |
4.02✅ |
1.97✅ |
3.08✅ |
1.10✅ |
4.21✅ |
1.33✅ |
2.70✅ |
0.96🟡 |
— |
1.49✅ |
| f32 |
3.63✅ |
2.20✅ |
2.35✅ |
1.64✅ |
1.67✅ |
1.90✅ |
1.34✅ |
0.86🟡 |
0.88🟡 |
1.59✅ |
3.62✅ |
1.97✅ |
2.04✅ |
— |
2.35✅ |
| f64 |
2.01✅ |
1.26✅ |
1.31✅ |
1.42✅ |
1.33✅ |
0.70🟡 |
1.49✅ |
0.84🟡 |
0.84🟡 |
1.34✅ |
1.58✅ |
1.71✅ |
2.49✅ |
— |
2.58✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
0.97🟡 |
1.07✅ |
0.96🟡 |
1.13✅ |
1.14✅ |
1.72✅ |
1.30✅ |
0.93🟡 |
0.80🟡 |
0.91🟡 |
1.47✅ |
1.40✅ |
1.75✅ |
— |
2.20✅ |
Layout: negrow (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
3.38✅ |
4.26✅ |
4.97✅ |
1.92✅ |
2.03✅ |
1.41✅ |
1.57✅ |
2.32✅ |
2.40✅ |
1.98✅ |
3.91✅ |
1.79✅ |
2.59✅ |
— |
3.34✅ |
| u8 |
3.67✅ |
1.14✅ |
3.99✅ |
1.71✅ |
1.63✅ |
2.15✅ |
2.24✅ |
2.37✅ |
2.35✅ |
1.87✅ |
3.81✅ |
1.44✅ |
2.29✅ |
— |
3.05✅ |
| i8 |
3.35✅ |
3.21✅ |
0.97🟡 |
2.04✅ |
1.87✅ |
2.02✅ |
2.04✅ |
2.32✅ |
2.48✅ |
1.72✅ |
3.67✅ |
1.73✅ |
2.58✅ |
— |
3.25✅ |
| i16 |
3.19✅ |
2.80✅ |
2.70✅ |
1.39✅ |
1.68✅ |
1.99✅ |
2.03✅ |
2.29✅ |
2.48✅ |
1.78✅ |
3.72✅ |
2.09✅ |
2.42✅ |
— |
3.13✅ |
| u16 |
2.41✅ |
2.59✅ |
2.35✅ |
1.53✅ |
1.32✅ |
1.77✅ |
1.84✅ |
2.45✅ |
2.56✅ |
1.53✅ |
3.57✅ |
2.04✅ |
2.46✅ |
— |
2.82✅ |
| i32 |
2.01✅ |
2.01✅ |
2.04✅ |
1.52✅ |
1.53✅ |
1.97✅ |
1.89✅ |
2.21✅ |
2.32✅ |
1.57✅ |
3.58✅ |
1.54✅ |
2.04✅ |
— |
2.86✅ |
| u32 |
1.96✅ |
2.10✅ |
2.14✅ |
1.47✅ |
1.49✅ |
1.80✅ |
1.91✅ |
2.27✅ |
2.52✅ |
1.59✅ |
3.59✅ |
1.50✅ |
2.18✅ |
— |
2.54✅ |
| i64 |
1.17✅ |
1.21✅ |
1.33✅ |
1.39✅ |
1.41✅ |
1.84✅ |
1.78✅ |
2.65✅ |
2.22✅ |
1.31✅ |
1.84✅ |
1.46✅ |
2.33✅ |
— |
2.59✅ |
| u64 |
1.13✅ |
1.26✅ |
1.29✅ |
1.33✅ |
1.37✅ |
1.83✅ |
1.96✅ |
2.17✅ |
2.39✅ |
1.31✅ |
2.35✅ |
1.00🟡 |
1.59✅ |
— |
2.32✅ |
| char |
2.36✅ |
2.38✅ |
2.28✅ |
1.71✅ |
1.37✅ |
1.57✅ |
1.58✅ |
2.34✅ |
2.32✅ |
1.33✅ |
3.52✅ |
1.49✅ |
2.37✅ |
— |
2.79✅ |
| f16 |
5.08✅ |
4.80✅ |
4.78✅ |
3.80✅ |
3.83✅ |
3.85✅ |
2.03✅ |
3.13✅ |
1.09✅ |
3.83✅ |
1.34✅ |
2.87✅ |
0.97🟡 |
— |
1.60✅ |
| f32 |
3.30✅ |
2.23✅ |
2.25✅ |
1.60✅ |
1.67✅ |
1.91✅ |
1.36✅ |
0.84🟡 |
0.85🟡 |
1.66✅ |
3.58✅ |
1.95✅ |
2.09✅ |
— |
2.25✅ |
| f64 |
1.87✅ |
1.23✅ |
1.33✅ |
1.44✅ |
1.48✅ |
1.87✅ |
1.44✅ |
0.80🟡 |
0.88🟡 |
1.46✅ |
1.58✅ |
1.69✅ |
2.36✅ |
— |
2.54✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
1.10✅ |
0.94🟡 |
1.01✅ |
1.15✅ |
1.11✅ |
1.47✅ |
1.37✅ |
0.87🟡 |
0.92🟡 |
1.26✅ |
1.41✅ |
1.37✅ |
1.61✅ |
— |
2.29✅ |
Layout: negcol (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
4.56✅ |
7.06✅ |
6.59✅ |
2.26✅ |
2.21✅ |
1.54✅ |
1.48✅ |
2.25✅ |
2.21✅ |
2.40✅ |
2.80✅ |
1.88✅ |
2.48✅ |
— |
3.10✅ |
| u8 |
1.42✅ |
3.55✅ |
3.38✅ |
2.00✅ |
1.85✅ |
1.77✅ |
1.83✅ |
2.16✅ |
2.24✅ |
1.88✅ |
2.52✅ |
1.47✅ |
2.46✅ |
— |
3.02✅ |
| i8 |
1.31✅ |
4.32✅ |
2.73✅ |
1.70✅ |
1.89✅ |
1.82✅ |
1.83✅ |
2.24✅ |
2.26✅ |
1.73✅ |
2.63✅ |
1.65✅ |
2.37✅ |
— |
3.10✅ |
| i16 |
3.46✅ |
2.49✅ |
2.83✅ |
1.78✅ |
1.77✅ |
1.66✅ |
1.68✅ |
2.17✅ |
2.25✅ |
1.70✅ |
2.01✅ |
1.78✅ |
2.24✅ |
— |
2.86✅ |
| u16 |
3.61✅ |
3.01✅ |
3.11✅ |
1.76✅ |
1.62✅ |
1.68✅ |
1.75✅ |
2.43✅ |
2.22✅ |
1.69✅ |
2.02✅ |
1.43✅ |
2.38✅ |
— |
2.92✅ |
| i32 |
2.10✅ |
1.95✅ |
1.67✅ |
1.60✅ |
1.61✅ |
1.55✅ |
1.55✅ |
2.56✅ |
2.15✅ |
1.68✅ |
2.06✅ |
1.65✅ |
2.06✅ |
— |
2.76✅ |
| u32 |
2.08✅ |
1.60✅ |
1.53✅ |
1.59✅ |
1.58✅ |
1.48✅ |
1.61✅ |
2.46✅ |
2.30✅ |
1.63✅ |
2.02✅ |
1.47✅ |
2.34✅ |
— |
2.84✅ |
| i64 |
1.33✅ |
0.96🟡 |
0.97🟡 |
1.29✅ |
1.41✅ |
1.75✅ |
1.87✅ |
2.41✅ |
2.36✅ |
1.39✅ |
1.30✅ |
1.58✅ |
2.17✅ |
— |
2.44✅ |
| u64 |
1.26✅ |
1.01✅ |
0.93🟡 |
1.27✅ |
1.33✅ |
1.72✅ |
1.69✅ |
2.32✅ |
2.19✅ |
1.34✅ |
1.65✅ |
1.05✅ |
1.50✅ |
— |
2.50✅ |
| char |
3.38✅ |
2.34✅ |
3.24✅ |
1.67✅ |
1.60✅ |
1.67✅ |
1.65✅ |
2.21✅ |
2.35✅ |
1.64✅ |
2.03✅ |
1.56✅ |
2.27✅ |
— |
2.96✅ |
| f16 |
4.65✅ |
1.73✅ |
1.73✅ |
1.74✅ |
1.76✅ |
2.23✅ |
1.33✅ |
2.07✅ |
0.89🟡 |
1.76✅ |
1.61✅ |
1.56✅ |
0.96🟡 |
— |
1.51✅ |
| f32 |
2.48✅ |
1.71✅ |
1.67✅ |
1.65✅ |
1.62✅ |
1.90✅ |
1.08✅ |
0.85🟡 |
0.81🟡 |
1.61✅ |
1.94✅ |
1.62✅ |
1.20✅ |
— |
2.30✅ |
| f64 |
1.45✅ |
1.12✅ |
1.10✅ |
1.33✅ |
1.38✅ |
1.75✅ |
1.10✅ |
0.83🟡 |
0.83🟡 |
1.39✅ |
1.19✅ |
1.65✅ |
2.67✅ |
— |
2.68✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
1.02✅ |
0.98🟡 |
1.08✅ |
1.19✅ |
1.10✅ |
1.54✅ |
1.16✅ |
0.98🟡 |
0.90🟡 |
1.22✅ |
0.95🟡 |
1.49✅ |
1.71✅ |
— |
2.26✅ |
Layout: strided (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
2.26✅ |
3.65✅ |
3.30✅ |
3.63✅ |
3.72✅ |
1.18✅ |
1.12✅ |
1.74✅ |
1.77✅ |
2.09✅ |
2.71✅ |
1.41✅ |
1.75✅ |
— |
2.30✅ |
| u8 |
0.97🟡 |
2.00✅ |
2.27✅ |
2.28✅ |
1.89✅ |
1.30✅ |
1.27✅ |
2.06✅ |
1.84✅ |
1.90✅ |
2.55✅ |
1.13✅ |
1.78✅ |
— |
2.61✅ |
| i8 |
0.91🟡 |
2.13✅ |
2.46✅ |
1.91✅ |
1.77✅ |
1.35✅ |
1.55✅ |
2.04✅ |
1.89✅ |
1.86✅ |
2.45✅ |
1.33✅ |
1.92✅ |
— |
2.34✅ |
| i16 |
2.41✅ |
1.68✅ |
1.97✅ |
1.14✅ |
2.07✅ |
1.21✅ |
1.26✅ |
1.90✅ |
1.96✅ |
1.70✅ |
1.89✅ |
1.18✅ |
1.73✅ |
— |
2.39✅ |
| u16 |
2.39✅ |
1.77✅ |
1.76✅ |
1.37✅ |
1.41✅ |
1.29✅ |
1.32✅ |
1.89✅ |
1.90✅ |
1.52✅ |
1.90✅ |
1.04✅ |
1.81✅ |
— |
2.32✅ |
| i32 |
1.60✅ |
1.43✅ |
1.39✅ |
1.16✅ |
1.16✅ |
1.23✅ |
1.08✅ |
1.86✅ |
1.78✅ |
1.26✅ |
1.88✅ |
1.28✅ |
1.76✅ |
— |
2.44✅ |
| u32 |
1.74✅ |
1.22✅ |
1.18✅ |
1.10✅ |
1.25✅ |
1.13✅ |
1.14✅ |
1.86✅ |
1.84✅ |
1.18✅ |
1.95✅ |
1.13✅ |
1.77✅ |
— |
2.24✅ |
| i64 |
1.11✅ |
0.95🟡 |
0.94🟡 |
0.86🟡 |
0.94🟡 |
1.22✅ |
1.35✅ |
1.77✅ |
1.74✅ |
0.91🟡 |
1.19✅ |
1.26✅ |
1.74✅ |
— |
2.43✅ |
| u64 |
1.07✅ |
0.93🟡 |
0.94🟡 |
0.83🟡 |
1.01✅ |
1.20✅ |
1.27✅ |
1.58✅ |
1.70✅ |
1.03✅ |
1.48✅ |
0.74🟡 |
1.47✅ |
— |
2.17✅ |
| char |
2.39✅ |
1.80✅ |
1.68✅ |
1.26✅ |
1.49✅ |
1.21✅ |
1.30✅ |
1.85✅ |
1.75✅ |
1.51✅ |
1.83✅ |
1.13✅ |
1.73✅ |
— |
2.34✅ |
| f16 |
2.62✅ |
1.49✅ |
1.52✅ |
1.59✅ |
1.66✅ |
1.76✅ |
1.14✅ |
1.85✅ |
0.89🟡 |
1.59✅ |
1.11✅ |
1.23✅ |
0.95🟡 |
— |
1.44✅ |
| f32 |
1.98✅ |
1.31✅ |
1.31✅ |
1.30✅ |
1.37✅ |
1.34✅ |
0.91🟡 |
0.94🟡 |
0.80🟡 |
1.30✅ |
1.78✅ |
1.16✅ |
1.20✅ |
— |
2.43✅ |
| f64 |
1.25✅ |
0.98🟡 |
0.97🟡 |
0.91🟡 |
0.86🟡 |
1.22✅ |
0.94🟡 |
0.89🟡 |
0.80🟡 |
0.94🟡 |
1.06✅ |
1.07✅ |
1.81✅ |
— |
2.08✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
1.07✅ |
1.14✅ |
0.99🟡 |
0.93🟡 |
0.91🟡 |
1.15✅ |
1.03✅ |
0.97🟡 |
0.83🟡 |
0.94🟡 |
0.89🟡 |
1.08✅ |
1.59✅ |
— |
1.66✅ |
Layout: bcast (rows=src, cols=dst)
| src\dst |
bool |
u8 |
i8 |
i16 |
u16 |
i32 |
u32 |
i64 |
u64 |
char |
f16 |
f32 |
f64 |
dec |
c128 |
| bool |
1.26✅ |
5.38✅ |
6.24✅ |
2.28✅ |
2.24✅ |
1.51✅ |
1.46✅ |
2.32✅ |
2.18✅ |
2.26✅ |
3.97✅ |
1.91✅ |
2.37✅ |
— |
3.14✅ |
| u8 |
4.95✅ |
0.89🟡 |
4.29✅ |
1.87✅ |
1.88✅ |
2.08✅ |
2.14✅ |
2.52✅ |
2.39✅ |
1.87✅ |
3.76✅ |
2.32✅ |
2.15✅ |
— |
2.95✅ |
| i8 |
5.13✅ |
4.15✅ |
0.80🟡 |
1.82✅ |
1.87✅ |
2.12✅ |
2.43✅ |
2.55✅ |
2.38✅ |
1.91✅ |
3.81✅ |
2.16✅ |
2.28✅ |
— |
3.14✅ |
| i16 |
4.77✅ |
3.50✅ |
3.80✅ |
1.60✅ |
1.72✅ |
1.98✅ |
1.91✅ |
2.18✅ |
2.32✅ |
1.69✅ |
3.62✅ |
2.22✅ |
2.52✅ |
— |
3.12✅ |
| u16 |
4.57✅ |
4.20✅ |
3.20✅ |
1.85✅ |
1.63✅ |
1.98✅ |
1.89✅ |
2.26✅ |
2.27✅ |
1.66✅ |
3.72✅ |
2.08✅ |
2.26✅ |
— |
2.70✅ |
| i32 |
3.42✅ |
2.89✅ |
3.25✅ |
1.70✅ |
1.67✅ |
2.12✅ |
1.92✅ |
2.09✅ |
2.34✅ |
1.94✅ |
3.82✅ |
2.24✅ |
2.67✅ |
— |
3.00✅ |
| u32 |
3.64✅ |
3.72✅ |
2.42✅ |
1.66✅ |
1.77✅ |
2.02✅ |
1.99✅ |
2.23✅ |
2.31✅ |
1.90✅ |
3.73✅ |
2.29✅ |
2.27✅ |
— |
2.94✅ |
| i64 |
2.70✅ |
2.23✅ |
2.29✅ |
1.73✅ |
1.72✅ |
2.04✅ |
2.10✅ |
2.41✅ |
2.12✅ |
1.72✅ |
1.85✅ |
2.08✅ |
2.00✅ |
— |
2.67✅ |
| u64 |
2.57✅ |
2.40✅ |
2.16✅ |
1.60✅ |
1.66✅ |
2.08✅ |
1.92✅ |
2.24✅ |
2.29✅ |
1.75✅ |
2.43✅ |
2.26✅ |
2.14✅ |
— |
2.72✅ |
| char |
4.78✅ |
3.81✅ |
3.84✅ |
1.74✅ |
1.50✅ |
1.65✅ |
1.66✅ |
2.17✅ |
2.36✅ |
1.65✅ |
3.64✅ |
1.54✅ |
2.36✅ |
— |
2.75✅ |
| f16 |
6.87✅ |
5.51✅ |
5.35✅ |
4.23✅ |
4.21✅ |
3.88✅ |
2.04✅ |
3.04✅ |
1.09✅ |
3.86✅ |
1.46✅ |
2.87✅ |
0.96🟡 |
— |
1.55✅ |
| f32 |
4.89✅ |
3.29✅ |
2.71✅ |
1.88✅ |
2.02✅ |
2.15✅ |
1.47✅ |
2.21✅ |
0.86🟡 |
1.84✅ |
3.65✅ |
2.09✅ |
2.11✅ |
— |
2.29✅ |
| f64 |
2.70✅ |
2.15✅ |
2.14✅ |
1.78✅ |
1.77✅ |
2.11✅ |
1.49✅ |
1.99✅ |
0.88🟡 |
1.81✅ |
1.58✅ |
2.04✅ |
2.51✅ |
— |
2.66✅ |
| dec |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
— |
| c128 |
1.09✅ |
1.06✅ |
1.05✅ |
1.38✅ |
1.40✅ |
1.75✅ |
1.35✅ |
0.84🟡 |
0.80🟡 |
1.39✅ |
1.50✅ |
1.56✅ |
2.01✅ |
— |
2.94✅ |
Lagging cells (<1.0) — the worklist (118 cells)
| key |
NumSharp ms |
NumPy ms |
ratio |
| bool|F|bool |
0.0595 |
0.0144 |
0.24 🟠 |
| f64|sliced|i32 |
0.9124 |
0.6414 |
0.70 🟡 |
| u64|strided|f32 |
0.5215 |
0.3885 |
0.74 🟡 |
| c128|bcast|u64 |
1.5413 |
1.2301 |
0.80 🟡 |
| f32|strided|u64 |
0.7987 |
0.6399 |
0.80 🟡 |
| i8|bcast|i8 |
0.0619 |
0.0496 |
0.80 🟡 |
| c128|sliced|u64 |
1.7479 |
1.4021 |
0.80 🟡 |
| f64|strided|u64 |
0.7758 |
0.6243 |
0.80 🟡 |
| f64|negrow|i64 |
1.5209 |
1.2241 |
0.80 🟡 |
| c128|F|u64 |
1.7023 |
1.3717 |
0.81 🟡 |
| f32|negcol|u64 |
1.5659 |
1.2627 |
0.81 🟡 |
| f64|C|i8 |
0.2927 |
0.2376 |
0.81 🟡 |
| f64|C|u8 |
0.2892 |
0.2350 |
0.81 🟡 |
| f32|F|i64 |
1.4588 |
1.1945 |
0.82 🟡 |
| c128|strided|u64 |
0.9366 |
0.7745 |
0.83 🟡 |
| u64|strided|i16 |
0.1726 |
0.1432 |
0.83 🟡 |
| f32|C|i64 |
1.4773 |
1.2276 |
0.83 🟡 |
| f64|negcol|u64 |
1.5574 |
1.2946 |
0.83 🟡 |
| f32|T|i64 |
1.4640 |
1.2208 |
0.83 🟡 |
| f64|negcol|i64 |
1.4625 |
1.2196 |
0.83 🟡 |
| c128|C|u64 |
1.6652 |
1.3911 |
0.84 🟡 |
| f32|negrow|i64 |
1.4768 |
1.2373 |
0.84 🟡 |
| f32|F|u64 |
1.4675 |
1.2315 |
0.84 🟡 |
| f64|sliced|i64 |
1.4533 |
1.2221 |
0.84 🟡 |
| c128|bcast|i64 |
1.4280 |
1.2013 |
0.84 🟡 |
| f64|sliced|u64 |
1.4453 |
1.2198 |
0.84 🟡 |
| i8|T|i8 |
0.0613 |
0.0519 |
0.85 🟡 |
| c128|T|u64 |
1.6154 |
1.3692 |
0.85 🟡 |
| f32|negrow|u64 |
1.4957 |
1.2720 |
0.85 🟡 |
| f32|negcol|i64 |
1.4173 |
1.2088 |
0.85 🟡 |
| f64|C|i64 |
1.4556 |
1.2468 |
0.86 🟡 |
| i64|strided|i16 |
0.1748 |
0.1499 |
0.86 🟡 |
| f32|sliced|i64 |
1.4408 |
1.2354 |
0.86 🟡 |
| f64|strided|u16 |
0.1706 |
0.1469 |
0.86 🟡 |
| f32|T|u64 |
1.4532 |
1.2546 |
0.86 🟡 |
| f32|bcast|u64 |
1.4571 |
1.2602 |
0.86 🟡 |
| c128|negrow|i64 |
1.5665 |
1.3619 |
0.87 🟡 |
| f64|F|i64 |
1.4506 |
1.2612 |
0.87 🟡 |
| f64|T|i64 |
1.4409 |
1.2540 |
0.87 🟡 |
| f32|C|u64 |
1.4695 |
1.2834 |
0.87 🟡 |
| f64|bcast|u64 |
1.4020 |
1.2277 |
0.88 🟡 |
| f64|negrow|u64 |
1.4430 |
1.2673 |
0.88 🟡 |
| c128|F|i8 |
0.3572 |
0.3148 |
0.88 🟡 |
| f32|sliced|u64 |
1.4888 |
1.3174 |
0.88 🟡 |
| f16|negcol|u64 |
2.1147 |
1.8765 |
0.89 🟡 |
| u8|bcast|u8 |
0.0587 |
0.0522 |
0.89 🟡 |
| f64|strided|i64 |
0.7057 |
0.6283 |
0.89 🟡 |
| f64|C|u64 |
1.4293 |
1.2761 |
0.89 🟡 |
| f16|strided|u64 |
1.0346 |
0.9241 |
0.89 🟡 |
| c128|strided|f16 |
0.8811 |
0.7874 |
0.89 🟡 |
| f64|T|u64 |
1.4221 |
1.2717 |
0.89 🟡 |
| c128|T|i64 |
1.5151 |
1.3650 |
0.90 🟡 |
| c128|negcol|u64 |
1.6586 |
1.4945 |
0.90 🟡 |
| f64|F|u64 |
1.4496 |
1.3097 |
0.90 🟡 |
| f32|strided|u32 |
0.3838 |
0.3480 |
0.91 🟡 |
| c128|sliced|char |
0.5601 |
0.5081 |
0.91 🟡 |
| f64|strided|i16 |
0.1641 |
0.1489 |
0.91 🟡 |
| c128|F|u8 |
0.3391 |
0.3083 |
0.91 🟡 |
| i64|strided|char |
0.1534 |
0.1397 |
0.91 🟡 |
| i8|strided|bool |
0.1632 |
0.1489 |
0.91 🟡 |
| i8|C|i8 |
0.0595 |
0.0543 |
0.91 🟡 |
| c128|strided|u16 |
0.3051 |
0.2789 |
0.91 🟡 |
| c128|C|i64 |
1.5153 |
1.3895 |
0.92 🟡 |
| u64|F|u8 |
0.2149 |
0.1979 |
0.92 🟡 |
| c128|negrow|u64 |
1.7009 |
1.5680 |
0.92 🟡 |
| i64|F|i8 |
0.2150 |
0.1982 |
0.92 🟡 |
| f16|C|f64 |
1.5894 |
1.4665 |
0.92 🟡 |
| u64|C|u8 |
0.2155 |
0.1988 |
0.92 🟡 |
| i8|sliced|i8 |
0.0575 |
0.0530 |
0.92 🟡 |
| c128|strided|i16 |
0.3130 |
0.2897 |
0.93 🟡 |
| c128|C|u8 |
0.3526 |
0.3283 |
0.93 🟡 |
| u64|negcol|i8 |
0.2475 |
0.2306 |
0.93 🟡 |
| i64|T|i8 |
0.2114 |
0.1973 |
0.93 🟡 |
| c128|sliced|i64 |
1.4869 |
1.3889 |
0.93 🟡 |
| u64|strided|u8 |
0.1409 |
0.1316 |
0.93 🟡 |
| c128|strided|char |
0.2944 |
0.2754 |
0.94 🟡 |
| f32|strided|i64 |
0.7048 |
0.6596 |
0.94 🟡 |
| c128|C|i8 |
0.3417 |
0.3201 |
0.94 🟡 |
| i64|strided|u16 |
0.1550 |
0.1454 |
0.94 🟡 |
| u64|F|i8 |
0.2121 |
0.1991 |
0.94 🟡 |
| u64|strided|i8 |
0.1389 |
0.1305 |
0.94 🟡 |
| u64|T|u8 |
0.2105 |
0.1978 |
0.94 🟡 |
| i64|F|u8 |
0.2204 |
0.2078 |
0.94 🟡 |
| c128|negrow|u8 |
0.3492 |
0.3294 |
0.94 🟡 |
| f64|strided|char |
0.1593 |
0.1504 |
0.94 🟡 |
| f64|strided|u32 |
0.3797 |
0.3587 |
0.94 🟡 |
| i64|strided|i8 |
0.1438 |
0.1358 |
0.94 🟡 |
| u64|C|i8 |
0.2096 |
0.1981 |
0.95 🟡 |
| f16|strided|f64 |
0.7709 |
0.7306 |
0.95 🟡 |
| f16|F|f64 |
1.5066 |
1.4286 |
0.95 🟡 |
| i64|strided|u8 |
0.1424 |
0.1351 |
0.95 🟡 |
| u64|T|i8 |
0.2094 |
0.1987 |
0.95 🟡 |
| c128|negcol|f16 |
1.8203 |
1.7315 |
0.95 🟡 |
| f16|sliced|f64 |
1.4890 |
1.4241 |
0.96 🟡 |
| c128|F|i64 |
1.5008 |
1.4359 |
0.96 🟡 |
| i64|negcol|u8 |
0.2439 |
0.2335 |
0.96 🟡 |
| f16|bcast|f64 |
1.5177 |
1.4532 |
0.96 🟡 |
| c128|sliced|i8 |
0.3253 |
0.3118 |
0.96 🟡 |
| i64|C|i8 |
0.2090 |
0.2004 |
0.96 🟡 |
| f16|negcol|f64 |
1.5238 |
1.4668 |
0.96 🟡 |
| char|C|u16 |
0.2540 |
0.2457 |
0.97 🟡 |
| c128|sliced|bool |
0.4498 |
0.4355 |
0.97 🟡 |
| c128|strided|i64 |
0.8006 |
0.7755 |
0.97 🟡 |
| u64|sliced|f32 |
0.7665 |
0.7425 |
0.97 🟡 |
| f16|negrow|f64 |
1.5293 |
1.4823 |
0.97 🟡 |
| f64|strided|i8 |
0.1454 |
0.1413 |
0.97 🟡 |
| i8|negrow|i8 |
0.0558 |
0.0542 |
0.97 🟡 |
| u8|strided|bool |
0.1537 |
0.1495 |
0.97 🟡 |
| i64|negcol|i8 |
0.2480 |
0.2414 |
0.97 🟡 |
| i64|C|u8 |
0.2108 |
0.2062 |
0.98 🟡 |
| c128|negcol|u8 |
0.3485 |
0.3423 |
0.98 🟡 |
| f64|strided|u8 |
0.1456 |
0.1431 |
0.98 🟡 |
| c128|negcol|i64 |
1.6104 |
1.5838 |
0.98 🟡 |
| f16|C|u64 |
1.8886 |
1.8634 |
0.99 🟡 |
| c128|F|bool |
0.4151 |
0.4098 |
0.99 🟡 |
| c128|strided|i8 |
0.2650 |
0.2633 |
0.99 🟡 |
| f16|T|f64 |
1.4800 |
1.4751 |
1.00 🟡 |
| u64|negrow|f32 |
0.7923 |
0.7904 |
1.00 🟡 |
1568 comparable cells (1800 NumSharp rows; 118 lagging <1.0).