NumSharp vs NumPy Performance
Baseline: NumPy Β· measured across all array sizes (per-(op, dtype, N))
Ratio = NumPy Γ· NumSharp β Higher is better (>1.0Γ = NumSharp faster)
%NumPyπ = NumSharp Γ· NumPy Γ 100 = the share of NumPy's time NumSharp uses (30% = NumSharp takes only 30% of the time NumPy would; <100% = faster).
| Status | Ratio | %NumPyπ | Meaning | |
|---|---|---|---|---|
| β | Faster | β₯1.0Γ | β€100% | NumSharp β₯ NumPy speed |
| π‘ | Close | 0.5β1.0Γ | 100β200% | within 2Γ slower |
| π | Slower | 0.2β0.5Γ | 200β500% | optimization target |
| π΄ | Slow | <0.2Γ | >500% | priority fix |
| β« | Negligible | <1Β΅s / >20Γ | β | too fast to compare β excluded from rankings |
| βͺ | Pending | - | β | C# benchmark not run |
Summary: 1851 ops | β 838 | π‘ 329 | π 183 | π΄ 50 | β« 388 | βͺ 63
Summary by size
| N | ops | β faster | π‘ close | π slower | π΄ much | β« negl | βͺ n/a | geomean | %NPπ |
|---|---|---|---|---|---|---|---|---|---|
| 500 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - |
| 900 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | - | - |
| 1,000 | 615 | 116 | 58 | 35 | 11 | 372 | 23 | 1.13x | 89% |
| 50,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - |
| 100,000 | 615 | 295 | 135 | 124 | 35 | 7 | 19 | 0.98x | 102% |
| 5,000,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - |
| 10,000,000 | 615 | 427 | 136 | 24 | 4 | 9 | 15 | 1.39x | 72% |
π Top 15 Best (NumSharp fastest vs NumPy)
Ranked over 1400 credible comparisons (both sides β₯1Β΅s, within 20Γ); 388 negligible rows excluded as non-comparable (β«). Ratio = NumPy Γ· NumSharp β above 1.0Γ = NumSharp faster Β· %NumPyπ = share of NumPy's time NumSharp uses.
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β | np.prod (float64) | float64 | 100,000 | 2.331 | 0.170 | 13.71Γ | 7% |
| β | np.nanprod(a) (float32) | float32 | 100,000 | 0.160 | 0.012 | 13.53Γ | 7% |
| β | np.sum axis=1 (int8) | int8 | 10,000,000 | 3.511 | 0.264 | 13.30Γ | 8% |
| β | np.nanvar(a) (float64) | float64 | 1,000 | 0.020 | 0.002 | 13.06Γ | 8% |
| β | np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.028 | 0.002 | 12.60Γ | 8% |
| β | np.nanstd(a) (float64) | float64 | 1,000 | 0.019 | 0.002 | 12.52Γ | 8% |
| β | np.nanstd(a) (float16) | float16 | 1,000 | 0.034 | 0.003 | 12.26Γ | 8% |
| β | np.prod axis=1 (float64) | float64 | 100,000 | 0.060 | 0.005 | 12.13Γ | 8% |
| β | np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.206 | 0.265 | 12.11Γ | 8% |
| β | np.mean (uint64) | uint64 | 100,000 | 0.054 | 0.004 | 12.08Γ | 8% |
| β | np.dot(a, b) (float64) | float64 | 100,000 | 0.112 | 0.009 | 12.05Γ | 8% |
| β | np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.027 | 0.002 | 11.99Γ | 8% |
| β | np.nanstd(a) (float32) | float32 | 1,000 | 0.020 | 0.002 | 11.92Γ | 8% |
| β | np.nanvar(a) (float16) | float16 | 1,000 | 0.032 | 0.003 | 11.72Γ | 8% |
| β | np.sum axis=0 (uint8) | uint8 | 100,000 | 0.051 | 0.004 | 11.69Γ | 9% |
π» Top 15 Worst (Optimization priorities)
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | ||
|---|---|---|---|---|---|---|---|---|
| π΄ | np.zeros_like (int64) | int64 | 1,000 | 0.001 | 0.013 | 0.079Γ | 1261% | |
| π΄ | np.sum (float64) | float64 | 100,000 | 0.017 | 0.209 | 0.079Γ | 1260% | |
| π΄ | np.isnan(a) (float32) | float32 | 100,000 | 0.004 | 0.048 | 0.092Γ | 1091% | |
| π΄ | np.invert(a) (bool) | bool | 100,000 | 0.002 | 0.023 | 0.092Γ | 1083% | |
| π΄ | np.zeros_like (float64) | float64 | 1,000 | 0.001 | 0.013 | 0.092Γ | 1086% | |
| π΄ | a | b (bool) | bool | 100,000 | 0.003 | 0.023 | 0.11Γ | 912% |
| π΄ | a + scalar (float64) | float64 | 100,000 | 0.012 | 0.104 | 0.11Γ | 902% | |
| π΄ | a * 2 (literal) (float64) | float64 | 100,000 | 0.012 | 0.106 | 0.11Γ | 887% | |
| π΄ | a + 5 (literal) (float64) | float64 | 100,000 | 0.012 | 0.103 | 0.11Γ | 884% | |
| π΄ | np.zeros_like (float32) | float32 | 1,000 | 0.001 | 0.009 | 0.12Γ | 861% | |
| π΄ | a * a (square) (float64) | float64 | 100,000 | 0.011 | 0.098 | 0.12Γ | 863% | |
| π΄ | a * scalar (float64) | float64 | 100,000 | 0.012 | 0.100 | 0.12Γ | 857% | |
| π΄ | np.right_shift(a, 2) (bool) | bool | 1,000 | 0.002 | 0.013 | 0.12Γ | 844% | |
| π΄ | np.left_shift(a, 2) (bool) | bool | 1,000 | 0.002 | 0.013 | 0.12Γ | 845% | |
| π΄ | np.zeros_like (int32) | int32 | 1,000 | 0.001 | 0.009 | 0.12Γ | 842% |
Arithmetic
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| π‘ | a % 7 (literal) (float32) | float32 | 1,000 | 0.0143 | 0.0167 | 0.86Γ | 116% |
| π‘ | a % 7 (literal) (float32) | float32 | 100,000 | 1.6323 | 1.8289 | 0.89Γ | 112% |
| π‘ | a % 7 (literal) (float32) | float32 | 10,000,000 | 166.6333 | 176.1757 | 0.95Γ | 106% |
| π‘ | a % 7 (literal) (float64) | float64 | 1,000 | 0.0112 | 0.0175 | 0.64Γ | 156% |
| π‘ | a % 7 (literal) (float64) | float64 | 100,000 | 1.4461 | 1.6302 | 0.89Γ | 113% |
| π‘ | a % 7 (literal) (float64) | float64 | 10,000,000 | 159.2176 | 162.5277 | 0.98Γ | 102% |
| π‘ | a % 7 (literal) (int32) | int32 | 1,000 | 0.0022 | 0.0028 | 0.78Γ | 129% |
| π‘ | a % 7 (literal) (int32) | int32 | 100,000 | 0.3957 | 0.6590 | 0.60Γ | 166% |
| π‘ | a % 7 (literal) (int32) | int32 | 10,000,000 | 49.0203 | 66.9383 | 0.73Γ | 137% |
| π‘ | a % 7 (literal) (int64) | int64 | 1,000 | 0.0044 | 0.0069 | 0.64Γ | 156% |
| π‘ | a % 7 (literal) (int64) | int64 | 100,000 | 0.4155 | 0.6703 | 0.62Γ | 161% |
| π‘ | a % 7 (literal) (int64) | int64 | 10,000,000 | 50.7135 | 75.8665 | 0.67Γ | 150% |
| β | a % b (element-wise) (float32) | float32 | 1,000 | 0.0121 | 0.0108 | 1.12Γ | 90% |
| π‘ | a % b (element-wise) (float32) | float32 | 100,000 | 1.5318 | 1.5713 | 0.97Γ | 103% |
| β | a % b (element-wise) (float32) | float32 | 10,000,000 | 156.9058 | 152.7181 | 1.03Γ | 97% |
| β | a % b (element-wise) (float64) | float64 | 1,000 | 0.0100 | 0.0090 | 1.12Γ | 89% |
| π‘ | a % b (element-wise) (float64) | float64 | 100,000 | 1.2891 | 1.3568 | 0.95Γ | 105% |
| π‘ | a % b (element-wise) (float64) | float64 | 10,000,000 | 143.9662 | 145.6373 | 0.99Γ | 101% |
| π‘ | a % b (element-wise) (int32) | int32 | 1,000 | 0.0021 | 0.0028 | 0.76Γ | 132% |
| π‘ | a % b (element-wise) (int32) | int32 | 100,000 | 0.3784 | 0.6093 | 0.62Γ | 161% |
| π‘ | a % b (element-wise) (int32) | int32 | 10,000,000 | 47.9091 | 58.8577 | 0.81Γ | 123% |
| π‘ | a % b (element-wise) (int64) | int64 | 1,000 | 0.0035 | 0.0040 | 0.88Γ | 114% |
| π‘ | a % b (element-wise) (int64) | int64 | 100,000 | 0.3756 | 0.6058 | 0.62Γ | 161% |
| π‘ | a % b (element-wise) (int64) | int64 | 10,000,000 | 49.5215 | 66.8191 | 0.74Γ | 135% |
| π | a * 2 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0045 | 0.25Γ | 402% |
| β | a * 2 (literal) (complex128) | complex128 | 100,000 | 0.3633 | 0.3155 | 1.15Γ | 87% |
| π‘ | a * 2 (literal) (complex128) | complex128 | 10,000,000 | 31.3365 | 57.0611 | 0.55Γ | 182% |
| π‘ | a * 2 (literal) (float16) | float16 | 1,000 | 0.0066 | 0.0103 | 0.63Γ | 158% |
| π | a * 2 (literal) (float16) | float16 | 100,000 | 0.3439 | 0.8963 | 0.38Γ | 261% |
| π | a * 2 (literal) (float16) | float16 | 10,000,000 | 31.2284 | 86.0293 | 0.36Γ | 276% |
| β« | a * 2 (literal) (float32) | float32 | 1,000 | 0.0008 | 0.0053 | 0.14Γ | 691% |
| π΄ | a * 2 (literal) (float32) | float32 | 100,000 | 0.0066 | 0.0516 | 0.13Γ | 780% |
| π‘ | a * 2 (literal) (float32) | float32 | 10,000,000 | 7.8824 | 9.4240 | 0.84Γ | 120% |
| β« | a * 2 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0062 | 0.13Γ | 773% |
| π΄ | a * 2 (literal) (float64) | float64 | 100,000 | 0.0119 | 0.1056 | 0.11Γ | 887% |
| π‘ | a * 2 (literal) (float64) | float64 | 10,000,000 | 20.0350 | 22.1709 | 0.90Γ | 111% |
| β« | a * 2 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0058 | 0.17Γ | 589% |
| π‘ | a * 2 (literal) (int16) | int16 | 100,000 | 0.0233 | 0.0306 | 0.76Γ | 131% |
| β | a * 2 (literal) (int16) | int16 | 10,000,000 | 6.0238 | 4.4309 | 1.36Γ | 74% |
| π | a * 2 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0034 | 0.30Γ | 334% |
| π | a * 2 (literal) (int32) | int32 | 100,000 | 0.0230 | 0.0521 | 0.44Γ | 226% |
| β | a * 2 (literal) (int32) | int32 | 10,000,000 | 12.3132 | 7.7215 | 1.59Γ | 63% |
| β« | a * 2 (literal) (int64) | int64 | 1,000 | 0.0009 | 0.0056 | 0.16Γ | 614% |
| π | a * 2 (literal) (int64) | int64 | 100,000 | 0.0216 | 0.1059 | 0.20Γ | 491% |
| π‘ | a * 2 (literal) (int64) | int64 | 10,000,000 | 16.4530 | 31.0792 | 0.53Γ | 189% |
| β« | a * 2 (literal) (int8) | int8 | 1,000 | 0.0008 | 0.0036 | 0.23Γ | 425% |
| π‘ | a * 2 (literal) (int8) | int8 | 100,000 | 0.0226 | 0.0233 | 0.97Γ | 103% |
| β | a * 2 (literal) (int8) | int8 | 10,000,000 | 3.7464 | 2.1072 | 1.78Γ | 56% |
| π | a * 2 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0027 | 0.37Γ | 269% |
| π‘ | a * 2 (literal) (uint16) | uint16 | 100,000 | 0.0229 | 0.0291 | 0.78Γ | 128% |
| β | a * 2 (literal) (uint16) | uint16 | 10,000,000 | 6.6073 | 4.8579 | 1.36Γ | 74% |
| π΄ | a * 2 (literal) (uint32) | uint32 | 1,000 | 0.0010 | 0.0054 | 0.19Γ | 520% |
| π | a * 2 (literal) (uint32) | uint32 | 100,000 | 0.0225 | 0.0519 | 0.43Γ | 231% |
| β | a * 2 (literal) (uint32) | uint32 | 10,000,000 | 7.8930 | 7.6778 | 1.03Γ | 97% |
| β« | a * 2 (literal) (uint64) | uint64 | 1,000 | 0.0009 | 0.0030 | 0.31Γ | 323% |
| π | a * 2 (literal) (uint64) | uint64 | 100,000 | 0.0222 | 0.1066 | 0.21Γ | 481% |
| π‘ | a * 2 (literal) (uint64) | uint64 | 10,000,000 | 15.0621 | 29.8983 | 0.50Γ | 198% |
| β« | a * 2 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0038 | 0.23Γ | 428% |
| β | a * 2 (literal) (uint8) | uint8 | 100,000 | 0.0229 | 0.0216 | 1.06Γ | 95% |
| β | a * 2 (literal) (uint8) | uint8 | 10,000,000 | 4.1643 | 2.1224 | 1.96Γ | 51% |
| β« | a * a (square) (complex128) | complex128 | 1,000 | 0.0008 | 0.0042 | 0.19Γ | 520% |
| π‘ | a * a (square) (complex128) | complex128 | 100,000 | 0.3485 | 0.4268 | 0.82Γ | 122% |
| π‘ | a * a (square) (complex128) | complex128 | 10,000,000 | 30.2303 | 43.0242 | 0.70Γ | 142% |
| π‘ | a * a (square) (float16) | float16 | 1,000 | 0.0057 | 0.0093 | 0.61Γ | 162% |
| π | a * a (square) (float16) | float16 | 100,000 | 0.2934 | 0.8294 | 0.35Γ | 283% |
| π | a * a (square) (float16) | float16 | 10,000,000 | 30.7340 | 84.9605 | 0.36Γ | 276% |
| β« | a * a (square) (float32) | float32 | 1,000 | 0.0005 | 0.0019 | 0.28Γ | 356% |
| π΄ | a * a (square) (float32) | float32 | 100,000 | 0.0059 | 0.0493 | 0.12Γ | 834% |
| π‘ | a * a (square) (float32) | float32 | 10,000,000 | 7.8671 | 8.1233 | 0.97Γ | 103% |
| β« | a * a (square) (float64) | float64 | 1,000 | 0.0005 | 0.0027 | 0.20Γ | 506% |
| π΄ | a * a (square) (float64) | float64 | 100,000 | 0.0113 | 0.0977 | 0.12Γ | 863% |
| π‘ | a * a (square) (float64) | float64 | 10,000,000 | 19.3973 | 20.3482 | 0.95Γ | 105% |
| β« | a * a (square) (int16) | int16 | 1,000 | 0.0008 | 0.0018 | 0.41Γ | 242% |
| β | a * a (square) (int16) | int16 | 100,000 | 0.0287 | 0.0251 | 1.14Γ | 88% |
| β | a * a (square) (int16) | int16 | 10,000,000 | 7.2866 | 5.2338 | 1.39Γ | 72% |
| β« | a * a (square) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39Γ | 258% |
| π‘ | a * a (square) (int32) | int32 | 100,000 | 0.0300 | 0.0553 | 0.54Γ | 184% |
| β | a * a (square) (int32) | int32 | 10,000,000 | 12.7934 | 7.8908 | 1.62Γ | 62% |
| β« | a * a (square) (int64) | int64 | 1,000 | 0.0008 | 0.0029 | 0.27Γ | 376% |
| π | a * a (square) (int64) | int64 | 100,000 | 0.0289 | 0.1056 | 0.27Γ | 366% |
| π‘ | a * a (square) (int64) | int64 | 10,000,000 | 15.6967 | 30.4188 | 0.52Γ | 194% |
| β« | a * a (square) (int8) | int8 | 1,000 | 0.0006 | 0.0015 | 0.42Γ | 239% |
| β | a * a (square) (int8) | int8 | 100,000 | 0.0280 | 0.0158 | 1.77Γ | 57% |
| β | a * a (square) (int8) | int8 | 10,000,000 | 4.4945 | 2.8519 | 1.58Γ | 64% |
| β« | a * a (square) (uint16) | uint16 | 1,000 | 0.0008 | 0.0017 | 0.45Γ | 223% |
| β | a * a (square) (uint16) | uint16 | 100,000 | 0.0347 | 0.0258 | 1.34Γ | 74% |
| β | a * a (square) (uint16) | uint16 | 10,000,000 | 7.9808 | 5.3188 | 1.50Γ | 67% |
| β« | a * a (square) (uint32) | uint32 | 1,000 | 0.0008 | 0.0021 | 0.37Γ | 269% |
| π‘ | a * a (square) (uint32) | uint32 | 100,000 | 0.0285 | 0.0490 | 0.58Γ | 172% |
| π‘ | a * a (square) (uint32) | uint32 | 10,000,000 | 7.9914 | 8.4603 | 0.94Γ | 106% |
| β« | a * a (square) (uint64) | uint64 | 1,000 | 0.0007 | 0.0028 | 0.26Γ | 384% |
| π | a * a (square) (uint64) | uint64 | 100,000 | 0.0293 | 0.1078 | 0.27Γ | 368% |
| π‘ | a * a (square) (uint64) | uint64 | 10,000,000 | 15.1757 | 29.8093 | 0.51Γ | 196% |
| β« | a * a (square) (uint8) | uint8 | 1,000 | 0.0007 | 0.0014 | 0.46Γ | 216% |
| β | a * a (square) (uint8) | uint8 | 100,000 | 0.0290 | 0.0155 | 1.88Γ | 53% |
| β | a * a (square) (uint8) | uint8 | 10,000,000 | 4.8089 | 2.8618 | 1.68Γ | 60% |
| β« | a * b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0043 | 0.22Γ | 453% |
| π‘ | a * b (element-wise) (complex128) | complex128 | 100,000 | 0.3579 | 0.4442 | 0.81Γ | 124% |
| π | a * b (element-wise) (complex128) | complex128 | 10,000,000 | 34.4053 | 73.3371 | 0.47Γ | 213% |
| π | a * b (element-wise) (float16) | float16 | 1,000 | 0.0034 | 0.0090 | 0.37Γ | 268% |
| π | a * b (element-wise) (float16) | float16 | 100,000 | 0.3186 | 0.8505 | 0.38Γ | 267% |
| π | a * b (element-wise) (float16) | float16 | 10,000,000 | 30.9166 | 88.9610 | 0.35Γ | 288% |
| β« | a * b (element-wise) (float32) | float32 | 1,000 | 0.0006 | 0.0019 | 0.30Γ | 336% |
| π΄ | a * b (element-wise) (float32) | float32 | 100,000 | 0.0071 | 0.0514 | 0.14Γ | 722% |
| π‘ | a * b (element-wise) (float32) | float32 | 10,000,000 | 8.4965 | 10.2234 | 0.83Γ | 120% |
| β« | a * b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.20Γ | 489% |
| π | a * b (element-wise) (float64) | float64 | 100,000 | 0.0274 | 0.1030 | 0.27Γ | 376% |
| π‘ | a * b (element-wise) (float64) | float64 | 10,000,000 | 21.0075 | 33.0143 | 0.64Γ | 157% |
| β« | a * b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0019 | 0.41Γ | 241% |
| β | a * b (element-wise) (int16) | int16 | 100,000 | 0.0282 | 0.0266 | 1.06Γ | 95% |
| β | a * b (element-wise) (int16) | int16 | 10,000,000 | 7.7338 | 6.8196 | 1.13Γ | 88% |
| β« | a * b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39Γ | 257% |
| π‘ | a * b (element-wise) (int32) | int32 | 100,000 | 0.0287 | 0.0519 | 0.55Γ | 181% |
| β | a * b (element-wise) (int32) | int32 | 10,000,000 | 13.0207 | 10.9911 | 1.19Γ | 84% |
| β« | a * b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0030 | 0.26Γ | 386% |
| π | a * b (element-wise) (int64) | int64 | 100,000 | 0.0386 | 0.1068 | 0.36Γ | 277% |
| π | a * b (element-wise) (int64) | int64 | 10,000,000 | 17.0533 | 38.5984 | 0.44Γ | 226% |
| β« | a * b (element-wise) (int8) | int8 | 1,000 | 0.0006 | 0.0016 | 0.39Γ | 255% |
| β | a * b (element-wise) (int8) | int8 | 100,000 | 0.0282 | 0.0162 | 1.74Γ | 57% |
| β | a * b (element-wise) (int8) | int8 | 10,000,000 | 5.3373 | 3.6339 | 1.47Γ | 68% |
| β« | a * b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.39Γ | 254% |
| β | a * b (element-wise) (uint16) | uint16 | 100,000 | 0.0308 | 0.0267 | 1.15Γ | 87% |
| β | a * b (element-wise) (uint16) | uint16 | 10,000,000 | 7.7433 | 6.7987 | 1.14Γ | 88% |
| β« | a * b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0020 | 0.40Γ | 250% |
| π‘ | a * b (element-wise) (uint32) | uint32 | 100,000 | 0.0278 | 0.0486 | 0.57Γ | 175% |
| π‘ | a * b (element-wise) (uint32) | uint32 | 10,000,000 | 9.8085 | 11.0138 | 0.89Γ | 112% |
| β« | a * b (element-wise) (uint64) | uint64 | 1,000 | 0.0007 | 0.0027 | 0.27Γ | 377% |
| π | a * b (element-wise) (uint64) | uint64 | 100,000 | 0.0361 | 0.1090 | 0.33Γ | 302% |
| π | a * b (element-wise) (uint64) | uint64 | 10,000,000 | 16.9583 | 37.9021 | 0.45Γ | 224% |
| β« | a * b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0017 | 0.39Γ | 257% |
| β | a * b (element-wise) (uint8) | uint8 | 100,000 | 0.0295 | 0.0157 | 1.88Γ | 53% |
| β | a * b (element-wise) (uint8) | uint8 | 10,000,000 | 4.5011 | 3.6771 | 1.22Γ | 82% |
| β« | a * scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0043 | 0.22Γ | 458% |
| β | a * scalar (complex128) | complex128 | 100,000 | 0.3458 | 0.3076 | 1.12Γ | 89% |
| π‘ | a * scalar (complex128) | complex128 | 10,000,000 | 30.9297 | 45.1226 | 0.69Γ | 146% |
| π‘ | a * scalar (float16) | float16 | 1,000 | 0.0062 | 0.0092 | 0.68Γ | 148% |
| π | a * scalar (float16) | float16 | 100,000 | 0.3472 | 0.8794 | 0.40Γ | 253% |
| π | a * scalar (float16) | float16 | 10,000,000 | 35.1625 | 88.3826 | 0.40Γ | 251% |
| β« | a * scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.36Γ | 281% |
| π΄ | a * scalar (float32) | float32 | 100,000 | 0.0068 | 0.0488 | 0.14Γ | 722% |
| π‘ | a * scalar (float32) | float32 | 10,000,000 | 8.0629 | 8.9608 | 0.90Γ | 111% |
| β« | a * scalar (float64) | float64 | 1,000 | 0.0009 | 0.0028 | 0.31Γ | 325% |
| π΄ | a * scalar (float64) | float64 | 100,000 | 0.0117 | 0.0999 | 0.12Γ | 857% |
| π‘ | a * scalar (float64) | float64 | 10,000,000 | 19.9081 | 22.8588 | 0.87Γ | 115% |
| β« | a * scalar (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.50Γ | 201% |
| π‘ | a * scalar (int16) | int16 | 100,000 | 0.0233 | 0.0262 | 0.89Γ | 112% |
| β | a * scalar (int16) | int16 | 10,000,000 | 7.0592 | 4.6609 | 1.51Γ | 66% |
| β« | a * scalar (int32) | int32 | 1,000 | 0.0009 | 0.0019 | 0.46Γ | 217% |
| π | a * scalar (int32) | int32 | 100,000 | 0.0231 | 0.0508 | 0.46Γ | 220% |
| β | a * scalar (int32) | int32 | 10,000,000 | 12.6141 | 9.1360 | 1.38Γ | 72% |
| β« | a * scalar (int64) | int64 | 1,000 | 0.0009 | 0.0029 | 0.30Γ | 332% |
| π | a * scalar (int64) | int64 | 100,000 | 0.0226 | 0.1076 | 0.21Γ | 476% |
| π | a * scalar (int64) | int64 | 10,000,000 | 15.4341 | 31.3975 | 0.49Γ | 203% |
| β« | a * scalar (int8) | int8 | 1,000 | 0.0007 | 0.0016 | 0.45Γ | 223% |
| β | a * scalar (int8) | int8 | 100,000 | 0.0223 | 0.0161 | 1.39Γ | 72% |
| β | a * scalar (int8) | int8 | 10,000,000 | 3.7610 | 2.0651 | 1.82Γ | 55% |
| β« | a * scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0018 | 0.47Γ | 213% |
| π‘ | a * scalar (uint16) | uint16 | 100,000 | 0.0262 | 0.0269 | 0.97Γ | 103% |
| β | a * scalar (uint16) | uint16 | 10,000,000 | 7.0635 | 4.6785 | 1.51Γ | 66% |
| β« | a * scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0020 | 0.46Γ | 219% |
| π | a * scalar (uint32) | uint32 | 100,000 | 0.0227 | 0.0507 | 0.45Γ | 223% |
| π‘ | a * scalar (uint32) | uint32 | 10,000,000 | 7.8165 | 9.2370 | 0.85Γ | 118% |
| β« | a * scalar (uint64) | uint64 | 1,000 | 0.0008 | 0.0028 | 0.28Γ | 351% |
| π | a * scalar (uint64) | uint64 | 100,000 | 0.0222 | 0.1048 | 0.21Γ | 471% |
| π‘ | a * scalar (uint64) | uint64 | 10,000,000 | 15.1079 | 30.0570 | 0.50Γ | 199% |
| β« | a * scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0016 | 0.47Γ | 210% |
| β | a * scalar (uint8) | uint8 | 100,000 | 0.0238 | 0.0159 | 1.50Γ | 67% |
| β | a * scalar (uint8) | uint8 | 10,000,000 | 4.0195 | 2.0901 | 1.92Γ | 52% |
| π΄ | a + 5 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0076 | 0.14Γ | 691% |
| β | a + 5 (literal) (complex128) | complex128 | 100,000 | 0.3558 | 0.3115 | 1.14Γ | 88% |
| β | a + 5 (literal) (complex128) | complex128 | 10,000,000 | 42.7672 | 39.9933 | 1.07Γ | 94% |
| π‘ | a + 5 (literal) (float16) | float16 | 1,000 | 0.0064 | 0.0106 | 0.60Γ | 166% |
| π | a + 5 (literal) (float16) | float16 | 100,000 | 0.3642 | 0.8592 | 0.42Γ | 236% |
| π | a + 5 (literal) (float16) | float16 | 10,000,000 | 31.0643 | 84.9236 | 0.37Γ | 273% |
| β« | a + 5 (literal) (float32) | float32 | 1,000 | 0.0009 | 0.0049 | 0.18Γ | 568% |
| π΄ | a + 5 (literal) (float32) | float32 | 100,000 | 0.0065 | 0.0543 | 0.12Γ | 841% |
| π‘ | a + 5 (literal) (float32) | float32 | 10,000,000 | 8.0704 | 8.3566 | 0.97Γ | 104% |
| β« | a + 5 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0056 | 0.14Γ | 708% |
| π΄ | a + 5 (literal) (float64) | float64 | 100,000 | 0.0117 | 0.1033 | 0.11Γ | 884% |
| β | a + 5 (literal) (float64) | float64 | 10,000,000 | 19.9822 | 19.3898 | 1.03Γ | 97% |
| π | a + 5 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0025 | 0.41Γ | 245% |
| π‘ | a + 5 (literal) (int16) | int16 | 100,000 | 0.0256 | 0.0297 | 0.86Γ | 116% |
| β | a + 5 (literal) (int16) | int16 | 10,000,000 | 6.8921 | 4.3178 | 1.60Γ | 63% |
| π | a + 5 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0033 | 0.31Γ | 321% |
| π | a + 5 (literal) (int32) | int32 | 100,000 | 0.0250 | 0.0530 | 0.47Γ | 212% |
| β | a + 5 (literal) (int32) | int32 | 10,000,000 | 12.6603 | 8.4146 | 1.50Γ | 66% |
| β« | a + 5 (literal) (int64) | int64 | 1,000 | 0.0010 | 0.0058 | 0.17Γ | 598% |
| π | a + 5 (literal) (int64) | int64 | 100,000 | 0.0233 | 0.1024 | 0.23Γ | 439% |
| π‘ | a + 5 (literal) (int64) | int64 | 10,000,000 | 15.3142 | 19.3520 | 0.79Γ | 126% |
| β« | a + 5 (literal) (int8) | int8 | 1,000 | 0.0009 | 0.0034 | 0.26Γ | 387% |
| β | a + 5 (literal) (int8) | int8 | 100,000 | 0.0369 | 0.0230 | 1.60Γ | 62% |
| β | a + 5 (literal) (int8) | int8 | 10,000,000 | 4.1932 | 1.9965 | 2.10Γ | 48% |
| π | a + 5 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0048 | 0.21Γ | 474% |
| π‘ | a + 5 (literal) (uint16) | uint16 | 100,000 | 0.0250 | 0.0308 | 0.81Γ | 123% |
| β | a + 5 (literal) (uint16) | uint16 | 10,000,000 | 6.9032 | 4.2530 | 1.62Γ | 62% |
| π΄ | a + 5 (literal) (uint32) | uint32 | 1,000 | 0.0011 | 0.0056 | 0.19Γ | 530% |
| π | a + 5 (literal) (uint32) | uint32 | 100,000 | 0.0234 | 0.0493 | 0.47Γ | 211% |
| β | a + 5 (literal) (uint32) | uint32 | 10,000,000 | 10.0916 | 8.5435 | 1.18Γ | 85% |
| π΄ | a + 5 (literal) (uint64) | uint64 | 1,000 | 0.0010 | 0.0054 | 0.19Γ | 526% |
| π | a + 5 (literal) (uint64) | uint64 | 100,000 | 0.0236 | 0.1073 | 0.22Γ | 454% |
| π‘ | a + 5 (literal) (uint64) | uint64 | 10,000,000 | 15.2161 | 20.0614 | 0.76Γ | 132% |
| β« | a + 5 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0036 | 0.26Γ | 390% |
| β | a + 5 (literal) (uint8) | uint8 | 100,000 | 0.0248 | 0.0205 | 1.21Γ | 83% |
| β | a + 5 (literal) (uint8) | uint8 | 10,000,000 | 4.1679 | 1.9455 | 2.14Γ | 47% |
| π | a + b (element-wise) (complex128) | complex128 | 1,000 | 0.0010 | 0.0046 | 0.23Γ | 442% |
| π‘ | a + b (element-wise) (complex128) | complex128 | 100,000 | 0.3515 | 0.4716 | 0.74Γ | 134% |
| π‘ | a + b (element-wise) (complex128) | complex128 | 10,000,000 | 42.3859 | 58.1610 | 0.73Γ | 137% |
| π‘ | a + b (element-wise) (float16) | float16 | 1,000 | 0.0055 | 0.0091 | 0.60Γ | 165% |
| π | a + b (element-wise) (float16) | float16 | 100,000 | 0.2982 | 0.8560 | 0.35Γ | 287% |
| π | a + b (element-wise) (float16) | float16 | 10,000,000 | 31.3075 | 87.5987 | 0.36Γ | 280% |
| β« | a + b (element-wise) (float32) | float32 | 1,000 | 0.0007 | 0.0011 | 0.67Γ | 149% |
| π΄ | a + b (element-wise) (float32) | float32 | 100,000 | 0.0069 | 0.0546 | 0.13Γ | 792% |
| π‘ | a + b (element-wise) (float32) | float32 | 10,000,000 | 8.7877 | 10.3685 | 0.85Γ | 118% |
| β« | a + b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0018 | 0.28Γ | 358% |
| π | a + b (element-wise) (float64) | float64 | 100,000 | 0.0287 | 0.1183 | 0.24Γ | 413% |
| π‘ | a + b (element-wise) (float64) | float64 | 10,000,000 | 17.1247 | 32.2672 | 0.53Γ | 188% |
| β« | a + b (element-wise) (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.47Γ | 213% |
| π‘ | a + b (element-wise) (int16) | int16 | 100,000 | 0.0306 | 0.0341 | 0.90Γ | 111% |
| β | a + b (element-wise) (int16) | int16 | 10,000,000 | 7.6408 | 7.1288 | 1.07Γ | 93% |
| β« | a + b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0022 | 0.35Γ | 286% |
| π‘ | a + b (element-wise) (int32) | int32 | 100,000 | 0.0296 | 0.0569 | 0.52Γ | 192% |
| β | a + b (element-wise) (int32) | int32 | 10,000,000 | 13.4533 | 10.0724 | 1.34Γ | 75% |
| β« | a + b (element-wise) (int64) | int64 | 1,000 | 0.0010 | 0.0032 | 0.30Γ | 330% |
| π | a + b (element-wise) (int64) | int64 | 100,000 | 0.0351 | 0.1211 | 0.29Γ | 345% |
| π‘ | a + b (element-wise) (int64) | int64 | 10,000,000 | 16.9982 | 32.1148 | 0.53Γ | 189% |
| β« | a + b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0017 | 0.39Γ | 256% |
| β | a + b (element-wise) (int8) | int8 | 100,000 | 0.0289 | 0.0158 | 1.83Γ | 55% |
| β | a + b (element-wise) (int8) | int8 | 10,000,000 | 4.7377 | 3.2841 | 1.44Γ | 69% |
| β« | a + b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0021 | 0.39Γ | 256% |
| β | a + b (element-wise) (uint16) | uint16 | 100,000 | 0.0305 | 0.0303 | 1.00Γ | 100% |
| β | a + b (element-wise) (uint16) | uint16 | 10,000,000 | 7.7579 | 7.1286 | 1.09Γ | 92% |
| π‘ | a + b (element-wise) (uint32) | uint32 | 1,000 | 0.0011 | 0.0017 | 0.68Γ | 148% |
| π‘ | a + b (element-wise) (uint32) | uint32 | 100,000 | 0.0292 | 0.0565 | 0.52Γ | 194% |
| β | a + b (element-wise) (uint32) | uint32 | 10,000,000 | 13.4492 | 9.8607 | 1.36Γ | 73% |
| β« | a + b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0027 | 0.29Γ | 348% |
| π | a + b (element-wise) (uint64) | uint64 | 100,000 | 0.0529 | 0.1072 | 0.49Γ | 203% |
| π | a + b (element-wise) (uint64) | uint64 | 10,000,000 | 17.2194 | 35.4223 | 0.49Γ | 206% |
| β« | a + b (element-wise) (uint8) | uint8 | 1,000 | 0.0008 | 0.0019 | 0.43Γ | 232% |
| β | a + b (element-wise) (uint8) | uint8 | 100,000 | 0.0305 | 0.0154 | 1.98Γ | 50% |
| β | a + b (element-wise) (uint8) | uint8 | 10,000,000 | 4.9889 | 3.3759 | 1.48Γ | 68% |
| β« | a + scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0042 | 0.23Γ | 442% |
| β | a + scalar (complex128) | complex128 | 100,000 | 0.3392 | 0.3087 | 1.10Γ | 91% |
| π‘ | a + scalar (complex128) | complex128 | 10,000,000 | 39.4817 | 41.1306 | 0.96Γ | 104% |
| π‘ | a + scalar (float16) | float16 | 1,000 | 0.0066 | 0.0091 | 0.73Γ | 138% |
| π | a + scalar (float16) | float16 | 100,000 | 0.3632 | 0.8631 | 0.42Γ | 238% |
| π | a + scalar (float16) | float16 | 10,000,000 | 30.8505 | 85.6472 | 0.36Γ | 278% |
| β« | a + scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.35Γ | 283% |
| π΄ | a + scalar (float32) | float32 | 100,000 | 0.0062 | 0.0514 | 0.12Γ | 829% |
| π‘ | a + scalar (float32) | float32 | 10,000,000 | 7.9325 | 8.3761 | 0.95Γ | 106% |
| β« | a + scalar (float64) | float64 | 1,000 | 0.0007 | 0.0027 | 0.24Γ | 416% |
| π΄ | a + scalar (float64) | float64 | 100,000 | 0.0116 | 0.1045 | 0.11Γ | 902% |
| π‘ | a + scalar (float64) | float64 | 10,000,000 | 19.7762 | 20.4638 | 0.97Γ | 104% |
| β« | a + scalar (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51Γ | 196% |
| π‘ | a + scalar (int16) | int16 | 100,000 | 0.0249 | 0.0262 | 0.95Γ | 105% |
| β | a + scalar (int16) | int16 | 10,000,000 | 7.1782 | 4.4382 | 1.62Γ | 62% |
| β« | a + scalar (int32) | int32 | 1,000 | 0.0009 | 0.0019 | 0.46Γ | 217% |
| π | a + scalar (int32) | int32 | 100,000 | 0.0245 | 0.0532 | 0.46Γ | 217% |
| β | a + scalar (int32) | int32 | 10,000,000 | 12.6205 | 8.3589 | 1.51Γ | 66% |
| β« | a + scalar (int64) | int64 | 1,000 | 0.0009 | 0.0027 | 0.33Γ | 304% |
| π | a + scalar (int64) | int64 | 100,000 | 0.0236 | 0.1014 | 0.23Γ | 429% |
| π‘ | a + scalar (int64) | int64 | 10,000,000 | 14.8466 | 19.9072 | 0.75Γ | 134% |
| β« | a + scalar (int8) | int8 | 1,000 | 0.0008 | 0.0016 | 0.49Γ | 203% |
| β | a + scalar (int8) | int8 | 100,000 | 0.0251 | 0.0149 | 1.69Γ | 59% |
| β | a + scalar (int8) | int8 | 10,000,000 | 4.2152 | 1.9671 | 2.14Γ | 47% |
| β« | a + scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0017 | 0.54Γ | 187% |
| π‘ | a + scalar (uint16) | uint16 | 100,000 | 0.0245 | 0.0256 | 0.96Γ | 105% |
| β | a + scalar (uint16) | uint16 | 10,000,000 | 6.9794 | 4.3583 | 1.60Γ | 62% |
| β« | a + scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0019 | 0.49Γ | 205% |
| π | a + scalar (uint32) | uint32 | 100,000 | 0.0247 | 0.0503 | 0.49Γ | 204% |
| β | a + scalar (uint32) | uint32 | 10,000,000 | 10.8927 | 8.4266 | 1.29Γ | 77% |
| β« | a + scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0025 | 0.37Γ | 273% |
| π | a + scalar (uint64) | uint64 | 100,000 | 0.0235 | 0.1018 | 0.23Γ | 433% |
| π‘ | a + scalar (uint64) | uint64 | 10,000,000 | 15.0579 | 20.0299 | 0.75Γ | 133% |
| β« | a + scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0015 | 0.50Γ | 202% |
| β | a + scalar (uint8) | uint8 | 100,000 | 0.0248 | 0.0148 | 1.67Γ | 60% |
| β | a + scalar (uint8) | uint8 | 10,000,000 | 4.4127 | 1.9329 | 2.28Γ | 44% |
| β« | a - b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0040 | 0.22Γ | 458% |
| β | a - b (element-wise) (complex128) | complex128 | 100,000 | 0.3505 | 0.2610 | 1.34Γ | 74% |
| β | a - b (element-wise) (complex128) | complex128 | 10,000,000 | 41.6707 | 35.7057 | 1.17Γ | 86% |
| π | a - b (element-wise) (float16) | float16 | 1,000 | 0.0041 | 0.0092 | 0.44Γ | 225% |
| π‘ | a - b (element-wise) (float16) | float16 | 100,000 | 0.3042 | 0.4791 | 0.64Γ | 158% |
| π‘ | a - b (element-wise) (float16) | float16 | 10,000,000 | 31.1711 | 48.4343 | 0.64Γ | 155% |
| β« | a - b (element-wise) (float32) | float32 | 1,000 | 0.0006 | 0.0020 | 0.28Γ | 359% |
| π΄ | a - b (element-wise) (float32) | float32 | 100,000 | 0.0069 | 0.0482 | 0.14Γ | 698% |
| β | a - b (element-wise) (float32) | float32 | 10,000,000 | 8.6157 | 5.6899 | 1.51Γ | 66% |
| β« | a - b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0018 | 0.29Γ | 340% |
| π | a - b (element-wise) (float64) | float64 | 100,000 | 0.0331 | 0.1072 | 0.31Γ | 324% |
| β | a - b (element-wise) (float64) | float64 | 10,000,000 | 21.1427 | 16.8826 | 1.25Γ | 80% |
| β« | a - b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0017 | 0.45Γ | 222% |
| β | a - b (element-wise) (int16) | int16 | 100,000 | 0.0293 | 0.0250 | 1.17Γ | 85% |
| β | a - b (element-wise) (int16) | int16 | 10,000,000 | 7.8362 | 3.1173 | 2.51Γ | 40% |
| β« | a - b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.40Γ | 253% |
| π‘ | a - b (element-wise) (int32) | int32 | 100,000 | 0.0287 | 0.0524 | 0.55Γ | 182% |
| β | a - b (element-wise) (int32) | int32 | 10,000,000 | 13.7810 | 6.3717 | 2.16Γ | 46% |
| β« | a - b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0028 | 0.27Γ | 367% |
| π | a - b (element-wise) (int64) | int64 | 100,000 | 0.0352 | 0.1044 | 0.34Γ | 297% |
| π‘ | a - b (element-wise) (int64) | int64 | 10,000,000 | 16.8594 | 20.7569 | 0.81Γ | 123% |
| β« | a - b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0014 | 0.46Γ | 219% |
| β | a - b (element-wise) (int8) | int8 | 100,000 | 0.0355 | 0.0155 | 2.29Γ | 44% |
| β | a - b (element-wise) (int8) | int8 | 10,000,000 | 4.7577 | 1.7145 | 2.77Γ | 36% |
| β« | a - b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.45Γ | 222% |
| β | a - b (element-wise) (uint16) | uint16 | 100,000 | 0.0299 | 0.0263 | 1.14Γ | 88% |
| β | a - b (element-wise) (uint16) | uint16 | 10,000,000 | 8.2884 | 3.1096 | 2.67Γ | 38% |
| β« | a - b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0020 | 0.41Γ | 242% |
| π‘ | a - b (element-wise) (uint32) | uint32 | 100,000 | 0.0294 | 0.0506 | 0.58Γ | 172% |
| β | a - b (element-wise) (uint32) | uint32 | 10,000,000 | 10.8540 | 6.0006 | 1.81Γ | 55% |
| β« | a - b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0029 | 0.26Γ | 385% |
| π | a - b (element-wise) (uint64) | uint64 | 100,000 | 0.0385 | 0.1017 | 0.38Γ | 264% |
| π‘ | a - b (element-wise) (uint64) | uint64 | 10,000,000 | 16.7811 | 20.9601 | 0.80Γ | 125% |
| β« | a - b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0015 | 0.45Γ | 224% |
| β | a - b (element-wise) (uint8) | uint8 | 100,000 | 0.0288 | 0.0152 | 1.90Γ | 53% |
| β | a - b (element-wise) (uint8) | uint8 | 10,000,000 | 5.0513 | 1.6363 | 3.09Γ | 32% |
| β« | a - scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0030 | 0.31Γ | 319% |
| β | a - scalar (complex128) | complex128 | 100,000 | 0.3509 | 0.2223 | 1.58Γ | 63% |
| β | a - scalar (complex128) | complex128 | 10,000,000 | 39.6368 | 25.1620 | 1.57Γ | 64% |
| β | a - scalar (float16) | float16 | 1,000 | 0.0061 | 0.0052 | 1.18Γ | 85% |
| π‘ | a - scalar (float16) | float16 | 100,000 | 0.2950 | 0.4792 | 0.62Γ | 162% |
| π‘ | a - scalar (float16) | float16 | 10,000,000 | 31.0622 | 48.9935 | 0.63Γ | 158% |
| β« | a - scalar (float32) | float32 | 1,000 | 0.0007 | 0.0013 | 0.53Γ | 190% |
| π | a - scalar (float32) | float32 | 100,000 | 0.0070 | 0.0293 | 0.24Γ | 417% |
| β | a - scalar (float32) | float32 | 10,000,000 | 8.0175 | 5.3684 | 1.49Γ | 67% |
| β« | a - scalar (float64) | float64 | 1,000 | 0.0006 | 0.0019 | 0.33Γ | 302% |
| π΄ | a - scalar (float64) | float64 | 100,000 | 0.0118 | 0.0691 | 0.17Γ | 586% |
| β | a - scalar (float64) | float64 | 10,000,000 | 19.9346 | 14.0728 | 1.42Γ | 71% |
| β« | a - scalar (int16) | int16 | 1,000 | 0.0009 | 0.0013 | 0.70Γ | 142% |
| β | a - scalar (int16) | int16 | 100,000 | 0.0239 | 0.0141 | 1.70Γ | 59% |
| β | a - scalar (int16) | int16 | 10,000,000 | 7.1495 | 2.7330 | 2.62Γ | 38% |
| β« | a - scalar (int32) | int32 | 1,000 | 0.0009 | 0.0016 | 0.58Γ | 173% |
| π‘ | a - scalar (int32) | int32 | 100,000 | 0.0237 | 0.0278 | 0.85Γ | 117% |
| β | a - scalar (int32) | int32 | 10,000,000 | 13.2645 | 5.2875 | 2.51Γ | 40% |
| β« | a - scalar (int64) | int64 | 1,000 | 0.0009 | 0.0015 | 0.62Γ | 162% |
| π | a - scalar (int64) | int64 | 100,000 | 0.0241 | 0.0677 | 0.36Γ | 280% |
| β | a - scalar (int64) | int64 | 10,000,000 | 15.1015 | 14.4570 | 1.04Γ | 96% |
| β« | a - scalar (int8) | int8 | 1,000 | 0.0008 | 0.0011 | 0.68Γ | 147% |
| β | a - scalar (int8) | int8 | 100,000 | 0.0319 | 0.0079 | 4.02Γ | 25% |
| β | a - scalar (int8) | int8 | 10,000,000 | 4.4975 | 1.3821 | 3.25Γ | 31% |
| β« | a - scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0012 | 0.77Γ | 130% |
| β | a - scalar (uint16) | uint16 | 100,000 | 0.0244 | 0.0148 | 1.65Γ | 61% |
| β | a - scalar (uint16) | uint16 | 10,000,000 | 6.7651 | 2.6065 | 2.60Γ | 38% |
| π‘ | a - scalar (uint32) | uint32 | 1,000 | 0.0011 | 0.0012 | 0.88Γ | 114% |
| π‘ | a - scalar (uint32) | uint32 | 100,000 | 0.0233 | 0.0264 | 0.89Γ | 113% |
| β | a - scalar (uint32) | uint32 | 10,000,000 | 10.2434 | 5.3189 | 1.93Γ | 52% |
| β« | a - scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0016 | 0.56Γ | 177% |
| π | a - scalar (uint64) | uint64 | 100,000 | 0.0241 | 0.0652 | 0.37Γ | 271% |
| β | a - scalar (uint64) | uint64 | 10,000,000 | 15.1815 | 14.5668 | 1.04Γ | 96% |
| β« | a - scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0008 | 0.95Γ | 105% |
| β | a - scalar (uint8) | uint8 | 100,000 | 0.0374 | 0.0079 | 4.71Γ | 21% |
| β | a - scalar (uint8) | uint8 | 10,000,000 | 4.1241 | 1.3972 | 2.95Γ | 34% |
| β« | a / b (element-wise) (float32) | float32 | 1,000 | 0.0005 | 0.0023 | 0.22Γ | 458% |
| π | a / b (element-wise) (float32) | float32 | 100,000 | 0.0134 | 0.0623 | 0.21Γ | 466% |
| π‘ | a / b (element-wise) (float32) | float32 | 10,000,000 | 8.4590 | 10.2825 | 0.82Γ | 122% |
| β« | a / b (element-wise) (float64) | float64 | 1,000 | 0.0007 | 0.0034 | 0.22Γ | 452% |
| π | a / b (element-wise) (float64) | float64 | 100,000 | 0.0382 | 0.1801 | 0.21Γ | 472% |
| π‘ | a / b (element-wise) (float64) | float64 | 10,000,000 | 20.4780 | 25.4700 | 0.80Γ | 124% |
| π | a / b (element-wise) (int32) | int32 | 1,000 | 0.0024 | 0.0053 | 0.47Γ | 215% |
| π | a / b (element-wise) (int32) | int32 | 100,000 | 0.0909 | 0.1953 | 0.47Γ | 215% |
| β | a / b (element-wise) (int32) | int32 | 10,000,000 | 31.1185 | 23.9718 | 1.30Γ | 77% |
| π | a / b (element-wise) (int64) | int64 | 1,000 | 0.0019 | 0.0055 | 0.35Γ | 289% |
| π | a / b (element-wise) (int64) | int64 | 100,000 | 0.0785 | 0.1896 | 0.41Γ | 242% |
| π‘ | a / b (element-wise) (int64) | int64 | 10,000,000 | 24.7535 | 40.7339 | 0.61Γ | 165% |
| β« | a / scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.32Γ | 308% |
| π | a / scalar (float32) | float32 | 100,000 | 0.0123 | 0.0595 | 0.21Γ | 484% |
| π‘ | a / scalar (float32) | float32 | 10,000,000 | 7.8511 | 8.8399 | 0.89Γ | 113% |
| β« | a / scalar (float64) | float64 | 1,000 | 0.0009 | 0.0034 | 0.27Γ | 376% |
| π | a / scalar (float64) | float64 | 100,000 | 0.0372 | 0.1696 | 0.22Γ | 456% |
| π‘ | a / scalar (float64) | float64 | 10,000,000 | 19.0548 | 23.8037 | 0.80Γ | 125% |
| π | a / scalar (int32) | int32 | 1,000 | 0.0018 | 0.0041 | 0.43Γ | 234% |
| π | a / scalar (int32) | int32 | 100,000 | 0.0622 | 0.1883 | 0.33Γ | 302% |
| β | a / scalar (int32) | int32 | 10,000,000 | 26.4799 | 23.0389 | 1.15Γ | 87% |
| π | a / scalar (int64) | int64 | 1,000 | 0.0017 | 0.0074 | 0.23Γ | 436% |
| π | a / scalar (int64) | int64 | 100,000 | 0.0575 | 0.1885 | 0.30Γ | 328% |
| π‘ | a / scalar (int64) | int64 | 10,000,000 | 20.5211 | 29.8992 | 0.69Γ | 146% |
| β« | np.add(a, b) (complex128) | complex128 | 1,000 | 0.0008 | 0.0046 | 0.17Γ | 572% |
| π‘ | np.add(a, b) (complex128) | complex128 | 100,000 | 0.3569 | 0.4892 | 0.73Γ | 137% |
| π‘ | np.add(a, b) (complex128) | complex128 | 10,000,000 | 41.8396 | 58.6023 | 0.71Γ | 140% |
| π‘ | np.add(a, b) (float16) | float16 | 1,000 | 0.0057 | 0.0088 | 0.65Γ | 155% |
| π | np.add(a, b) (float16) | float16 | 100,000 | 0.2995 | 0.8369 | 0.36Γ | 280% |
| π | np.add(a, b) (float16) | float16 | 10,000,000 | 31.2511 | 85.9844 | 0.36Γ | 275% |
| β« | np.add(a, b) (float32) | float32 | 1,000 | 0.0008 | 0.0019 | 0.41Γ | 245% |
| π΄ | np.add(a, b) (float32) | float32 | 100,000 | 0.0068 | 0.0542 | 0.12Γ | 798% |
| π‘ | np.add(a, b) (float32) | float32 | 10,000,000 | 8.6159 | 10.2348 | 0.84Γ | 119% |
| β« | np.add(a, b) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.21Γ | 475% |
| π | np.add(a, b) (float64) | float64 | 100,000 | 0.0287 | 0.1135 | 0.25Γ | 396% |
| π‘ | np.add(a, b) (float64) | float64 | 10,000,000 | 23.3169 | 25.7561 | 0.91Γ | 110% |
| β« | np.add(a, b) (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51Γ | 196% |
| β | np.add(a, b) (int16) | int16 | 100,000 | 0.0312 | 0.0273 | 1.14Γ | 87% |
| β | np.add(a, b) (int16) | int16 | 10,000,000 | 7.8320 | 7.1303 | 1.10Γ | 91% |
| β« | np.add(a, b) (int32) | int32 | 1,000 | 0.0008 | 0.0019 | 0.42Γ | 238% |
| π‘ | np.add(a, b) (int32) | int32 | 100,000 | 0.0299 | 0.0546 | 0.55Γ | 183% |
| β | np.add(a, b) (int32) | int32 | 10,000,000 | 14.4326 | 12.7485 | 1.13Γ | 88% |
| β« | np.add(a, b) (int64) | int64 | 1,000 | 0.0008 | 0.0028 | 0.29Γ | 341% |
| π | np.add(a, b) (int64) | int64 | 100,000 | 0.0359 | 0.1337 | 0.27Γ | 372% |
| π | np.add(a, b) (int64) | int64 | 10,000,000 | 17.0171 | 34.3239 | 0.50Γ | 202% |
| β« | np.add(a, b) (int8) | int8 | 1,000 | 0.0007 | 0.0017 | 0.39Γ | 257% |
| β | np.add(a, b) (int8) | int8 | 100,000 | 0.0293 | 0.0152 | 1.93Γ | 52% |
| β | np.add(a, b) (int8) | int8 | 10,000,000 | 4.8360 | 3.1341 | 1.54Γ | 65% |
| β« | np.add(a, b) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.42Γ | 235% |
| π‘ | np.add(a, b) (uint16) | uint16 | 100,000 | 0.0294 | 0.0296 | 0.99Γ | 101% |
| β | np.add(a, b) (uint16) | uint16 | 10,000,000 | 8.1075 | 6.8350 | 1.19Γ | 84% |
| β« | np.add(a, b) (uint32) | uint32 | 1,000 | 0.0010 | 0.0019 | 0.51Γ | 195% |
| π‘ | np.add(a, b) (uint32) | uint32 | 100,000 | 0.0324 | 0.0542 | 0.60Γ | 167% |
| β | np.add(a, b) (uint32) | uint32 | 10,000,000 | 10.4639 | 9.8564 | 1.06Γ | 94% |
| β« | np.add(a, b) (uint64) | uint64 | 1,000 | 0.0008 | 0.0028 | 0.30Γ | 330% |
| π | np.add(a, b) (uint64) | uint64 | 100,000 | 0.0405 | 0.1101 | 0.37Γ | 272% |
| π | np.add(a, b) (uint64) | uint64 | 10,000,000 | 16.7988 | 34.5621 | 0.49Γ | 206% |
| β« | np.add(a, b) (uint8) | uint8 | 1,000 | 0.0007 | 0.0019 | 0.36Γ | 276% |
| β | np.add(a, b) (uint8) | uint8 | 100,000 | 0.0287 | 0.0154 | 1.86Γ | 54% |
| β | np.add(a, b) (uint8) | uint8 | 10,000,000 | 4.7543 | 3.2277 | 1.47Γ | 68% |
| β« | scalar - a (complex128) | complex128 | 1,000 | 0.0010 | 0.0027 | 0.36Γ | 280% |
| β | scalar - a (complex128) | complex128 | 100,000 | 0.3545 | 0.2210 | 1.60Γ | 62% |
| β | scalar - a (complex128) | complex128 | 10,000,000 | 37.5427 | 25.1481 | 1.49Γ | 67% |
| β | scalar - a (float16) | float16 | 1,000 | 0.0054 | 0.0051 | 1.05Γ | 95% |
| π‘ | scalar - a (float16) | float16 | 100,000 | 0.3008 | 0.4746 | 0.63Γ | 158% |
| π‘ | scalar - a (float16) | float16 | 10,000,000 | 31.1065 | 47.0491 | 0.66Γ | 151% |
| β« | scalar - a (float32) | float32 | 1,000 | 0.0007 | 0.0014 | 0.52Γ | 191% |
| π | scalar - a (float32) | float32 | 100,000 | 0.0067 | 0.0325 | 0.20Γ | 487% |
| β | scalar - a (float32) | float32 | 10,000,000 | 7.8766 | 5.3211 | 1.48Γ | 68% |
| β« | scalar - a (float64) | float64 | 1,000 | 0.0007 | 0.0020 | 0.33Γ | 300% |
| π | scalar - a (float64) | float64 | 100,000 | 0.0138 | 0.0582 | 0.24Γ | 422% |
| β | scalar - a (float64) | float64 | 10,000,000 | 20.1742 | 14.0006 | 1.44Γ | 69% |
| β« | scalar - a (int16) | int16 | 1,000 | 0.0009 | 0.0012 | 0.78Γ | 128% |
| β | scalar - a (int16) | int16 | 100,000 | 0.0243 | 0.0148 | 1.64Γ | 61% |
| β | scalar - a (int16) | int16 | 10,000,000 | 7.1811 | 2.7354 | 2.62Γ | 38% |
| β« | scalar - a (int32) | int32 | 1,000 | 0.0009 | 0.0013 | 0.72Γ | 139% |
| π‘ | scalar - a (int32) | int32 | 100,000 | 0.0240 | 0.0290 | 0.83Γ | 121% |
| β | scalar - a (int32) | int32 | 10,000,000 | 13.3685 | 5.4031 | 2.47Γ | 40% |
| π‘ | scalar - a (int64) | int64 | 1,000 | 0.0011 | 0.0018 | 0.63Γ | 159% |
| π | scalar - a (int64) | int64 | 100,000 | 0.0250 | 0.0667 | 0.38Γ | 267% |
| β | scalar - a (int64) | int64 | 10,000,000 | 15.5954 | 14.9929 | 1.04Γ | 96% |
| β« | scalar - a (int8) | int8 | 1,000 | 0.0008 | 0.0009 | 0.90Γ | 111% |
| β | scalar - a (int8) | int8 | 100,000 | 0.0254 | 0.0080 | 3.18Γ | 31% |
| β | scalar - a (int8) | int8 | 10,000,000 | 4.5431 | 1.3785 | 3.30Γ | 30% |
| β« | scalar - a (uint16) | uint16 | 1,000 | 0.0009 | 0.0011 | 0.85Γ | 118% |
| β | scalar - a (uint16) | uint16 | 100,000 | 0.0313 | 0.0147 | 2.12Γ | 47% |
| β | scalar - a (uint16) | uint16 | 10,000,000 | 7.1706 | 2.6431 | 2.71Γ | 37% |
| β« | scalar - a (uint32) | uint32 | 1,000 | 0.0009 | 0.0012 | 0.80Γ | 124% |
| π‘ | scalar - a (uint32) | uint32 | 100,000 | 0.0239 | 0.0299 | 0.80Γ | 125% |
| β | scalar - a (uint32) | uint32 | 10,000,000 | 9.9808 | 5.3724 | 1.86Γ | 54% |
| β« | scalar - a (uint64) | uint64 | 1,000 | 0.0009 | 0.0018 | 0.51Γ | 198% |
| π | scalar - a (uint64) | uint64 | 100,000 | 0.0246 | 0.0594 | 0.41Γ | 242% |
| π‘ | scalar - a (uint64) | uint64 | 10,000,000 | 14.8288 | 14.8342 | 1.00Γ | 100% |
| β« | scalar - a (uint8) | uint8 | 1,000 | 0.0008 | 0.0009 | 0.84Γ | 119% |
| β | scalar - a (uint8) | uint8 | 100,000 | 0.0243 | 0.0082 | 2.98Γ | 34% |
| β | scalar - a (uint8) | uint8 | 10,000,000 | 4.0556 | 1.4050 | 2.89Γ | 35% |
| β« | scalar / a (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.33Γ | 301% |
| π | scalar / a (float32) | float32 | 100,000 | 0.0127 | 0.0612 | 0.21Γ | 483% |
| β | scalar / a (float32) | float32 | 10,000,000 | 7.9570 | 7.2244 | 1.10Γ | 91% |
| β« | scalar / a (float64) | float64 | 1,000 | 0.0009 | 0.0035 | 0.26Γ | 385% |
| π | scalar / a (float64) | float64 | 100,000 | 0.0372 | 0.1857 | 0.20Γ | 499% |
| π‘ | scalar / a (float64) | float64 | 10,000,000 | 19.3997 | 22.5621 | 0.86Γ | 116% |
| π | scalar / a (int32) | int32 | 1,000 | 0.0018 | 0.0070 | 0.26Γ | 391% |
| π | scalar / a (int32) | int32 | 100,000 | 0.0638 | 0.1794 | 0.35Γ | 281% |
| π‘ | scalar / a (int32) | int32 | 10,000,000 | 22.0961 | 25.4827 | 0.87Γ | 115% |
| π | scalar / a (int64) | int64 | 1,000 | 0.0018 | 0.0069 | 0.26Γ | 383% |
| π | scalar / a (int64) | int64 | 100,000 | 0.0627 | 0.1881 | 0.33Γ | 300% |
| π‘ | scalar / a (int64) | int64 | 10,000,000 | 19.6435 | 30.8085 | 0.64Γ | 157% |
Unary
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.abs (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.54Γ | 184% |
| β | np.abs (float16) | float16 | 100,000 | 0.0264 | 0.0234 | 1.13Γ | 89% |
| β | np.abs (float16) | float16 | 10,000,000 | 4.7982 | 2.9688 | 1.62Γ | 62% |
| β« | np.abs (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.34Γ | 291% |
| π΄ | np.abs (float32) | float32 | 100,000 | 0.0064 | 0.0352 | 0.18Γ | 553% |
| β | np.abs (float32) | float32 | 10,000,000 | 7.1189 | 4.2161 | 1.69Γ | 59% |
| β« | np.abs (float64) | float64 | 1,000 | 0.0006 | 0.0028 | 0.20Γ | 503% |
| π΄ | np.abs (float64) | float64 | 100,000 | 0.0112 | 0.0686 | 0.16Γ | 612% |
| β | np.abs (float64) | float64 | 10,000,000 | 14.6849 | 13.9245 | 1.05Γ | 95% |
| π‘ | np.cbrt(a) (float16) | float16 | 1,000 | 0.0101 | 0.0111 | 0.91Γ | 110% |
| π‘ | np.cbrt(a) (float16) | float16 | 100,000 | 1.1991 | 1.3766 | 0.87Γ | 115% |
| π‘ | np.cbrt(a) (float16) | float16 | 10,000,000 | 121.4253 | 136.3973 | 0.89Γ | 112% |
| β | np.cbrt(a) (float32) | float32 | 1,000 | 0.0066 | 0.0060 | 1.10Γ | 91% |
| β | np.cbrt(a) (float32) | float32 | 100,000 | 0.8943 | 0.8882 | 1.01Γ | 99% |
| β | np.cbrt(a) (float32) | float32 | 10,000,000 | 94.5195 | 86.5058 | 1.09Γ | 92% |
| β | np.cbrt(a) (float64) | float64 | 1,000 | 0.0098 | 0.0093 | 1.05Γ | 95% |
| β | np.cbrt(a) (float64) | float64 | 100,000 | 1.0970 | 1.0793 | 1.02Γ | 98% |
| β | np.cbrt(a) (float64) | float64 | 10,000,000 | 115.3869 | 109.5524 | 1.05Γ | 95% |
| β | np.ceil (float16) | float16 | 1,000 | 0.0050 | 0.0040 | 1.26Γ | 79% |
| β | np.ceil (float16) | float16 | 100,000 | 0.4660 | 0.3448 | 1.35Γ | 74% |
| β | np.ceil (float16) | float16 | 10,000,000 | 43.5339 | 33.7644 | 1.29Γ | 78% |
| β« | np.ceil (float32) | float32 | 1,000 | 0.0005 | 0.0014 | 0.38Γ | 263% |
| π | np.ceil (float32) | float32 | 100,000 | 0.0066 | 0.0305 | 0.22Γ | 460% |
| β | np.ceil (float32) | float32 | 10,000,000 | 7.2732 | 4.4002 | 1.65Γ | 60% |
| π | np.ceil (float64) | float64 | 1,000 | 0.0014 | 0.0036 | 0.37Γ | 270% |
| π΄ | np.ceil (float64) | float64 | 100,000 | 0.0120 | 0.0606 | 0.20Γ | 503% |
| π‘ | np.ceil (float64) | float64 | 10,000,000 | 14.6298 | 16.0489 | 0.91Γ | 110% |
| β | np.clip(a, -10, 10) (float16) | float16 | 1,000 | 0.0087 | 0.0059 | 1.47Γ | 68% |
| β | np.clip(a, -10, 10) (float16) | float16 | 100,000 | 0.9296 | 0.7061 | 1.32Γ | 76% |
| β | np.clip(a, -10, 10) (float16) | float16 | 10,000,000 | 93.7915 | 68.7791 | 1.36Γ | 73% |
| π | np.clip(a, -10, 10) (float32) | float32 | 1,000 | 0.0021 | 0.0064 | 0.32Γ | 308% |
| π | np.clip(a, -10, 10) (float32) | float32 | 100,000 | 0.0082 | 0.0345 | 0.24Γ | 421% |
| β | np.clip(a, -10, 10) (float32) | float32 | 10,000,000 | 7.5158 | 4.1400 | 1.81Γ | 55% |
| π | np.clip(a, -10, 10) (float64) | float64 | 1,000 | 0.0019 | 0.0047 | 0.40Γ | 252% |
| π | np.clip(a, -10, 10) (float64) | float64 | 100,000 | 0.0166 | 0.0700 | 0.24Γ | 421% |
| β | np.clip(a, -10, 10) (float64) | float64 | 10,000,000 | 18.6971 | 13.3810 | 1.40Γ | 72% |
| π‘ | np.cos (float16) | float16 | 1,000 | 0.0051 | 0.0081 | 0.63Γ | 158% |
| π‘ | np.cos (float16) | float16 | 100,000 | 0.7102 | 1.1049 | 0.64Γ | 156% |
| π‘ | np.cos (float16) | float16 | 10,000,000 | 80.1757 | 109.6838 | 0.73Γ | 137% |
| β | np.cos (float32) | float32 | 1,000 | 0.0051 | 0.0038 | 1.35Γ | 74% |
| π‘ | np.cos (float32) | float32 | 100,000 | 0.7030 | 0.7111 | 0.99Γ | 101% |
| β | np.cos (float32) | float32 | 10,000,000 | 82.6791 | 69.0830 | 1.20Γ | 84% |
| β | np.cos (float64) | float64 | 1,000 | 0.0050 | 0.0040 | 1.22Γ | 82% |
| π‘ | np.cos (float64) | float64 | 100,000 | 0.6990 | 0.7313 | 0.96Γ | 105% |
| β | np.cos (float64) | float64 | 10,000,000 | 81.9906 | 77.3710 | 1.06Γ | 94% |
| π‘ | np.exp (float16) | float16 | 1,000 | 0.0052 | 0.0066 | 0.79Γ | 127% |
| π‘ | np.exp (float16) | float16 | 100,000 | 0.4392 | 0.6077 | 0.72Γ | 138% |
| π‘ | np.exp (float16) | float16 | 10,000,000 | 44.3829 | 58.6632 | 0.76Γ | 132% |
| π΄ | np.exp (float32) | float32 | 1,000 | 0.0010 | 0.0056 | 0.19Γ | 539% |
| π | np.exp (float32) | float32 | 100,000 | 0.0553 | 0.1841 | 0.30Γ | 333% |
| π‘ | np.exp (float32) | float32 | 10,000,000 | 10.4285 | 17.6747 | 0.59Γ | 170% |
| π‘ | np.exp (float64) | float64 | 1,000 | 0.0030 | 0.0040 | 0.75Γ | 134% |
| π‘ | np.exp (float64) | float64 | 100,000 | 0.2581 | 0.2792 | 0.93Γ | 108% |
| β | np.exp (float64) | float64 | 10,000,000 | 33.4427 | 31.7361 | 1.05Γ | 95% |
| π | np.exp2 (float16) | float16 | 1,000 | 0.0047 | 0.0099 | 0.48Γ | 210% |
| π | np.exp2 (float16) | float16 | 100,000 | 0.4598 | 0.9896 | 0.47Γ | 215% |
| π | np.exp2 (float16) | float16 | 10,000,000 | 48.1931 | 97.0656 | 0.50Γ | 201% |
| π | np.exp2 (float32) | float32 | 1,000 | 0.0022 | 0.0100 | 0.22Γ | 461% |
| π΄ | np.exp2 (float32) | float32 | 100,000 | 0.1760 | 0.8987 | 0.20Γ | 511% |
| π | np.exp2 (float32) | float32 | 10,000,000 | 22.9673 | 90.4267 | 0.25Γ | 394% |
| π | np.exp2 (float64) | float64 | 1,000 | 0.0025 | 0.0096 | 0.26Γ | 389% |
| π | np.exp2 (float64) | float64 | 100,000 | 0.2137 | 0.8559 | 0.25Γ | 400% |
| π | np.exp2 (float64) | float64 | 10,000,000 | 37.0195 | 90.0413 | 0.41Γ | 243% |
| π‘ | np.expm1 (float16) | float16 | 1,000 | 0.0058 | 0.0091 | 0.64Γ | 157% |
| π‘ | np.expm1 (float16) | float16 | 100,000 | 0.5474 | 0.8722 | 0.63Γ | 159% |
| π‘ | np.expm1 (float16) | float16 | 10,000,000 | 55.0439 | 85.4215 | 0.64Γ | 155% |
| π‘ | np.expm1 (float32) | float32 | 1,000 | 0.0032 | 0.0046 | 0.70Γ | 142% |
| β | np.expm1 (float32) | float32 | 100,000 | 0.2728 | 0.1902 | 1.43Γ | 70% |
| β | np.expm1 (float32) | float32 | 10,000,000 | 31.7384 | 18.4160 | 1.72Γ | 58% |
| π‘ | np.expm1 (float64) | float64 | 1,000 | 0.0038 | 0.0040 | 0.95Γ | 106% |
| β | np.expm1 (float64) | float64 | 100,000 | 0.3590 | 0.2864 | 1.25Γ | 80% |
| β | np.expm1 (float64) | float64 | 10,000,000 | 47.0453 | 33.2374 | 1.42Γ | 71% |
| β | np.floor (float16) | float16 | 1,000 | 0.0051 | 0.0039 | 1.30Γ | 77% |
| β | np.floor (float16) | float16 | 100,000 | 0.4407 | 0.3400 | 1.30Γ | 77% |
| β | np.floor (float16) | float16 | 10,000,000 | 43.3912 | 33.7248 | 1.29Γ | 78% |
| β« | np.floor (float32) | float32 | 1,000 | 0.0006 | 0.0015 | 0.38Γ | 267% |
| π΄ | np.floor (float32) | float32 | 100,000 | 0.0064 | 0.0319 | 0.20Γ | 501% |
| β | np.floor (float32) | float32 | 10,000,000 | 7.3030 | 5.1858 | 1.41Γ | 71% |
| β« | np.floor (float64) | float64 | 1,000 | 0.0006 | 0.0032 | 0.17Γ | 575% |
| π | np.floor (float64) | float64 | 100,000 | 0.0151 | 0.0632 | 0.24Γ | 419% |
| π‘ | np.floor (float64) | float64 | 10,000,000 | 14.8331 | 19.6220 | 0.76Γ | 132% |
| π‘ | np.log (float16) | float16 | 1,000 | 0.0049 | 0.0069 | 0.71Γ | 141% |
| π‘ | np.log (float16) | float16 | 100,000 | 0.4263 | 0.6316 | 0.68Γ | 148% |
| π‘ | np.log (float16) | float16 | 10,000,000 | 46.0282 | 63.6713 | 0.72Γ | 138% |
| π | np.log (float32) | float32 | 1,000 | 0.0013 | 0.0051 | 0.26Γ | 384% |
| π | np.log (float32) | float32 | 100,000 | 0.0869 | 0.2148 | 0.40Γ | 247% |
| π‘ | np.log (float32) | float32 | 10,000,000 | 13.1800 | 20.9525 | 0.63Γ | 159% |
| π‘ | np.log (float64) | float64 | 1,000 | 0.0028 | 0.0038 | 0.73Γ | 136% |
| π‘ | np.log (float64) | float64 | 100,000 | 0.2424 | 0.2668 | 0.91Γ | 110% |
| β | np.log (float64) | float64 | 10,000,000 | 31.9128 | 30.1149 | 1.06Γ | 94% |
| π‘ | np.log10 (float16) | float16 | 1,000 | 0.0052 | 0.0070 | 0.74Γ | 135% |
| π‘ | np.log10 (float16) | float16 | 100,000 | 0.4465 | 0.6426 | 0.69Γ | 144% |
| π‘ | np.log10 (float16) | float16 | 10,000,000 | 47.8418 | 62.9499 | 0.76Γ | 132% |
| π‘ | np.log10 (float32) | float32 | 1,000 | 0.0035 | 0.0050 | 0.70Γ | 143% |
| π‘ | np.log10 (float32) | float32 | 100,000 | 0.1985 | 0.2140 | 0.93Γ | 108% |
| β | np.log10 (float32) | float32 | 10,000,000 | 23.5444 | 20.6616 | 1.14Γ | 88% |
| π‘ | np.log10 (float64) | float64 | 1,000 | 0.0029 | 0.0040 | 0.73Γ | 138% |
| π‘ | np.log10 (float64) | float64 | 100,000 | 0.2625 | 0.2698 | 0.97Γ | 103% |
| β | np.log10 (float64) | float64 | 10,000,000 | 32.9855 | 30.7610 | 1.07Γ | 93% |
| π‘ | np.log1p (float16) | float16 | 1,000 | 0.0062 | 0.0086 | 0.72Γ | 139% |
| π‘ | np.log1p (float16) | float16 | 100,000 | 0.5885 | 0.7878 | 0.75Γ | 134% |
| π‘ | np.log1p (float16) | float16 | 10,000,000 | 60.5869 | 77.8953 | 0.78Γ | 129% |
| π‘ | np.log1p (float32) | float32 | 1,000 | 0.0039 | 0.0040 | 0.98Γ | 102% |
| β | np.log1p (float32) | float32 | 100,000 | 0.3058 | 0.2337 | 1.31Γ | 76% |
| β | np.log1p (float32) | float32 | 10,000,000 | 33.3514 | 22.3477 | 1.49Γ | 67% |
| β | np.log1p (float64) | float64 | 1,000 | 0.0039 | 0.0033 | 1.19Γ | 84% |
| β | np.log1p (float64) | float64 | 100,000 | 0.3412 | 0.2752 | 1.24Γ | 81% |
| β | np.log1p (float64) | float64 | 10,000,000 | 48.2083 | 31.5835 | 1.53Γ | 66% |
| π‘ | np.log2 (float16) | float16 | 1,000 | 0.0050 | 0.0070 | 0.72Γ | 139% |
| π‘ | np.log2 (float16) | float16 | 100,000 | 0.4545 | 0.6414 | 0.71Γ | 141% |
| π‘ | np.log2 (float16) | float16 | 10,000,000 | 48.9339 | 62.7084 | 0.78Γ | 128% |
| π‘ | np.log2 (float32) | float32 | 1,000 | 0.0027 | 0.0052 | 0.51Γ | 195% |
| β | np.log2 (float32) | float32 | 100,000 | 0.2008 | 0.2006 | 1.00Γ | 100% |
| β | np.log2 (float32) | float32 | 10,000,000 | 23.4387 | 19.2540 | 1.22Γ | 82% |
| π‘ | np.log2 (float64) | float64 | 1,000 | 0.0042 | 0.0044 | 0.95Γ | 106% |
| π‘ | np.log2 (float64) | float64 | 100,000 | 0.3739 | 0.3882 | 0.96Γ | 104% |
| β | np.log2 (float64) | float64 | 10,000,000 | 50.1019 | 42.1909 | 1.19Γ | 84% |
| β« | np.negative(a) (float16) | float16 | 1,000 | 0.0007 | 0.0014 | 0.54Γ | 185% |
| β | np.negative(a) (float16) | float16 | 100,000 | 0.0278 | 0.0234 | 1.19Γ | 84% |
| β | np.negative(a) (float16) | float16 | 10,000,000 | 4.7690 | 2.8837 | 1.65Γ | 60% |
| β« | np.negative(a) (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.35Γ | 289% |
| π | np.negative(a) (float32) | float32 | 100,000 | 0.0066 | 0.0261 | 0.25Γ | 394% |
| β | np.negative(a) (float32) | float32 | 10,000,000 | 7.7826 | 4.1048 | 1.90Γ | 53% |
| β« | np.negative(a) (float64) | float64 | 1,000 | 0.0005 | 0.0036 | 0.15Γ | 679% |
| π | np.negative(a) (float64) | float64 | 100,000 | 0.0121 | 0.0539 | 0.22Γ | 447% |
| β | np.negative(a) (float64) | float64 | 10,000,000 | 16.0651 | 13.8831 | 1.16Γ | 86% |
| β« | np.positive(a) (float16) | float16 | 1,000 | 0.0007 | 0.0010 | 0.69Γ | 144% |
| β | np.positive(a) (float16) | float16 | 100,000 | 0.0217 | 0.0130 | 1.67Γ | 60% |
| β | np.positive(a) (float16) | float16 | 10,000,000 | 4.2319 | 1.6180 | 2.62Γ | 38% |
| β« | np.positive(a) (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.32Γ | 310% |
| π‘ | np.positive(a) (float32) | float32 | 100,000 | 0.0194 | 0.0250 | 0.78Γ | 129% |
| β | np.positive(a) (float32) | float32 | 10,000,000 | 7.7620 | 3.3803 | 2.30Γ | 44% |
| β« | np.positive(a) (float64) | float64 | 1,000 | 0.0007 | 0.0028 | 0.24Γ | 409% |
| π | np.positive(a) (float64) | float64 | 100,000 | 0.0206 | 0.0520 | 0.40Γ | 252% |
| β | np.positive(a) (float64) | float64 | 10,000,000 | 15.1241 | 10.8534 | 1.39Γ | 72% |
| β | np.power(a, 0.5) (float16) | float16 | 1,000 | 0.0092 | 0.0057 | 1.62Γ | 62% |
| β | np.power(a, 0.5) (float16) | float16 | 100,000 | 0.8324 | 0.3398 | 2.45Γ | 41% |
| β | np.power(a, 0.5) (float16) | float16 | 10,000,000 | 84.2019 | 32.9557 | 2.56Γ | 39% |
| β | np.power(a, 0.5) (float32) | float32 | 1,000 | 0.0020 | 0.0019 | 1.06Γ | 94% |
| β | np.power(a, 0.5) (float32) | float32 | 100,000 | 0.1267 | 0.0285 | 4.45Γ | 22% |
| β | np.power(a, 0.5) (float32) | float32 | 10,000,000 | 16.0019 | 4.1327 | 3.87Γ | 26% |
| π‘ | np.power(a, 0.5) (float64) | float64 | 1,000 | 0.0018 | 0.0032 | 0.55Γ | 181% |
| β | np.power(a, 0.5) (float64) | float64 | 100,000 | 0.1231 | 0.0638 | 1.93Γ | 52% |
| β | np.power(a, 0.5) (float64) | float64 | 10,000,000 | 25.4013 | 13.6356 | 1.86Γ | 54% |
| β | np.power(a, 2) (float16) | float16 | 1,000 | 0.0103 | 0.0054 | 1.90Γ | 53% |
| β | np.power(a, 2) (float16) | float16 | 100,000 | 1.0690 | 0.4762 | 2.25Γ | 44% |
| β | np.power(a, 2) (float16) | float16 | 10,000,000 | 106.8632 | 46.7294 | 2.29Γ | 44% |
| β | np.power(a, 2) (float32) | float32 | 1,000 | 0.0024 | 0.0017 | 1.36Γ | 73% |
| β | np.power(a, 2) (float32) | float32 | 100,000 | 0.1544 | 0.0283 | 5.46Γ | 18% |
| β | np.power(a, 2) (float32) | float32 | 10,000,000 | 18.9400 | 4.1649 | 4.55Γ | 22% |
| π‘ | np.power(a, 2) (float64) | float64 | 1,000 | 0.0022 | 0.0031 | 0.71Γ | 141% |
| β | np.power(a, 2) (float64) | float64 | 100,000 | 0.1542 | 0.0590 | 2.62Γ | 38% |
| β | np.power(a, 2) (float64) | float64 | 10,000,000 | 28.4405 | 13.5219 | 2.10Γ | 48% |
| π‘ | np.power(a, 3) (float16) | float16 | 1,000 | 0.0126 | 0.0176 | 0.72Γ | 140% |
| π‘ | np.power(a, 3) (float16) | float16 | 100,000 | 1.5343 | 2.4828 | 0.62Γ | 162% |
| π‘ | np.power(a, 3) (float16) | float16 | 10,000,000 | 150.3564 | 250.3069 | 0.60Γ | 166% |
| π‘ | np.power(a, 3) (float32) | float32 | 1,000 | 0.0059 | 0.0082 | 0.73Γ | 137% |
| π‘ | np.power(a, 3) (float32) | float32 | 100,000 | 0.6578 | 0.6780 | 0.97Γ | 103% |
| β | np.power(a, 3) (float32) | float32 | 10,000,000 | 72.0628 | 66.4589 | 1.08Γ | 92% |
| π‘ | np.power(a, 3) (float64) | float64 | 1,000 | 0.0098 | 0.0121 | 0.81Γ | 123% |
| π‘ | np.power(a, 3) (float64) | float64 | 100,000 | 1.0724 | 1.0959 | 0.98Γ | 102% |
| β | np.power(a, 3) (float64) | float64 | 10,000,000 | 124.6532 | 111.9286 | 1.11Γ | 90% |
| π‘ | np.reciprocal(a) (float16) | float16 | 1,000 | 0.0036 | 0.0045 | 0.79Γ | 127% |
| π‘ | np.reciprocal(a) (float16) | float16 | 100,000 | 0.2193 | 0.4080 | 0.54Γ | 186% |
| π‘ | np.reciprocal(a) (float16) | float16 | 10,000,000 | 23.1324 | 40.0357 | 0.58Γ | 173% |
| β« | np.reciprocal(a) (float32) | float32 | 1,000 | 0.0006 | 0.0014 | 0.44Γ | 225% |
| π‘ | np.reciprocal(a) (float32) | float32 | 100,000 | 0.0143 | 0.0263 | 0.54Γ | 184% |
| β | np.reciprocal(a) (float32) | float32 | 10,000,000 | 7.1620 | 4.0578 | 1.76Γ | 57% |
| β« | np.reciprocal(a) (float64) | float64 | 1,000 | 0.0008 | 0.0019 | 0.42Γ | 237% |
| π‘ | np.reciprocal(a) (float64) | float64 | 100,000 | 0.0421 | 0.0535 | 0.79Γ | 127% |
| β | np.reciprocal(a) (float64) | float64 | 10,000,000 | 14.7266 | 13.7636 | 1.07Γ | 94% |
| β | np.round (float16) | float16 | 1,000 | 0.0058 | 0.0046 | 1.24Γ | 81% |
| β | np.round (float16) | float16 | 100,000 | 0.4702 | 0.4240 | 1.11Γ | 90% |
| β | np.round (float16) | float16 | 10,000,000 | 42.8027 | 40.9331 | 1.05Γ | 96% |
| π‘ | np.round (float32) | float32 | 1,000 | 0.0011 | 0.0015 | 0.73Γ | 136% |
| π | np.round (float32) | float32 | 100,000 | 0.0070 | 0.0281 | 0.25Γ | 403% |
| β | np.round (float32) | float32 | 10,000,000 | 7.3586 | 4.6823 | 1.57Γ | 64% |
| π | np.round (float64) | float64 | 1,000 | 0.0012 | 0.0024 | 0.49Γ | 204% |
| π | np.round (float64) | float64 | 100,000 | 0.0128 | 0.0572 | 0.22Γ | 447% |
| π‘ | np.round (float64) | float64 | 10,000,000 | 15.0627 | 15.7393 | 0.96Γ | 104% |
| π | np.sign (float16) | float16 | 1,000 | 0.0014 | 0.0042 | 0.33Γ | 304% |
| π΄ | np.sign (float16) | float16 | 100,000 | 0.0887 | 0.6603 | 0.13Γ | 744% |
| π΄ | np.sign (float16) | float16 | 10,000,000 | 10.5588 | 63.8912 | 0.17Γ | 605% |
| π | np.sign (float32) | float32 | 1,000 | 0.0011 | 0.0038 | 0.29Γ | 339% |
| π‘ | np.sign (float32) | float32 | 100,000 | 0.2971 | 0.4006 | 0.74Γ | 135% |
| π‘ | np.sign (float32) | float32 | 10,000,000 | 36.0421 | 39.7051 | 0.91Γ | 110% |
| π | np.sign (float64) | float64 | 1,000 | 0.0010 | 0.0047 | 0.22Γ | 448% |
| π‘ | np.sign (float64) | float64 | 100,000 | 0.2936 | 0.4000 | 0.73Γ | 136% |
| π‘ | np.sign (float64) | float64 | 10,000,000 | 40.6151 | 45.1700 | 0.90Γ | 111% |
| π‘ | np.sin (float16) | float16 | 1,000 | 0.0057 | 0.0080 | 0.72Γ | 139% |
| π‘ | np.sin (float16) | float16 | 100,000 | 0.7108 | 1.1057 | 0.64Γ | 156% |
| π‘ | np.sin (float16) | float16 | 10,000,000 | 79.6291 | 110.4160 | 0.72Γ | 139% |
| β | np.sin (float32) | float32 | 1,000 | 0.0060 | 0.0038 | 1.57Γ | 64% |
| β | np.sin (float32) | float32 | 100,000 | 0.7167 | 0.7077 | 1.01Γ | 99% |
| β | np.sin (float32) | float32 | 10,000,000 | 80.7643 | 70.4978 | 1.15Γ | 87% |
| β | np.sin (float64) | float64 | 1,000 | 0.0049 | 0.0040 | 1.22Γ | 82% |
| π‘ | np.sin (float64) | float64 | 100,000 | 0.7140 | 0.7415 | 0.96Γ | 104% |
| β | np.sin (float64) | float64 | 10,000,000 | 82.0560 | 78.2388 | 1.05Γ | 95% |
| β | np.sqrt (float16) | float16 | 1,000 | 0.0046 | 0.0039 | 1.18Γ | 85% |
| β | np.sqrt (float16) | float16 | 100,000 | 0.4264 | 0.3413 | 1.25Γ | 80% |
| β | np.sqrt (float16) | float16 | 10,000,000 | 40.8006 | 33.6967 | 1.21Γ | 83% |
| β« | np.sqrt (float32) | float32 | 1,000 | 0.0006 | 0.0015 | 0.42Γ | 238% |
| π‘ | np.sqrt (float32) | float32 | 100,000 | 0.0149 | 0.0291 | 0.51Γ | 195% |
| β | np.sqrt (float32) | float32 | 10,000,000 | 7.0955 | 4.2557 | 1.67Γ | 60% |
| π | np.sqrt (float64) | float64 | 1,000 | 0.0012 | 0.0025 | 0.47Γ | 214% |
| π‘ | np.sqrt (float64) | float64 | 100,000 | 0.0557 | 0.0656 | 0.85Γ | 118% |
| β | np.sqrt (float64) | float64 | 10,000,000 | 15.1785 | 13.7551 | 1.10Γ | 91% |
| π‘ | np.square(a) (float16) | float16 | 1,000 | 0.0034 | 0.0048 | 0.71Γ | 141% |
| π | np.square(a) (float16) | float16 | 100,000 | 0.2122 | 0.4399 | 0.48Γ | 207% |
| π‘ | np.square(a) (float16) | float16 | 10,000,000 | 23.1199 | 42.7721 | 0.54Γ | 185% |
| β« | np.square(a) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.39Γ | 258% |
| π | np.square(a) (float32) | float32 | 100,000 | 0.0058 | 0.0262 | 0.22Γ | 448% |
| β | np.square(a) (float32) | float32 | 10,000,000 | 7.1833 | 4.0587 | 1.77Γ | 56% |
| β« | np.square(a) (float64) | float64 | 1,000 | 0.0005 | 0.0030 | 0.17Γ | 596% |
| π | np.square(a) (float64) | float64 | 100,000 | 0.0122 | 0.0533 | 0.23Γ | 436% |
| β | np.square(a) (float64) | float64 | 10,000,000 | 14.9158 | 13.8405 | 1.08Γ | 93% |
| π‘ | np.tan (float16) | float16 | 1,000 | 0.0045 | 0.0083 | 0.55Γ | 183% |
| π‘ | np.tan (float16) | float16 | 100,000 | 0.8245 | 1.1120 | 0.74Γ | 135% |
| π‘ | np.tan (float16) | float16 | 10,000,000 | 92.5062 | 110.2014 | 0.84Γ | 119% |
| β | np.tan (float32) | float32 | 1,000 | 0.0047 | 0.0038 | 1.24Γ | 81% |
| β | np.tan (float32) | float32 | 100,000 | 0.8414 | 0.6851 | 1.23Γ | 81% |
| β | np.tan (float32) | float32 | 10,000,000 | 92.7529 | 67.5651 | 1.37Γ | 73% |
| π‘ | np.tan (float64) | float64 | 1,000 | 0.0050 | 0.0050 | 0.99Γ | 101% |
| π‘ | np.tan (float64) | float64 | 100,000 | 0.8055 | 0.8447 | 0.95Γ | 105% |
| β | np.tan (float64) | float64 | 10,000,000 | 94.5311 | 88.7915 | 1.06Γ | 94% |
| β | np.trunc(a) (float16) | float16 | 1,000 | 0.0054 | 0.0038 | 1.40Γ | 71% |
| β | np.trunc(a) (float16) | float16 | 100,000 | 0.4827 | 0.3346 | 1.44Γ | 69% |
| β | np.trunc(a) (float16) | float16 | 10,000,000 | 42.0396 | 32.4934 | 1.29Γ | 77% |
| β« | np.trunc(a) (float32) | float32 | 1,000 | 0.0005 | 0.0016 | 0.34Γ | 290% |
| π | np.trunc(a) (float32) | float32 | 100,000 | 0.0058 | 0.0257 | 0.22Γ | 445% |
| β | np.trunc(a) (float32) | float32 | 10,000,000 | 7.1817 | 4.0632 | 1.77Γ | 57% |
| β« | np.trunc(a) (float64) | float64 | 1,000 | 0.0005 | 0.0020 | 0.27Γ | 373% |
| π | np.trunc(a) (float64) | float64 | 100,000 | 0.0115 | 0.0513 | 0.22Γ | 446% |
| β | np.trunc(a) (float64) | float64 | 10,000,000 | 14.6674 | 13.6305 | 1.08Γ | 93% |
Reduction
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β | np.amax (complex128) | complex128 | 1,000 | 0.0030 | 0.0018 | 1.64Γ | 61% |
| β | np.amax (complex128) | complex128 | 100,000 | 0.1573 | 0.1142 | 1.38Γ | 73% |
| β | np.amax (complex128) | complex128 | 10,000,000 | 16.6240 | 13.6265 | 1.22Γ | 82% |
| β | np.amax (float16) | float16 | 1,000 | 0.0037 | 0.0011 | 3.48Γ | 29% |
| β | np.amax (float16) | float16 | 100,000 | 0.5066 | 0.3200 | 1.58Γ | 63% |
| β | np.amax (float16) | float16 | 10,000,000 | 50.6659 | 33.1861 | 1.53Γ | 66% |
| β« | np.amax (float32) | float32 | 1,000 | 0.0017 | 0.0006 | 2.73Γ | 37% |
| β | np.amax (float32) | float32 | 100,000 | 0.0059 | 0.0038 | 1.54Γ | 65% |
| β | np.amax (float32) | float32 | 10,000,000 | 1.5947 | 1.2905 | 1.24Γ | 81% |
| β« | np.amax (float64) | float64 | 1,000 | 0.0018 | 0.0008 | 2.34Γ | 43% |
| β | np.amax (float64) | float64 | 100,000 | 0.0099 | 0.0062 | 1.60Γ | 62% |
| β | np.amax (float64) | float64 | 10,000,000 | 3.3475 | 3.2005 | 1.05Γ | 96% |
| β« | np.amax (int16) | int16 | 1,000 | 0.0015 | 0.0007 | 2.14Γ | 47% |
| β | np.amax (int16) | int16 | 100,000 | 0.0031 | 0.0015 | 2.04Γ | 49% |
| β | np.amax (int16) | int16 | 10,000,000 | 0.4359 | 0.3359 | 1.30Γ | 77% |
| β« | np.amax (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.28Γ | 44% |
| β | np.amax (int32) | int32 | 100,000 | 0.0044 | 0.0023 | 1.94Γ | 52% |
| β | np.amax (int32) | int32 | 10,000,000 | 1.2908 | 1.0195 | 1.27Γ | 79% |
| β« | np.amax (int64) | int64 | 1,000 | 0.0017 | 0.0006 | 2.62Γ | 38% |
| β | np.amax (int64) | int64 | 100,000 | 0.0089 | 0.0078 | 1.14Γ | 88% |
| π‘ | np.amax (int64) | int64 | 10,000,000 | 3.4074 | 3.5508 | 0.96Γ | 104% |
| β« | np.amax (int8) | int8 | 1,000 | 0.0016 | 0.0007 | 2.08Γ | 48% |
| β | np.amax (int8) | int8 | 100,000 | 0.0024 | 0.0012 | 2.00Γ | 50% |
| β | np.amax (int8) | int8 | 10,000,000 | 0.1508 | 0.1463 | 1.03Γ | 97% |
| β« | np.amax (uint16) | uint16 | 1,000 | 0.0016 | 0.0008 | 2.12Γ | 47% |
| β | np.amax (uint16) | uint16 | 100,000 | 0.0032 | 0.0015 | 2.13Γ | 47% |
| π‘ | np.amax (uint16) | uint16 | 10,000,000 | 0.2938 | 0.3342 | 0.88Γ | 114% |
| β« | np.amax (uint32) | uint32 | 1,000 | 0.0016 | 0.0007 | 2.21Γ | 45% |
| β | np.amax (uint32) | uint32 | 100,000 | 0.0049 | 0.0032 | 1.53Γ | 65% |
| β | np.amax (uint32) | uint32 | 10,000,000 | 1.4205 | 1.0043 | 1.41Γ | 71% |
| β« | np.amax (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.14Γ | 47% |
| β | np.amax (uint64) | uint64 | 100,000 | 0.0129 | 0.0100 | 1.29Γ | 78% |
| π‘ | np.amax (uint64) | uint64 | 10,000,000 | 3.6692 | 3.6868 | 0.99Γ | 100% |
| β« | np.amax (uint8) | uint8 | 1,000 | 0.0016 | 0.0008 | 2.06Γ | 49% |
| β | np.amax (uint8) | uint8 | 100,000 | 0.0024 | 0.0012 | 2.06Γ | 49% |
| π‘ | np.amax (uint8) | uint8 | 10,000,000 | 0.1351 | 0.1468 | 0.92Γ | 109% |
| β | np.amax axis=0 (complex128) | complex128 | 1,000 | 0.0030 | 0.0030 | 1.00Γ | 100% |
| β | np.amax axis=0 (complex128) | complex128 | 100,000 | 0.1550 | 0.1176 | 1.32Γ | 76% |
| β | np.amax axis=0 (complex128) | complex128 | 10,000,000 | 16.0042 | 13.0433 | 1.23Γ | 82% |
| β | np.amax axis=0 (float16) | float16 | 1,000 | 0.0042 | 0.0019 | 2.18Γ | 46% |
| β | np.amax axis=0 (float16) | float16 | 100,000 | 0.5075 | 0.5048 | 1.00Γ | 100% |
| π‘ | np.amax axis=0 (float16) | float16 | 10,000,000 | 49.7420 | 78.1538 | 0.64Γ | 157% |
| β« | np.amax axis=0 (float32) | float32 | 1,000 | 0.0021 | 0.0008 | 2.66Γ | 38% |
| π‘ | np.amax axis=0 (float32) | float32 | 100,000 | 0.0091 | 0.0100 | 0.92Γ | 109% |
| π‘ | np.amax axis=0 (float32) | float32 | 10,000,000 | 1.6926 | 1.8598 | 0.91Γ | 110% |
| β« | np.amax axis=0 (float64) | float64 | 1,000 | 0.0021 | 0.0009 | 2.33Γ | 43% |
| π‘ | np.amax axis=0 (float64) | float64 | 100,000 | 0.0145 | 0.0175 | 0.83Γ | 120% |
| π‘ | np.amax axis=0 (float64) | float64 | 10,000,000 | 3.9104 | 4.2597 | 0.92Γ | 109% |
| β« | np.amax axis=0 (int16) | int16 | 1,000 | 0.0020 | 0.0007 | 2.94Γ | 34% |
| β | np.amax axis=0 (int16) | int16 | 100,000 | 0.0063 | 0.0037 | 1.73Γ | 58% |
| β | np.amax axis=0 (int16) | int16 | 10,000,000 | 0.5073 | 0.3767 | 1.35Γ | 74% |
| β« | np.amax axis=0 (int32) | int32 | 1,000 | 0.0020 | 0.0007 | 2.84Γ | 35% |
| β | np.amax axis=0 (int32) | int32 | 100,000 | 0.0082 | 0.0055 | 1.48Γ | 67% |
| β | np.amax axis=0 (int32) | int32 | 10,000,000 | 1.7469 | 1.3193 | 1.32Γ | 76% |
| β« | np.amax axis=0 (int64) | int64 | 1,000 | 0.0021 | 0.0008 | 2.62Γ | 38% |
| β | np.amax axis=0 (int64) | int64 | 100,000 | 0.0153 | 0.0118 | 1.30Γ | 77% |
| β | np.amax axis=0 (int64) | int64 | 10,000,000 | 4.1410 | 3.6647 | 1.13Γ | 88% |
| β« | np.amax axis=0 (int8) | int8 | 1,000 | 0.0020 | 0.0007 | 2.79Γ | 36% |
| β | np.amax axis=0 (int8) | int8 | 100,000 | 0.0076 | 0.0039 | 1.96Γ | 51% |
| β | np.amax axis=0 (int8) | int8 | 10,000,000 | 0.3964 | 0.1724 | 2.30Γ | 44% |
| β« | np.amax axis=0 (uint16) | uint16 | 1,000 | 0.0020 | 0.0007 | 2.97Γ | 34% |
| β | np.amax axis=0 (uint16) | uint16 | 100,000 | 0.0065 | 0.0036 | 1.79Γ | 56% |
| β | np.amax axis=0 (uint16) | uint16 | 10,000,000 | 0.4804 | 0.3808 | 1.26Γ | 79% |
| β« | np.amax axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.81Γ | 36% |
| β | np.amax axis=0 (uint32) | uint32 | 100,000 | 0.0082 | 0.0055 | 1.49Γ | 67% |
| β | np.amax axis=0 (uint32) | uint32 | 10,000,000 | 1.6177 | 1.2662 | 1.28Γ | 78% |
| β« | np.amax axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0009 | 2.24Γ | 45% |
| β | np.amax axis=0 (uint64) | uint64 | 100,000 | 0.0185 | 0.0138 | 1.34Γ | 74% |
| β | np.amax axis=0 (uint64) | uint64 | 10,000,000 | 4.3907 | 3.8229 | 1.15Γ | 87% |
| β« | np.amax axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.85Γ | 35% |
| β | np.amax axis=0 (uint8) | uint8 | 100,000 | 0.0081 | 0.0031 | 2.65Γ | 38% |
| β | np.amax axis=0 (uint8) | uint8 | 10,000,000 | 0.2207 | 0.1718 | 1.28Γ | 78% |
| β | np.amin (complex128) | complex128 | 1,000 | 0.0031 | 0.0016 | 1.93Γ | 52% |
| β | np.amin (complex128) | complex128 | 100,000 | 0.1527 | 0.1141 | 1.34Γ | 75% |
| β | np.amin (complex128) | complex128 | 10,000,000 | 16.4378 | 13.5639 | 1.21Γ | 82% |
| β | np.amin (float16) | float16 | 1,000 | 0.0041 | 0.0012 | 3.53Γ | 28% |
| β | np.amin (float16) | float16 | 100,000 | 0.5120 | 0.3020 | 1.70Γ | 59% |
| β | np.amin (float16) | float16 | 10,000,000 | 51.8815 | 31.4161 | 1.65Γ | 61% |
| β« | np.amin (float32) | float32 | 1,000 | 0.0023 | 0.0008 | 2.97Γ | 34% |
| β | np.amin (float32) | float32 | 100,000 | 0.0058 | 0.0035 | 1.68Γ | 60% |
| β | np.amin (float32) | float32 | 10,000,000 | 1.4447 | 1.3328 | 1.08Γ | 92% |
| β« | np.amin (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.21Γ | 45% |
| β | np.amin (float64) | float64 | 100,000 | 0.0104 | 0.0073 | 1.42Γ | 70% |
| β | np.amin (float64) | float64 | 10,000,000 | 3.3498 | 3.2187 | 1.04Γ | 96% |
| β« | np.amin (int16) | int16 | 1,000 | 0.0016 | 0.0007 | 2.27Γ | 44% |
| β | np.amin (int16) | int16 | 100,000 | 0.0035 | 0.0015 | 2.34Γ | 43% |
| β | np.amin (int16) | int16 | 10,000,000 | 0.7445 | 0.3330 | 2.24Γ | 45% |
| β« | np.amin (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.25Γ | 44% |
| β | np.amin (int32) | int32 | 100,000 | 0.0045 | 0.0023 | 1.98Γ | 50% |
| β | np.amin (int32) | int32 | 10,000,000 | 1.2150 | 1.0174 | 1.19Γ | 84% |
| β« | np.amin (int64) | int64 | 1,000 | 0.0017 | 0.0008 | 2.13Γ | 47% |
| β | np.amin (int64) | int64 | 100,000 | 0.0106 | 0.0074 | 1.44Γ | 70% |
| π‘ | np.amin (int64) | int64 | 10,000,000 | 3.3282 | 3.5000 | 0.95Γ | 105% |
| β« | np.amin (int8) | int8 | 1,000 | 0.0017 | 0.0007 | 2.30Γ | 44% |
| β | np.amin (int8) | int8 | 100,000 | 0.0028 | 0.0012 | 2.38Γ | 42% |
| π‘ | np.amin (int8) | int8 | 10,000,000 | 0.1435 | 0.1467 | 0.98Γ | 102% |
| β« | np.amin (uint16) | uint16 | 1,000 | 0.0016 | 0.0007 | 2.16Γ | 46% |
| β | np.amin (uint16) | uint16 | 100,000 | 0.0033 | 0.0015 | 2.21Γ | 45% |
| π‘ | np.amin (uint16) | uint16 | 10,000,000 | 0.3225 | 0.3309 | 0.97Γ | 103% |
| β« | np.amin (uint32) | uint32 | 1,000 | 0.0016 | 0.0007 | 2.30Γ | 44% |
| β | np.amin (uint32) | uint32 | 100,000 | 0.0044 | 0.0032 | 1.36Γ | 74% |
| β | np.amin (uint32) | uint32 | 10,000,000 | 1.0859 | 1.0190 | 1.07Γ | 94% |
| β« | np.amin (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.12Γ | 47% |
| β | np.amin (uint64) | uint64 | 100,000 | 0.0126 | 0.0097 | 1.29Γ | 77% |
| π‘ | np.amin (uint64) | uint64 | 10,000,000 | 3.6037 | 3.7516 | 0.96Γ | 104% |
| β« | np.amin (uint8) | uint8 | 1,000 | 0.0016 | 0.0007 | 2.26Γ | 44% |
| β | np.amin (uint8) | uint8 | 100,000 | 0.0028 | 0.0012 | 2.41Γ | 42% |
| π‘ | np.amin (uint8) | uint8 | 10,000,000 | 0.1350 | 0.1465 | 0.92Γ | 108% |
| π‘ | np.amin axis=0 (complex128) | complex128 | 1,000 | 0.0029 | 0.0030 | 0.99Γ | 101% |
| π‘ | np.amin axis=0 (complex128) | complex128 | 100,000 | 0.1409 | 0.1480 | 0.95Γ | 105% |
| β | np.amin axis=0 (complex128) | complex128 | 10,000,000 | 15.7182 | 15.2730 | 1.03Γ | 97% |
| β | np.amin axis=0 (float16) | float16 | 1,000 | 0.0040 | 0.0019 | 2.11Γ | 47% |
| π‘ | np.amin axis=0 (float16) | float16 | 100,000 | 0.4771 | 0.5006 | 0.95Γ | 105% |
| π‘ | np.amin axis=0 (float16) | float16 | 10,000,000 | 47.3591 | 77.6081 | 0.61Γ | 164% |
| β« | np.amin axis=0 (float32) | float32 | 1,000 | 0.0021 | 0.0008 | 2.67Γ | 37% |
| β | np.amin axis=0 (float32) | float32 | 100,000 | 0.0116 | 0.0098 | 1.18Γ | 85% |
| π‘ | np.amin axis=0 (float32) | float32 | 10,000,000 | 1.7252 | 1.8255 | 0.94Γ | 106% |
| β« | np.amin axis=0 (float64) | float64 | 1,000 | 0.0021 | 0.0009 | 2.41Γ | 42% |
| π‘ | np.amin axis=0 (float64) | float64 | 100,000 | 0.0157 | 0.0165 | 0.95Γ | 105% |
| π‘ | np.amin axis=0 (float64) | float64 | 10,000,000 | 4.0124 | 4.1873 | 0.96Γ | 104% |
| β« | np.amin axis=0 (int16) | int16 | 1,000 | 0.0020 | 0.0007 | 2.90Γ | 34% |
| β | np.amin axis=0 (int16) | int16 | 100,000 | 0.0065 | 0.0037 | 1.74Γ | 58% |
| β | np.amin axis=0 (int16) | int16 | 10,000,000 | 0.5065 | 0.3754 | 1.35Γ | 74% |
| β« | np.amin axis=0 (int32) | int32 | 1,000 | 0.0023 | 0.0007 | 3.32Γ | 30% |
| β | np.amin axis=0 (int32) | int32 | 100,000 | 0.0088 | 0.0055 | 1.60Γ | 62% |
| β | np.amin axis=0 (int32) | int32 | 10,000,000 | 2.0366 | 1.2825 | 1.59Γ | 63% |
| β« | np.amin axis=0 (int64) | int64 | 1,000 | 0.0027 | 0.0008 | 3.32Γ | 30% |
| β | np.amin axis=0 (int64) | int64 | 100,000 | 0.0193 | 0.0118 | 1.63Γ | 61% |
| β | np.amin axis=0 (int64) | int64 | 10,000,000 | 4.3888 | 3.6438 | 1.20Γ | 83% |
| β« | np.amin axis=0 (int8) | int8 | 1,000 | 0.0019 | 0.0006 | 2.99Γ | 33% |
| β | np.amin axis=0 (int8) | int8 | 100,000 | 0.0077 | 0.0041 | 1.88Γ | 53% |
| β | np.amin axis=0 (int8) | int8 | 10,000,000 | 0.2767 | 0.1726 | 1.60Γ | 62% |
| β« | np.amin axis=0 (uint16) | uint16 | 1,000 | 0.0020 | 0.0007 | 2.98Γ | 34% |
| β | np.amin axis=0 (uint16) | uint16 | 100,000 | 0.0065 | 0.0036 | 1.79Γ | 56% |
| β | np.amin axis=0 (uint16) | uint16 | 10,000,000 | 0.4421 | 0.3803 | 1.16Γ | 86% |
| β« | np.amin axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.77Γ | 36% |
| β | np.amin axis=0 (uint32) | uint32 | 100,000 | 0.0084 | 0.0055 | 1.53Γ | 65% |
| β | np.amin axis=0 (uint32) | uint32 | 10,000,000 | 1.8904 | 1.2875 | 1.47Γ | 68% |
| β« | np.amin axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0008 | 2.38Γ | 42% |
| β | np.amin axis=0 (uint64) | uint64 | 100,000 | 0.0177 | 0.0137 | 1.29Γ | 77% |
| β | np.amin axis=0 (uint64) | uint64 | 10,000,000 | 4.4047 | 3.8707 | 1.14Γ | 88% |
| β« | np.amin axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.86Γ | 35% |
| β | np.amin axis=0 (uint8) | uint8 | 100,000 | 0.0076 | 0.0051 | 1.49Γ | 67% |
| β | np.amin axis=0 (uint8) | uint8 | 10,000,000 | 0.2090 | 0.1721 | 1.22Γ | 82% |
| β | np.argmax (complex128) | complex128 | 1,000 | 0.0020 | 0.0018 | 1.14Γ | 88% |
| π‘ | np.argmax (complex128) | complex128 | 100,000 | 0.1132 | 0.1141 | 0.99Γ | 101% |
| β | np.argmax (complex128) | complex128 | 10,000,000 | 14.1968 | 13.5590 | 1.05Γ | 96% |
| β | np.argmax (float16) | float16 | 1,000 | 0.0029 | 0.0021 | 1.41Γ | 71% |
| β | np.argmax (float16) | float16 | 100,000 | 0.4331 | 0.1412 | 3.07Γ | 33% |
| β | np.argmax (float16) | float16 | 10,000,000 | 43.8538 | 14.1652 | 3.10Γ | 32% |
| β« | np.argmax (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.78Γ | 129% |
| π΄ | np.argmax (float32) | float32 | 100,000 | 0.0087 | 0.0564 | 0.15Γ | 648% |
| π | np.argmax (float32) | float32 | 10,000,000 | 2.3137 | 5.7594 | 0.40Γ | 249% |
| β« | np.argmax (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.82Γ | 122% |
| π | np.argmax (float64) | float64 | 100,000 | 0.0193 | 0.0568 | 0.34Γ | 294% |
| π‘ | np.argmax (float64) | float64 | 10,000,000 | 4.1180 | 6.8003 | 0.61Γ | 165% |
| β« | np.argmax (int16) | int16 | 1,000 | 0.0009 | 0.0007 | 1.23Γ | 82% |
| β | np.argmax (int16) | int16 | 100,000 | 0.0034 | 0.0017 | 2.02Γ | 50% |
| β | np.argmax (int16) | int16 | 10,000,000 | 0.6951 | 0.3548 | 1.96Γ | 51% |
| β« | np.argmax (int32) | int32 | 1,000 | 0.0009 | 0.0007 | 1.23Γ | 82% |
| β | np.argmax (int32) | int32 | 100,000 | 0.0056 | 0.0027 | 2.10Γ | 48% |
| β | np.argmax (int32) | int32 | 10,000,000 | 1.8979 | 1.2026 | 1.58Γ | 63% |
| β« | np.argmax (int64) | int64 | 1,000 | 0.0010 | 0.0009 | 1.11Γ | 90% |
| π‘ | np.argmax (int64) | int64 | 100,000 | 0.0146 | 0.0284 | 0.51Γ | 195% |
| π‘ | np.argmax (int64) | int64 | 10,000,000 | 4.1056 | 4.5513 | 0.90Γ | 111% |
| β« | np.argmax (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.25Γ | 80% |
| β | np.argmax (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.88Γ | 53% |
| β | np.argmax (int8) | int8 | 10,000,000 | 0.1717 | 0.1469 | 1.17Γ | 86% |
| β« | np.argmax (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.27Γ | 79% |
| β | np.argmax (uint16) | uint16 | 100,000 | 0.0049 | 0.0017 | 2.96Γ | 34% |
| β | np.argmax (uint16) | uint16 | 10,000,000 | 0.5085 | 0.3549 | 1.43Γ | 70% |
| β« | np.argmax (uint32) | uint32 | 1,000 | 0.0009 | 0.0007 | 1.30Γ | 77% |
| β | np.argmax (uint32) | uint32 | 100,000 | 0.0104 | 0.0036 | 2.91Γ | 34% |
| β | np.argmax (uint32) | uint32 | 10,000,000 | 1.8851 | 1.2169 | 1.55Γ | 65% |
| β« | np.argmax (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.04Γ | 96% |
| π‘ | np.argmax (uint64) | uint64 | 100,000 | 0.0171 | 0.0332 | 0.52Γ | 194% |
| π‘ | np.argmax (uint64) | uint64 | 10,000,000 | 4.3878 | 4.9463 | 0.89Γ | 113% |
| β« | np.argmax (uint8) | uint8 | 1,000 | 0.0013 | 0.0007 | 1.95Γ | 51% |
| β | np.argmax (uint8) | uint8 | 100,000 | 0.0032 | 0.0012 | 2.60Γ | 38% |
| β | np.argmax (uint8) | uint8 | 10,000,000 | 0.2246 | 0.1465 | 1.53Γ | 65% |
| β | np.argmin (complex128) | complex128 | 1,000 | 0.0019 | 0.0015 | 1.25Γ | 80% |
| π‘ | np.argmin (complex128) | complex128 | 100,000 | 0.1139 | 0.1141 | 1.00Γ | 100% |
| β | np.argmin (complex128) | complex128 | 10,000,000 | 13.8711 | 13.6034 | 1.02Γ | 98% |
| β | np.argmin (float16) | float16 | 1,000 | 0.0029 | 0.0020 | 1.42Γ | 70% |
| β | np.argmin (float16) | float16 | 100,000 | 0.4248 | 0.1413 | 3.01Γ | 33% |
| β | np.argmin (float16) | float16 | 10,000,000 | 42.5861 | 14.1619 | 3.01Γ | 33% |
| β« | np.argmin (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.80Γ | 125% |
| π΄ | np.argmin (float32) | float32 | 100,000 | 0.0087 | 0.0564 | 0.15Γ | 650% |
| π | np.argmin (float32) | float32 | 10,000,000 | 2.7401 | 5.7656 | 0.47Γ | 210% |
| β« | np.argmin (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.83Γ | 121% |
| π | np.argmin (float64) | float64 | 100,000 | 0.0276 | 0.0569 | 0.48Γ | 206% |
| π‘ | np.argmin (float64) | float64 | 10,000,000 | 4.2847 | 6.7686 | 0.63Γ | 158% |
| β« | np.argmin (int16) | int16 | 1,000 | 0.0011 | 0.0007 | 1.52Γ | 66% |
| β | np.argmin (int16) | int16 | 100,000 | 0.0034 | 0.0016 | 2.06Γ | 48% |
| β | np.argmin (int16) | int16 | 10,000,000 | 0.7167 | 0.3613 | 1.98Γ | 50% |
| β« | np.argmin (int32) | int32 | 1,000 | 0.0010 | 0.0007 | 1.38Γ | 73% |
| β | np.argmin (int32) | int32 | 100,000 | 0.0055 | 0.0026 | 2.09Γ | 48% |
| β | np.argmin (int32) | int32 | 10,000,000 | 1.7646 | 1.1707 | 1.51Γ | 66% |
| β« | np.argmin (int64) | int64 | 1,000 | 0.0010 | 0.0009 | 1.11Γ | 90% |
| π‘ | np.argmin (int64) | int64 | 100,000 | 0.0142 | 0.0283 | 0.50Γ | 199% |
| π‘ | np.argmin (int64) | int64 | 10,000,000 | 4.0644 | 4.5666 | 0.89Γ | 112% |
| β« | np.argmin (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.28Γ | 78% |
| β | np.argmin (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.86Γ | 54% |
| β | np.argmin (int8) | int8 | 10,000,000 | 0.1626 | 0.1468 | 1.11Γ | 90% |
| β« | np.argmin (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.32Γ | 76% |
| β | np.argmin (uint16) | uint16 | 100,000 | 0.0050 | 0.0016 | 3.04Γ | 33% |
| β | np.argmin (uint16) | uint16 | 10,000,000 | 0.5632 | 0.3583 | 1.57Γ | 64% |
| β« | np.argmin (uint32) | uint32 | 1,000 | 0.0010 | 0.0007 | 1.36Γ | 73% |
| β | np.argmin (uint32) | uint32 | 100,000 | 0.0101 | 0.0035 | 2.86Γ | 35% |
| β | np.argmin (uint32) | uint32 | 10,000,000 | 1.8480 | 1.1772 | 1.57Γ | 64% |
| β« | np.argmin (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.03Γ | 97% |
| π‘ | np.argmin (uint64) | uint64 | 100,000 | 0.0180 | 0.0331 | 0.54Γ | 184% |
| π‘ | np.argmin (uint64) | uint64 | 10,000,000 | 4.2831 | 4.9246 | 0.87Γ | 115% |
| β« | np.argmin (uint8) | uint8 | 1,000 | 0.0009 | 0.0007 | 1.28Γ | 78% |
| β | np.argmin (uint8) | uint8 | 100,000 | 0.0033 | 0.0012 | 2.70Γ | 37% |
| β | np.argmin (uint8) | uint8 | 10,000,000 | 0.2237 | 0.1465 | 1.53Γ | 66% |
| π‘ | np.cumprod(a) (float16) | float16 | 1,000 | 0.0061 | 0.0097 | 0.63Γ | 159% |
| π | np.cumprod(a) (float16) | float16 | 100,000 | 0.4103 | 0.9506 | 0.43Γ | 232% |
| π | np.cumprod(a) (float16) | float16 | 10,000,000 | 43.5457 | 94.2260 | 0.46Γ | 216% |
| β | np.cumprod(a) (float32) | float32 | 1,000 | 0.0046 | 0.0028 | 1.65Γ | 61% |
| β | np.cumprod(a) (float32) | float32 | 100,000 | 0.1700 | 0.1114 | 1.53Γ | 66% |
| β | np.cumprod(a) (float32) | float32 | 10,000,000 | 20.8437 | 10.1707 | 2.05Γ | 49% |
| β | np.cumprod(a) (float64) | float64 | 1,000 | 0.0046 | 0.0034 | 1.33Γ | 75% |
| β | np.cumprod(a) (float64) | float64 | 100,000 | 0.1694 | 0.1446 | 1.17Γ | 85% |
| β | np.cumprod(a) (float64) | float64 | 10,000,000 | 25.4983 | 14.0728 | 1.81Γ | 55% |
| π‘ | np.cumsum (complex128) | complex128 | 1,000 | 0.0030 | 0.0037 | 0.82Γ | 122% |
| β | np.cumsum (complex128) | complex128 | 100,000 | 0.3769 | 0.2333 | 1.61Γ | 62% |
| β | np.cumsum (complex128) | complex128 | 10,000,000 | 41.3487 | 24.9780 | 1.66Γ | 60% |
| π‘ | np.cumsum (float16) | float16 | 1,000 | 0.0071 | 0.0094 | 0.75Γ | 134% |
| π‘ | np.cumsum (float16) | float16 | 100,000 | 0.4728 | 0.9144 | 0.52Γ | 193% |
| π‘ | np.cumsum (float16) | float16 | 10,000,000 | 49.3071 | 90.7463 | 0.54Γ | 184% |
| β | np.cumsum (float32) | float32 | 1,000 | 0.0029 | 0.0018 | 1.65Γ | 61% |
| β | np.cumsum (float32) | float32 | 100,000 | 0.1656 | 0.0789 | 2.10Γ | 48% |
| β | np.cumsum (float32) | float32 | 10,000,000 | 20.1855 | 7.3471 | 2.75Γ | 36% |
| β | np.cumsum (float64) | float64 | 1,000 | 0.0028 | 0.0022 | 1.31Γ | 76% |
| β | np.cumsum (float64) | float64 | 100,000 | 0.1698 | 0.1249 | 1.36Γ | 74% |
| β | np.cumsum (float64) | float64 | 10,000,000 | 24.6822 | 13.3431 | 1.85Γ | 54% |
| β | np.cumsum (int16) | int16 | 1,000 | 0.0025 | 0.0020 | 1.23Γ | 81% |
| β | np.cumsum (int16) | int16 | 100,000 | 0.3253 | 0.1209 | 2.69Γ | 37% |
| β | np.cumsum (int16) | int16 | 10,000,000 | 48.4266 | 10.6129 | 4.56Γ | 22% |
| β | np.cumsum (int32) | int32 | 1,000 | 0.0024 | 0.0019 | 1.27Γ | 79% |
| β | np.cumsum (int32) | int32 | 100,000 | 0.3303 | 0.1226 | 2.69Γ | 37% |
| β | np.cumsum (int32) | int32 | 10,000,000 | 32.3880 | 11.1306 | 2.91Γ | 34% |
| π‘ | np.cumsum (int64) | int64 | 1,000 | 0.0017 | 0.0019 | 0.92Γ | 109% |
| π | np.cumsum (int64) | int64 | 100,000 | 0.0315 | 0.1231 | 0.26Γ | 391% |
| β | np.cumsum (int64) | int64 | 10,000,000 | 16.3798 | 12.7464 | 1.28Γ | 78% |
| β | np.cumsum (int8) | int8 | 1,000 | 0.0025 | 0.0017 | 1.49Γ | 67% |
| β | np.cumsum (int8) | int8 | 100,000 | 0.3124 | 0.1187 | 2.63Γ | 38% |
| β | np.cumsum (int8) | int8 | 10,000,000 | 41.0555 | 10.2543 | 4.00Γ | 25% |
| β | np.cumsum (uint16) | uint16 | 1,000 | 0.0026 | 0.0020 | 1.26Γ | 80% |
| β | np.cumsum (uint16) | uint16 | 100,000 | 0.3256 | 0.1199 | 2.72Γ | 37% |
| β | np.cumsum (uint16) | uint16 | 10,000,000 | 34.5917 | 10.5051 | 3.29Γ | 30% |
| β | np.cumsum (uint32) | uint32 | 1,000 | 0.0024 | 0.0021 | 1.17Γ | 85% |
| β | np.cumsum (uint32) | uint32 | 100,000 | 0.3374 | 0.1227 | 2.75Γ | 36% |
| β | np.cumsum (uint32) | uint32 | 10,000,000 | 29.7223 | 11.0895 | 2.68Γ | 37% |
| π‘ | np.cumsum (uint64) | uint64 | 1,000 | 0.0017 | 0.0020 | 0.82Γ | 121% |
| π | np.cumsum (uint64) | uint64 | 100,000 | 0.0312 | 0.1218 | 0.26Γ | 391% |
| β | np.cumsum (uint64) | uint64 | 10,000,000 | 16.2415 | 12.7570 | 1.27Γ | 78% |
| β | np.cumsum (uint8) | uint8 | 1,000 | 0.0025 | 0.0019 | 1.27Γ | 79% |
| β | np.cumsum (uint8) | uint8 | 100,000 | 0.3198 | 0.1205 | 2.65Γ | 38% |
| β | np.cumsum (uint8) | uint8 | 10,000,000 | 28.9566 | 10.2799 | 2.82Γ | 36% |
| β« | np.mean (complex128) | complex128 | 1,000 | 0.0027 | 0.0009 | 2.85Γ | 35% |
| β | np.mean (complex128) | complex128 | 100,000 | 0.0305 | 0.0101 | 3.01Γ | 33% |
| β | np.mean (complex128) | complex128 | 10,000,000 | 8.5581 | 6.4565 | 1.33Γ | 75% |
| β | np.mean (float16) | float16 | 1,000 | 0.0047 | 0.0012 | 3.86Γ | 26% |
| β | np.mean (float16) | float16 | 100,000 | 0.1088 | 0.0802 | 1.36Γ | 74% |
| β | np.mean (float16) | float16 | 10,000,000 | 10.4935 | 8.0190 | 1.31Γ | 76% |
| β« | np.mean (float32) | float32 | 1,000 | 0.0040 | 0.0007 | 5.42Γ | 18% |
| β | np.mean (float32) | float32 | 100,000 | 0.0178 | 0.0032 | 5.55Γ | 18% |
| β | np.mean (float32) | float32 | 10,000,000 | 3.6083 | 1.0039 | 3.59Γ | 28% |
| β« | np.mean (float64) | float64 | 1,000 | 0.0024 | 0.0007 | 3.25Γ | 31% |
| β | np.mean (float64) | float64 | 100,000 | 0.0169 | 0.0040 | 4.21Γ | 24% |
| β | np.mean (float64) | float64 | 10,000,000 | 4.6544 | 2.7943 | 1.67Γ | 60% |
| β« | np.mean (int16) | int16 | 1,000 | 0.0031 | 0.0008 | 3.92Γ | 26% |
| β | np.mean (int16) | int16 | 100,000 | 0.0532 | 0.0189 | 2.81Γ | 36% |
| β | np.mean (int16) | int16 | 10,000,000 | 6.3750 | 1.9609 | 3.25Γ | 31% |
| β« | np.mean (int32) | int32 | 1,000 | 0.0030 | 0.0008 | 3.71Γ | 27% |
| β | np.mean (int32) | int32 | 100,000 | 0.0429 | 0.0191 | 2.24Γ | 45% |
| β | np.mean (int32) | int32 | 10,000,000 | 4.9575 | 2.6752 | 1.85Γ | 54% |
| β« | np.mean (int64) | int64 | 1,000 | 0.0029 | 0.0008 | 3.71Γ | 27% |
| β | np.mean (int64) | int64 | 100,000 | 0.0344 | 0.0045 | 7.72Γ | 13% |
| β | np.mean (int64) | int64 | 10,000,000 | 6.3414 | 2.7730 | 2.29Γ | 44% |
| β« | np.mean (int8) | int8 | 1,000 | 0.0030 | 0.0008 | 3.58Γ | 28% |
| β | np.mean (int8) | int8 | 100,000 | 0.0567 | 0.0186 | 3.04Γ | 33% |
| β | np.mean (int8) | int8 | 10,000,000 | 5.6945 | 1.8461 | 3.08Γ | 32% |
| β« | np.mean (uint16) | uint16 | 1,000 | 0.0031 | 0.0008 | 3.90Γ | 26% |
| β | np.mean (uint16) | uint16 | 100,000 | 0.0526 | 0.0189 | 2.78Γ | 36% |
| β | np.mean (uint16) | uint16 | 10,000,000 | 5.1914 | 1.9498 | 2.66Γ | 38% |
| β« | np.mean (uint32) | uint32 | 1,000 | 0.0030 | 0.0008 | 3.70Γ | 27% |
| β | np.mean (uint32) | uint32 | 100,000 | 0.0402 | 0.0191 | 2.11Γ | 47% |
| β | np.mean (uint32) | uint32 | 10,000,000 | 4.6035 | 2.6686 | 1.73Γ | 58% |
| β« | np.mean (uint64) | uint64 | 1,000 | 0.0032 | 0.0008 | 4.16Γ | 24% |
| β | np.mean (uint64) | uint64 | 100,000 | 0.0539 | 0.0045 | 12.08Γ | 8% |
| β | np.mean (uint64) | uint64 | 10,000,000 | 7.3769 | 2.7725 | 2.66Γ | 38% |
| β« | np.mean (uint8) | uint8 | 1,000 | 0.0031 | 0.0008 | 3.81Γ | 26% |
| β | np.mean (uint8) | uint8 | 100,000 | 0.0541 | 0.0187 | 2.90Γ | 34% |
| β | np.mean (uint8) | uint8 | 10,000,000 | 5.0561 | 1.8459 | 2.74Γ | 36% |
| β | np.mean axis=0 (complex128) | complex128 | 1,000 | 0.0033 | 0.0025 | 1.30Γ | 77% |
| β | np.mean axis=0 (complex128) | complex128 | 100,000 | 0.0286 | 0.0241 | 1.19Γ | 84% |
| β | np.mean axis=0 (complex128) | complex128 | 10,000,000 | 7.5298 | 7.0381 | 1.07Γ | 94% |
| β | np.mean axis=0 (float16) | float16 | 1,000 | 0.0061 | 0.0035 | 1.75Γ | 57% |
| π‘ | np.mean axis=0 (float16) | float16 | 100,000 | 0.0790 | 0.1492 | 0.53Γ | 189% |
| π‘ | np.mean axis=0 (float16) | float16 | 10,000,000 | 7.3133 | 14.1963 | 0.52Γ | 194% |
| β | np.mean axis=0 (float32) | float32 | 1,000 | 0.0039 | 0.0022 | 1.82Γ | 55% |
| π‘ | np.mean axis=0 (float32) | float32 | 100,000 | 0.0086 | 0.0099 | 0.87Γ | 115% |
| β | np.mean axis=0 (float32) | float32 | 10,000,000 | 1.4901 | 1.3911 | 1.07Γ | 93% |
| β | np.mean axis=0 (float64) | float64 | 1,000 | 0.0030 | 0.0023 | 1.29Γ | 78% |
| β | np.mean axis=0 (float64) | float64 | 100,000 | 0.0166 | 0.0148 | 1.12Γ | 89% |
| π‘ | np.mean axis=0 (float64) | float64 | 10,000,000 | 3.3836 | 3.4775 | 0.97Γ | 103% |
| β« | np.mean axis=0 (int16) | int16 | 1,000 | 0.0038 | 0.0008 | 4.83Γ | 21% |
| β | np.mean axis=0 (int16) | int16 | 100,000 | 0.0550 | 0.0084 | 6.53Γ | 15% |
| β | np.mean axis=0 (int16) | int16 | 10,000,000 | 5.3822 | 0.9630 | 5.59Γ | 18% |
| β« | np.mean axis=0 (int32) | int32 | 1,000 | 0.0044 | 0.0008 | 5.78Γ | 17% |
| β | np.mean axis=0 (int32) | int32 | 100,000 | 0.0359 | 0.0078 | 4.60Γ | 22% |
| β | np.mean axis=0 (int32) | int32 | 10,000,000 | 4.5299 | 1.7225 | 2.63Γ | 38% |
| β | np.mean axis=0 (int64) | int64 | 1,000 | 0.0043 | 0.0013 | 3.25Γ | 31% |
| π‘ | np.mean axis=0 (int64) | int64 | 100,000 | 0.0320 | 0.0609 | 0.53Γ | 190% |
| π΄ | np.mean axis=0 (int64) | int64 | 10,000,000 | 5.9854 | 37.4022 | 0.16Γ | 625% |
| β« | np.mean axis=0 (int8) | int8 | 1,000 | 0.0038 | 0.0008 | 4.56Γ | 22% |
| β | np.mean axis=0 (int8) | int8 | 100,000 | 0.0534 | 0.0082 | 6.49Γ | 15% |
| β | np.mean axis=0 (int8) | int8 | 10,000,000 | 6.4497 | 0.8079 | 7.98Γ | 12% |
| β« | np.mean axis=0 (uint16) | uint16 | 1,000 | 0.0037 | 0.0007 | 5.00Γ | 20% |
| β | np.mean axis=0 (uint16) | uint16 | 100,000 | 0.0516 | 0.0084 | 6.10Γ | 16% |
| β | np.mean axis=0 (uint16) | uint16 | 10,000,000 | 5.8879 | 0.9392 | 6.27Γ | 16% |
| β« | np.mean axis=0 (uint32) | uint32 | 1,000 | 0.0044 | 0.0008 | 5.64Γ | 18% |
| β | np.mean axis=0 (uint32) | uint32 | 100,000 | 0.0471 | 0.0093 | 5.04Γ | 20% |
| β | np.mean axis=0 (uint32) | uint32 | 10,000,000 | 4.9815 | 2.0165 | 2.47Γ | 40% |
| β | np.mean axis=0 (uint64) | uint64 | 1,000 | 0.0037 | 0.0017 | 2.20Γ | 46% |
| π‘ | np.mean axis=0 (uint64) | uint64 | 100,000 | 0.0479 | 0.0887 | 0.54Γ | 185% |
| π΄ | np.mean axis=0 (uint64) | uint64 | 10,000,000 | 7.1495 | 43.0435 | 0.17Γ | 602% |
| β« | np.mean axis=0 (uint8) | uint8 | 1,000 | 0.0039 | 0.0007 | 5.20Γ | 19% |
| β | np.mean axis=0 (uint8) | uint8 | 100,000 | 0.0545 | 0.0082 | 6.63Γ | 15% |
| β | np.mean axis=0 (uint8) | uint8 | 10,000,000 | 5.3637 | 0.7883 | 6.80Γ | 15% |
| β | np.mean axis=1 (complex128) | complex128 | 1,000 | 0.0032 | 0.0025 | 1.24Γ | 81% |
| β | np.mean axis=1 (complex128) | complex128 | 100,000 | 0.0443 | 0.0348 | 1.27Γ | 79% |
| β | np.mean axis=1 (complex128) | complex128 | 10,000,000 | 8.4055 | 8.0660 | 1.04Γ | 96% |
| β | np.mean axis=1 (float16) | float16 | 1,000 | 0.0052 | 0.0039 | 1.31Γ | 76% |
| π‘ | np.mean axis=1 (float16) | float16 | 100,000 | 0.0952 | 0.1325 | 0.72Γ | 139% |
| π‘ | np.mean axis=1 (float16) | float16 | 10,000,000 | 7.9626 | 12.5326 | 0.64Γ | 157% |
| β | np.mean axis=1 (float32) | float32 | 1,000 | 0.0036 | 0.0022 | 1.67Γ | 60% |
| β | np.mean axis=1 (float32) | float32 | 100,000 | 0.0183 | 0.0127 | 1.45Γ | 69% |
| β | np.mean axis=1 (float32) | float32 | 10,000,000 | 2.9697 | 1.9066 | 1.56Γ | 64% |
| β | np.mean axis=1 (float64) | float64 | 1,000 | 0.0029 | 0.0022 | 1.33Γ | 75% |
| β | np.mean axis=1 (float64) | float64 | 100,000 | 0.0198 | 0.0144 | 1.37Γ | 73% |
| β | np.mean axis=1 (float64) | float64 | 10,000,000 | 5.1086 | 3.6854 | 1.39Γ | 72% |
| β« | np.mean axis=1 (int16) | int16 | 1,000 | 0.0037 | 0.0008 | 4.55Γ | 22% |
| β | np.mean axis=1 (int16) | int16 | 100,000 | 0.0573 | 0.0080 | 7.19Γ | 14% |
| β | np.mean axis=1 (int16) | int16 | 10,000,000 | 6.0592 | 0.8322 | 7.28Γ | 14% |
| β« | np.mean axis=1 (int32) | int32 | 1,000 | 0.0037 | 0.0007 | 5.00Γ | 20% |
| β | np.mean axis=1 (int32) | int32 | 100,000 | 0.0428 | 0.0049 | 8.79Γ | 11% |
| β | np.mean axis=1 (int32) | int32 | 10,000,000 | 4.8185 | 1.4394 | 3.35Γ | 30% |
| β | np.mean axis=1 (int64) | int64 | 1,000 | 0.0034 | 0.0013 | 2.55Γ | 39% |
| π‘ | np.mean axis=1 (int64) | int64 | 100,000 | 0.0394 | 0.0596 | 0.66Γ | 151% |
| π‘ | np.mean axis=1 (int64) | int64 | 10,000,000 | 6.3625 | 6.9185 | 0.92Γ | 109% |
| β« | np.mean axis=1 (int8) | int8 | 1,000 | 0.0036 | 0.0008 | 4.50Γ | 22% |
| β | np.mean axis=1 (int8) | int8 | 100,000 | 0.0571 | 0.0079 | 7.21Γ | 14% |
| β | np.mean axis=1 (int8) | int8 | 10,000,000 | 5.5023 | 0.7110 | 7.74Γ | 13% |
| β« | np.mean axis=1 (uint16) | uint16 | 1,000 | 0.0038 | 0.0008 | 4.68Γ | 21% |
| β | np.mean axis=1 (uint16) | uint16 | 100,000 | 0.0629 | 0.0080 | 7.90Γ | 13% |
| β | np.mean axis=1 (uint16) | uint16 | 10,000,000 | 5.4615 | 0.8406 | 6.50Γ | 15% |
| β« | np.mean axis=1 (uint32) | uint32 | 1,000 | 0.0034 | 0.0008 | 4.12Γ | 24% |
| β | np.mean axis=1 (uint32) | uint32 | 100,000 | 0.0467 | 0.0091 | 5.12Γ | 20% |
| β | np.mean axis=1 (uint32) | uint32 | 10,000,000 | 4.9555 | 1.8041 | 2.75Γ | 36% |
| β | np.mean axis=1 (uint64) | uint64 | 1,000 | 0.0037 | 0.0016 | 2.23Γ | 45% |
| π‘ | np.mean axis=1 (uint64) | uint64 | 100,000 | 0.0569 | 0.0860 | 0.66Γ | 151% |
| π‘ | np.mean axis=1 (uint64) | uint64 | 10,000,000 | 7.3817 | 9.0110 | 0.82Γ | 122% |
| β« | np.mean axis=1 (uint8) | uint8 | 1,000 | 0.0035 | 0.0008 | 4.50Γ | 22% |
| β | np.mean axis=1 (uint8) | uint8 | 100,000 | 0.0587 | 0.0079 | 7.42Γ | 14% |
| β | np.mean axis=1 (uint8) | uint8 | 10,000,000 | 5.2924 | 0.7077 | 7.48Γ | 13% |
| β | np.nanmax(a) (float16) | float16 | 1,000 | 0.0054 | 0.0011 | 4.87Γ | 21% |
| β | np.nanmax(a) (float16) | float16 | 100,000 | 0.5409 | 0.3172 | 1.71Γ | 59% |
| β | np.nanmax(a) (float16) | float16 | 10,000,000 | 51.2440 | 32.5673 | 1.57Γ | 64% |
| β« | np.nanmax(a) (float32) | float32 | 1,000 | 0.0030 | 0.0009 | 3.29Γ | 30% |
| π | np.nanmax(a) (float32) | float32 | 100,000 | 0.0081 | 0.0287 | 0.28Γ | 356% |
| π | np.nanmax(a) (float32) | float32 | 10,000,000 | 1.5124 | 3.2798 | 0.46Γ | 217% |
| β | np.nanmax(a) (float64) | float64 | 1,000 | 0.0030 | 0.0012 | 2.52Γ | 40% |
| π΄ | np.nanmax(a) (float64) | float64 | 100,000 | 0.0115 | 0.0590 | 0.20Γ | 512% |
| π‘ | np.nanmax(a) (float64) | float64 | 10,000,000 | 3.5081 | 6.8740 | 0.51Γ | 196% |
| β | np.nanmean(a) (float16) | float16 | 1,000 | 0.0127 | 0.0017 | 7.37Γ | 14% |
| β | np.nanmean(a) (float16) | float16 | 100,000 | 0.3723 | 0.1054 | 3.53Γ | 28% |
| β | np.nanmean(a) (float16) | float16 | 10,000,000 | 37.8624 | 10.5382 | 3.59Γ | 28% |
| β« | np.nanmean(a) (float32) | float32 | 1,000 | 0.0102 | 0.0008 | 12.61Γ | 8% |
| β | np.nanmean(a) (float32) | float32 | 100,000 | 0.0751 | 0.0383 | 1.96Γ | 51% |
| β | np.nanmean(a) (float32) | float32 | 10,000,000 | 19.3182 | 4.1701 | 4.63Γ | 22% |
| β | np.nanmean(a) (float64) | float64 | 1,000 | 0.0088 | 0.0012 | 7.49Γ | 13% |
| β | np.nanmean(a) (float64) | float64 | 100,000 | 0.3101 | 0.0378 | 8.21Γ | 12% |
| β | np.nanmean(a) (float64) | float64 | 10,000,000 | 29.7719 | 5.5602 | 5.35Γ | 19% |
| β | np.nanmedian(a) (float16) | float16 | 1,000 | 0.0171 | 0.0043 | 3.93Γ | 26% |
| π‘ | np.nanmedian(a) (float16) | float16 | 100,000 | 0.9889 | 1.3085 | 0.76Γ | 132% |
| β | np.nanmedian(a) (float16) | float16 | 10,000,000 | 114.7082 | 92.8901 | 1.24Γ | 81% |
| β | np.nanmedian(a) (float32) | float32 | 1,000 | 0.0132 | 0.0022 | 5.94Γ | 17% |
| π‘ | np.nanmedian(a) (float32) | float32 | 100,000 | 0.4888 | 0.6965 | 0.70Γ | 142% |
| π‘ | np.nanmedian(a) (float32) | float32 | 10,000,000 | 77.3793 | 80.5553 | 0.96Γ | 104% |
| β | np.nanmedian(a) (float64) | float64 | 1,000 | 0.0127 | 0.0023 | 5.54Γ | 18% |
| π‘ | np.nanmedian(a) (float64) | float64 | 100,000 | 0.5210 | 0.7022 | 0.74Γ | 135% |
| β | np.nanmedian(a) (float64) | float64 | 10,000,000 | 92.4864 | 89.4458 | 1.03Γ | 97% |
| β | np.nanmin(a) (float16) | float16 | 1,000 | 0.0053 | 0.0011 | 4.77Γ | 21% |
| β | np.nanmin(a) (float16) | float16 | 100,000 | 0.5322 | 0.3019 | 1.76Γ | 57% |
| β | np.nanmin(a) (float16) | float16 | 10,000,000 | 51.4324 | 31.1142 | 1.65Γ | 60% |
| β« | np.nanmin(a) (float32) | float32 | 1,000 | 0.0030 | 0.0009 | 3.24Γ | 31% |
| π | np.nanmin(a) (float32) | float32 | 100,000 | 0.0072 | 0.0287 | 0.25Γ | 400% |
| π | np.nanmin(a) (float32) | float32 | 10,000,000 | 1.5001 | 3.3155 | 0.45Γ | 221% |
| β« | np.nanmin(a) (float64) | float64 | 1,000 | 0.0042 | 0.0009 | 4.51Γ | 22% |
| π΄ | np.nanmin(a) (float64) | float64 | 100,000 | 0.0114 | 0.0589 | 0.19Γ | 519% |
| π‘ | np.nanmin(a) (float64) | float64 | 10,000,000 | 3.6863 | 6.8141 | 0.54Γ | 185% |
| β | np.nanpercentile(a, 50) (float16) | float16 | 1,000 | 0.0365 | 0.0043 | 8.45Γ | 12% |
| β | np.nanpercentile(a, 50) (float16) | float16 | 100,000 | 1.8857 | 1.3044 | 1.45Γ | 69% |
| β | np.nanpercentile(a, 50) (float16) | float16 | 10,000,000 | 120.9498 | 92.9097 | 1.30Γ | 77% |
| β | np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.0267 | 0.0022 | 11.99Γ | 8% |
| β | np.nanpercentile(a, 50) (float32) | float32 | 100,000 | 0.7602 | 0.6960 | 1.09Γ | 92% |
| π‘ | np.nanpercentile(a, 50) (float32) | float32 | 10,000,000 | 51.8789 | 80.6571 | 0.64Γ | 156% |
| β | np.nanpercentile(a, 50) (float64) | float64 | 1,000 | 0.0265 | 0.0023 | 11.56Γ | 9% |
| β | np.nanpercentile(a, 50) (float64) | float64 | 100,000 | 0.7628 | 0.7034 | 1.08Γ | 92% |
| π‘ | np.nanpercentile(a, 50) (float64) | float64 | 10,000,000 | 63.5626 | 89.5666 | 0.71Γ | 141% |
| β | np.nanprod(a) (float16) | float16 | 1,000 | 0.0061 | 0.0013 | 4.73Γ | 21% |
| β | np.nanprod(a) (float16) | float16 | 100,000 | 0.1701 | 0.0886 | 1.92Γ | 52% |
| β | np.nanprod(a) (float16) | float16 | 10,000,000 | 20.5179 | 8.9271 | 2.30Γ | 44% |
| β« | np.nanprod(a) (float32) | float32 | 1,000 | 0.0052 | 0.0008 | 6.31Γ | 16% |
| β | np.nanprod(a) (float32) | float32 | 100,000 | 0.1604 | 0.0119 | 13.53Γ | 7% |
| β | np.nanprod(a) (float32) | float32 | 10,000,000 | 18.0353 | 1.7540 | 10.28Γ | 10% |
| β« | np.nanprod(a) (float64) | float64 | 1,000 | 0.0055 | 0.0008 | 6.96Γ | 14% |
| β | np.nanprod(a) (float64) | float64 | 100,000 | 0.1079 | 0.0235 | 4.60Γ | 22% |
| β | np.nanprod(a) (float64) | float64 | 10,000,000 | 28.6688 | 3.9531 | 7.25Γ | 14% |
| β | np.nanquantile(a, 0.5) (float16) | float16 | 1,000 | 0.0336 | 0.0043 | 7.73Γ | 13% |
| β | np.nanquantile(a, 0.5) (float16) | float16 | 100,000 | 1.8626 | 1.3071 | 1.43Γ | 70% |
| β | np.nanquantile(a, 0.5) (float16) | float16 | 10,000,000 | 121.1817 | 92.8534 | 1.30Γ | 77% |
| β | np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.0280 | 0.0022 | 12.60Γ | 8% |
| β | np.nanquantile(a, 0.5) (float32) | float32 | 100,000 | 0.7231 | 0.6973 | 1.04Γ | 96% |
| π‘ | np.nanquantile(a, 0.5) (float32) | float32 | 10,000,000 | 51.1057 | 80.6773 | 0.63Γ | 158% |
| β | np.nanquantile(a, 0.5) (float64) | float64 | 1,000 | 0.0257 | 0.0023 | 11.24Γ | 9% |
| β | np.nanquantile(a, 0.5) (float64) | float64 | 100,000 | 0.7484 | 0.7037 | 1.06Γ | 94% |
| π‘ | np.nanquantile(a, 0.5) (float64) | float64 | 10,000,000 | 64.0584 | 89.4386 | 0.72Γ | 140% |
| β | np.nanstd(a) (float16) | float16 | 1,000 | 0.0341 | 0.0028 | 12.26Γ | 8% |
| β | np.nanstd(a) (float16) | float16 | 100,000 | 1.2279 | 0.2159 | 5.69Γ | 18% |
| β | np.nanstd(a) (float16) | float16 | 10,000,000 | 119.9407 | 21.6231 | 5.55Γ | 18% |
| β | np.nanstd(a) (float32) | float32 | 1,000 | 0.0202 | 0.0017 | 11.92Γ | 8% |
| β | np.nanstd(a) (float32) | float32 | 100,000 | 0.1683 | 0.0864 | 1.95Γ | 51% |
| β | np.nanstd(a) (float32) | float32 | 10,000,000 | 31.9536 | 9.2060 | 3.47Γ | 29% |
| β | np.nanstd(a) (float64) | float64 | 1,000 | 0.0190 | 0.0015 | 12.52Γ | 8% |
| β | np.nanstd(a) (float64) | float64 | 100,000 | 0.4497 | 0.0761 | 5.91Γ | 17% |
| β | np.nanstd(a) (float64) | float64 | 10,000,000 | 49.6062 | 11.3264 | 4.38Γ | 23% |
| β | np.nansum(a) (float16) | float16 | 1,000 | 0.0063 | 0.0013 | 4.84Γ | 21% |
| β | np.nansum(a) (float16) | float16 | 100,000 | 0.2885 | 0.0901 | 3.20Γ | 31% |
| β | np.nansum(a) (float16) | float16 | 10,000,000 | 31.6077 | 8.9086 | 3.55Γ | 28% |
| β« | np.nansum(a) (float32) | float32 | 1,000 | 0.0037 | 0.0008 | 4.83Γ | 21% |
| β | np.nansum(a) (float32) | float32 | 100,000 | 0.0321 | 0.0049 | 6.51Γ | 15% |
| β | np.nansum(a) (float32) | float32 | 10,000,000 | 13.3987 | 1.4131 | 9.48Γ | 10% |
| β« | np.nansum(a) (float64) | float64 | 1,000 | 0.0037 | 0.0008 | 4.61Γ | 22% |
| β | np.nansum(a) (float64) | float64 | 100,000 | 0.0471 | 0.0097 | 4.88Γ | 20% |
| β | np.nansum(a) (float64) | float64 | 10,000,000 | 23.8754 | 3.4851 | 6.85Γ | 15% |
| β | np.nanvar(a) (float16) | float16 | 1,000 | 0.0324 | 0.0028 | 11.72Γ | 8% |
| β | np.nanvar(a) (float16) | float16 | 100,000 | 1.2270 | 0.2160 | 5.68Γ | 18% |
| β | np.nanvar(a) (float16) | float16 | 10,000,000 | 120.0573 | 21.5187 | 5.58Γ | 18% |
| β | np.nanvar(a) (float32) | float32 | 1,000 | 0.0195 | 0.0017 | 11.49Γ | 9% |
| β | np.nanvar(a) (float32) | float32 | 100,000 | 0.1645 | 0.0864 | 1.90Γ | 52% |
| β | np.nanvar(a) (float32) | float32 | 10,000,000 | 32.0612 | 9.2119 | 3.48Γ | 29% |
| β | np.nanvar(a) (float64) | float64 | 1,000 | 0.0198 | 0.0015 | 13.06Γ | 8% |
| β | np.nanvar(a) (float64) | float64 | 100,000 | 0.4356 | 0.0762 | 5.72Γ | 18% |
| β | np.nanvar(a) (float64) | float64 | 10,000,000 | 51.1759 | 11.2532 | 4.55Γ | 22% |
| β« | np.prod (float64) | float64 | 1,000 | 0.0022 | 0.0008 | 2.89Γ | 35% |
| β | np.prod (float64) | float64 | 100,000 | 2.3310 | 0.1700 | 13.71Γ | 7% |
| β | np.prod (float64) | float64 | 10,000,000 | 239.6474 | 60.4092 | 3.97Γ | 25% |
| β« | np.prod (int64) | int64 | 1,000 | 0.0021 | 0.0007 | 2.87Γ | 35% |
| β | np.prod (int64) | int64 | 100,000 | 0.0572 | 0.0143 | 4.00Γ | 25% |
| β | np.prod (int64) | int64 | 10,000,000 | 6.3161 | 3.8044 | 1.66Γ | 60% |
| β« | np.prod axis=0 (float64) | float64 | 1,000 | 0.0019 | 0.0007 | 2.75Γ | 36% |
| β | np.prod axis=0 (float64) | float64 | 100,000 | 0.0136 | 0.0089 | 1.54Γ | 65% |
| π‘ | np.prod axis=0 (float64) | float64 | 10,000,000 | 19.8072 | 19.8419 | 1.00Γ | 100% |
| β« | np.prod axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0009 | 2.24Γ | 45% |
| β | np.prod axis=0 (int64) | int64 | 100,000 | 0.0272 | 0.0152 | 1.79Γ | 56% |
| β | np.prod axis=0 (int64) | int64 | 10,000,000 | 5.0107 | 4.1147 | 1.22Γ | 82% |
| β« | np.prod axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0008 | 2.47Γ | 40% |
| β | np.prod axis=1 (float64) | float64 | 100,000 | 0.0601 | 0.0050 | 12.13Γ | 8% |
| β« | np.prod axis=1 (float64) | float64 | 10,000,000 | 69.9249 | 3.0274 | 23.10Γ | 4% |
| β« | np.prod axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0010 | 1.96Γ | 51% |
| β | np.prod axis=1 (int64) | int64 | 100,000 | 0.0458 | 0.0171 | 2.68Γ | 37% |
| β | np.prod axis=1 (int64) | int64 | 10,000,000 | 6.2759 | 3.9188 | 1.60Γ | 62% |
| β | np.std (float16) | float16 | 1,000 | 0.0203 | 0.0021 | 9.63Γ | 10% |
| β | np.std (float16) | float16 | 100,000 | 0.9085 | 0.1830 | 4.96Γ | 20% |
| β | np.std (float16) | float16 | 10,000,000 | 90.8149 | 18.0508 | 5.03Γ | 20% |
| β« | np.std (float32) | float32 | 1,000 | 0.0086 | 0.0007 | 12.74Γ | 8% |
| β | np.std (float32) | float32 | 100,000 | 0.0450 | 0.0096 | 4.67Γ | 21% |
| β | np.std (float32) | float32 | 10,000,000 | 17.8322 | 2.6281 | 6.79Γ | 15% |
| β« | np.std (float64) | float64 | 1,000 | 0.0068 | 0.0004 | 15.61Γ | 6% |
| β | np.std (float64) | float64 | 100,000 | 0.0570 | 0.0190 | 3.00Γ | 33% |
| β | np.std (float64) | float64 | 10,000,000 | 30.3403 | 6.6087 | 4.59Γ | 22% |
| β | np.std axis=0 (float16) | float16 | 1,000 | 0.0214 | 0.0045 | 4.78Γ | 21% |
| β | np.std axis=0 (float16) | float16 | 100,000 | 1.1043 | 0.3567 | 3.10Γ | 32% |
| β | np.std axis=0 (float16) | float16 | 10,000,000 | 110.0006 | 83.8826 | 1.31Γ | 76% |
| β | np.std axis=0 (float32) | float32 | 1,000 | 0.0087 | 0.0016 | 5.57Γ | 18% |
| β | np.std axis=0 (float32) | float32 | 100,000 | 0.0377 | 0.0231 | 1.63Γ | 61% |
| β | np.std axis=0 (float32) | float32 | 10,000,000 | 14.2545 | 4.6258 | 3.08Γ | 32% |
| β« | np.std axis=0 (float64) | float64 | 1,000 | 0.0076 | 0.0009 | 8.36Γ | 12% |
| β | np.std axis=0 (float64) | float64 | 100,000 | 0.0637 | 0.0263 | 2.42Γ | 41% |
| β | np.std axis=0 (float64) | float64 | 10,000,000 | 30.0409 | 7.5189 | 4.00Γ | 25% |
| β« | np.sum (complex128) | complex128 | 1,000 | 0.0018 | 0.0009 | 2.02Γ | 50% |
| β | np.sum (complex128) | complex128 | 100,000 | 0.0294 | 0.0101 | 2.91Γ | 34% |
| β | np.sum (complex128) | complex128 | 10,000,000 | 8.9925 | 6.4940 | 1.39Γ | 72% |
| β | np.sum (float16) | float16 | 1,000 | 0.0040 | 0.0012 | 3.33Γ | 30% |
| β | np.sum (float16) | float16 | 100,000 | 0.1981 | 0.0802 | 2.47Γ | 40% |
| β | np.sum (float16) | float16 | 10,000,000 | 19.9449 | 8.0365 | 2.48Γ | 40% |
| β« | np.sum (float32) | float32 | 1,000 | 0.0017 | 0.0008 | 2.26Γ | 44% |
| β | np.sum (float32) | float32 | 100,000 | 0.0171 | 0.0032 | 5.40Γ | 18% |
| β | np.sum (float32) | float32 | 10,000,000 | 3.0579 | 1.0257 | 2.98Γ | 34% |
| β« | np.sum (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.24Γ | 45% |
| π΄ | np.sum (float64) | float64 | 100,000 | 0.0166 | 0.2090 | 0.079Γ | 1260% |
| β | np.sum (float64) | float64 | 10,000,000 | 4.8117 | 2.8908 | 1.66Γ | 60% |
| β« | np.sum (int16) | int16 | 1,000 | 0.0020 | 0.0008 | 2.55Γ | 39% |
| β | np.sum (int16) | int16 | 100,000 | 0.0339 | 0.0189 | 1.79Γ | 56% |
| β | np.sum (int16) | int16 | 10,000,000 | 3.5547 | 1.9468 | 1.83Γ | 55% |
| β« | np.sum (int32) | int32 | 1,000 | 0.0023 | 0.0008 | 2.85Γ | 35% |
| β | np.sum (int32) | int32 | 100,000 | 0.0345 | 0.0190 | 1.82Γ | 55% |
| β | np.sum (int32) | int32 | 10,000,000 | 4.7348 | 2.6909 | 1.76Γ | 57% |
| β« | np.sum (int64) | int64 | 1,000 | 0.0018 | 0.0008 | 2.27Γ | 44% |
| β | np.sum (int64) | int64 | 100,000 | 0.0153 | 0.0045 | 3.42Γ | 29% |
| β | np.sum (int64) | int64 | 10,000,000 | 4.1490 | 2.8310 | 1.47Γ | 68% |
| β« | np.sum (int8) | int8 | 1,000 | 0.0022 | 0.0008 | 2.77Γ | 36% |
| β | np.sum (int8) | int8 | 100,000 | 0.0342 | 0.0186 | 1.84Γ | 54% |
| β | np.sum (int8) | int8 | 10,000,000 | 3.2333 | 1.8404 | 1.76Γ | 57% |
| β« | np.sum (uint16) | uint16 | 1,000 | 0.0022 | 0.0008 | 2.84Γ | 35% |
| β | np.sum (uint16) | uint16 | 100,000 | 0.0334 | 0.0189 | 1.77Γ | 57% |
| β | np.sum (uint16) | uint16 | 10,000,000 | 3.7579 | 1.9368 | 1.94Γ | 52% |
| β« | np.sum (uint32) | uint32 | 1,000 | 0.0023 | 0.0008 | 2.83Γ | 35% |
| β | np.sum (uint32) | uint32 | 100,000 | 0.0332 | 0.0190 | 1.75Γ | 57% |
| β | np.sum (uint32) | uint32 | 10,000,000 | 4.0560 | 2.6922 | 1.51Γ | 66% |
| β« | np.sum (uint64) | uint64 | 1,000 | 0.0018 | 0.0008 | 2.28Γ | 44% |
| β | np.sum (uint64) | uint64 | 100,000 | 0.0200 | 0.0044 | 4.52Γ | 22% |
| β | np.sum (uint64) | uint64 | 10,000,000 | 4.2549 | 2.9226 | 1.46Γ | 69% |
| β« | np.sum (uint8) | uint8 | 1,000 | 0.0024 | 0.0008 | 3.07Γ | 32% |
| β | np.sum (uint8) | uint8 | 100,000 | 0.0348 | 0.0186 | 1.87Γ | 54% |
| β | np.sum (uint8) | uint8 | 10,000,000 | 3.2589 | 1.8460 | 1.76Γ | 57% |
| β | np.sum axis=0 (complex128) | complex128 | 1,000 | 0.0020 | 0.0017 | 1.16Γ | 86% |
| β | np.sum axis=0 (complex128) | complex128 | 100,000 | 0.0309 | 0.0204 | 1.51Γ | 66% |
| β | np.sum axis=0 (complex128) | complex128 | 10,000,000 | 7.4501 | 7.3478 | 1.01Γ | 99% |
| β | np.sum axis=0 (float16) | float16 | 1,000 | 0.0053 | 0.0040 | 1.32Γ | 76% |
| β | np.sum axis=0 (float16) | float16 | 100,000 | 0.2950 | 0.1473 | 2.00Γ | 50% |
| β | np.sum axis=0 (float16) | float16 | 10,000,000 | 29.0440 | 14.1979 | 2.05Γ | 49% |
| β | np.sum axis=0 (float32) | float32 | 1,000 | 0.0022 | 0.0019 | 1.18Γ | 85% |
| β | np.sum axis=0 (float32) | float32 | 100,000 | 0.0083 | 0.0080 | 1.04Γ | 96% |
| β | np.sum axis=0 (float32) | float32 | 10,000,000 | 1.8895 | 1.3370 | 1.41Γ | 71% |
| β | np.sum axis=0 (float64) | float64 | 1,000 | 0.0020 | 0.0019 | 1.03Γ | 97% |
| β | np.sum axis=0 (float64) | float64 | 100,000 | 0.0142 | 0.0115 | 1.23Γ | 81% |
| β | np.sum axis=0 (float64) | float64 | 10,000,000 | 3.4762 | 3.4200 | 1.02Γ | 98% |
| β« | np.sum axis=0 (int16) | int16 | 1,000 | 0.0025 | 0.0009 | 2.70Γ | 37% |
| β | np.sum axis=0 (int16) | int16 | 100,000 | 0.0474 | 0.0047 | 10.08Γ | 10% |
| β | np.sum axis=0 (int16) | int16 | 10,000,000 | 5.0614 | 0.5369 | 9.43Γ | 11% |
| β« | np.sum axis=0 (int32) | int32 | 1,000 | 0.0028 | 0.0007 | 3.80Γ | 26% |
| β | np.sum axis=0 (int32) | int32 | 100,000 | 0.0485 | 0.0086 | 5.62Γ | 18% |
| β | np.sum axis=0 (int32) | int32 | 10,000,000 | 5.6694 | 1.8929 | 3.00Γ | 33% |
| β« | np.sum axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0007 | 2.74Γ | 36% |
| β | np.sum axis=0 (int64) | int64 | 100,000 | 0.0278 | 0.0104 | 2.67Γ | 37% |
| β | np.sum axis=0 (int64) | int64 | 10,000,000 | 5.6011 | 3.2402 | 1.73Γ | 58% |
| β« | np.sum axis=0 (int8) | int8 | 1,000 | 0.0024 | 0.0009 | 2.52Γ | 40% |
| β | np.sum axis=0 (int8) | int8 | 100,000 | 0.0474 | 0.0044 | 10.75Γ | 9% |
| β | np.sum axis=0 (int8) | int8 | 10,000,000 | 4.6440 | 0.5247 | 8.85Γ | 11% |
| β« | np.sum axis=0 (uint16) | uint16 | 1,000 | 0.0025 | 0.0009 | 2.71Γ | 37% |
| β | np.sum axis=0 (uint16) | uint16 | 100,000 | 0.0479 | 0.0053 | 9.02Γ | 11% |
| β | np.sum axis=0 (uint16) | uint16 | 10,000,000 | 4.7415 | 0.6972 | 6.80Γ | 15% |
| β« | np.sum axis=0 (uint32) | uint32 | 1,000 | 0.0028 | 0.0007 | 3.86Γ | 26% |
| β | np.sum axis=0 (uint32) | uint32 | 100,000 | 0.0506 | 0.0086 | 5.87Γ | 17% |
| β | np.sum axis=0 (uint32) | uint32 | 10,000,000 | 5.5471 | 1.7971 | 3.09Γ | 32% |
| β« | np.sum axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0007 | 2.73Γ | 37% |
| β | np.sum axis=0 (uint64) | uint64 | 100,000 | 0.0274 | 0.0104 | 2.64Γ | 38% |
| β | np.sum axis=0 (uint64) | uint64 | 10,000,000 | 5.1406 | 3.2350 | 1.59Γ | 63% |
| β« | np.sum axis=0 (uint8) | uint8 | 1,000 | 0.0026 | 0.0009 | 2.85Γ | 35% |
| β | np.sum axis=0 (uint8) | uint8 | 100,000 | 0.0513 | 0.0044 | 11.69Γ | 9% |
| β | np.sum axis=0 (uint8) | uint8 | 10,000,000 | 4.5577 | 0.5260 | 8.66Γ | 12% |
| β | np.sum axis=1 (complex128) | complex128 | 1,000 | 0.0021 | 0.0018 | 1.17Γ | 86% |
| β | np.sum axis=1 (complex128) | complex128 | 100,000 | 0.0340 | 0.0306 | 1.11Γ | 90% |
| β | np.sum axis=1 (complex128) | complex128 | 10,000,000 | 9.2453 | 8.6134 | 1.07Γ | 93% |
| β | np.sum axis=1 (float16) | float16 | 1,000 | 0.0039 | 0.0038 | 1.04Γ | 96% |
| β | np.sum axis=1 (float16) | float16 | 100,000 | 0.1987 | 0.1303 | 1.52Γ | 66% |
| β | np.sum axis=1 (float16) | float16 | 10,000,000 | 19.7912 | 12.4799 | 1.59Γ | 63% |
| β | np.sum axis=1 (float32) | float32 | 1,000 | 0.0030 | 0.0019 | 1.53Γ | 65% |
| β | np.sum axis=1 (float32) | float32 | 100,000 | 0.0162 | 0.0104 | 1.55Γ | 64% |
| β | np.sum axis=1 (float32) | float32 | 10,000,000 | 3.3850 | 1.8916 | 1.79Γ | 56% |
| β | np.sum axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0016 | 1.21Γ | 83% |
| β | np.sum axis=1 (float64) | float64 | 100,000 | 0.0200 | 0.0127 | 1.58Γ | 63% |
| β | np.sum axis=1 (float64) | float64 | 10,000,000 | 5.1036 | 3.6624 | 1.39Γ | 72% |
| β« | np.sum axis=1 (int16) | int16 | 1,000 | 0.0023 | 0.0007 | 3.51Γ | 28% |
| β | np.sum axis=1 (int16) | int16 | 100,000 | 0.0376 | 0.0038 | 9.79Γ | 10% |
| β | np.sum axis=1 (int16) | int16 | 10,000,000 | 3.6422 | 0.4546 | 8.01Γ | 12% |
| β« | np.sum axis=1 (int32) | int32 | 1,000 | 0.0025 | 0.0007 | 3.66Γ | 27% |
| β | np.sum axis=1 (int32) | int32 | 100,000 | 0.0396 | 0.0053 | 7.49Γ | 13% |
| β | np.sum axis=1 (int32) | int32 | 10,000,000 | 4.2337 | 1.6246 | 2.61Γ | 38% |
| β« | np.sum axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0007 | 2.60Γ | 38% |
| β | np.sum axis=1 (int64) | int64 | 100,000 | 0.0175 | 0.0075 | 2.33Γ | 43% |
| β | np.sum axis=1 (int64) | int64 | 10,000,000 | 4.7220 | 2.8722 | 1.64Γ | 61% |
| β« | np.sum axis=1 (int8) | int8 | 1,000 | 0.0023 | 0.0007 | 3.54Γ | 28% |
| β | np.sum axis=1 (int8) | int8 | 100,000 | 0.0379 | 0.0039 | 9.63Γ | 10% |
| β | np.sum axis=1 (int8) | int8 | 10,000,000 | 3.5111 | 0.2640 | 13.30Γ | 8% |
| β« | np.sum axis=1 (uint16) | uint16 | 1,000 | 0.0027 | 0.0008 | 3.44Γ | 29% |
| β | np.sum axis=1 (uint16) | uint16 | 100,000 | 0.0375 | 0.0037 | 10.00Γ | 10% |
| β | np.sum axis=1 (uint16) | uint16 | 10,000,000 | 3.8775 | 0.4583 | 8.46Γ | 12% |
| β« | np.sum axis=1 (uint32) | uint32 | 1,000 | 0.0026 | 0.0007 | 3.63Γ | 28% |
| β | np.sum axis=1 (uint32) | uint32 | 100,000 | 0.0413 | 0.0053 | 7.79Γ | 13% |
| β | np.sum axis=1 (uint32) | uint32 | 10,000,000 | 4.2817 | 1.6385 | 2.61Γ | 38% |
| β« | np.sum axis=1 (uint64) | uint64 | 1,000 | 0.0019 | 0.0007 | 2.69Γ | 37% |
| β | np.sum axis=1 (uint64) | uint64 | 100,000 | 0.0173 | 0.0075 | 2.30Γ | 44% |
| β | np.sum axis=1 (uint64) | uint64 | 10,000,000 | 4.6457 | 2.8809 | 1.61Γ | 62% |
| β« | np.sum axis=1 (uint8) | uint8 | 1,000 | 0.0025 | 0.0007 | 3.81Γ | 26% |
| β | np.sum axis=1 (uint8) | uint8 | 100,000 | 0.0402 | 0.0038 | 10.47Γ | 10% |
| β | np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.2063 | 0.2647 | 12.11Γ | 8% |
| β | np.var (float16) | float16 | 1,000 | 0.0200 | 0.0021 | 9.51Γ | 10% |
| β | np.var (float16) | float16 | 100,000 | 0.9060 | 0.1822 | 4.97Γ | 20% |
| β | np.var (float16) | float16 | 10,000,000 | 91.4660 | 18.1038 | 5.05Γ | 20% |
| β« | np.var (float32) | float32 | 1,000 | 0.0083 | 0.0007 | 11.92Γ | 8% |
| β | np.var (float32) | float32 | 100,000 | 0.0451 | 0.0096 | 4.69Γ | 21% |
| β | np.var (float32) | float32 | 10,000,000 | 17.1259 | 2.6208 | 6.54Γ | 15% |
| β« | np.var (float64) | float64 | 1,000 | 0.0067 | 0.0008 | 8.40Γ | 12% |
| β | np.var (float64) | float64 | 100,000 | 0.0573 | 0.0191 | 3.00Γ | 33% |
| β | np.var (float64) | float64 | 10,000,000 | 30.5902 | 6.6728 | 4.58Γ | 22% |
| β | np.var axis=0 (float16) | float16 | 1,000 | 0.0200 | 0.0044 | 4.51Γ | 22% |
| β | np.var axis=0 (float16) | float16 | 100,000 | 1.1366 | 0.3566 | 3.19Γ | 31% |
| β | np.var axis=0 (float16) | float16 | 10,000,000 | 109.8825 | 83.9268 | 1.31Γ | 76% |
| β | np.var axis=0 (float32) | float32 | 1,000 | 0.0086 | 0.0017 | 5.19Γ | 19% |
| β | np.var axis=0 (float32) | float32 | 100,000 | 0.0371 | 0.0226 | 1.64Γ | 61% |
| β | np.var axis=0 (float32) | float32 | 10,000,000 | 14.0847 | 4.7475 | 2.97Γ | 34% |
| β« | np.var axis=0 (float64) | float64 | 1,000 | 0.0075 | 0.0009 | 7.97Γ | 12% |
| β | np.var axis=0 (float64) | float64 | 100,000 | 0.0680 | 0.0252 | 2.70Γ | 37% |
| β | np.var axis=0 (float64) | float64 | 10,000,000 | 28.5127 | 7.5344 | 3.78Γ | 26% |
Broadcasting
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| βͺ | matrix + col_vector (N,M)+(N,1) | float64 | 1,000 | 0.0013 | - | - | - |
| βͺ | matrix + col_vector (N,M)+(N,1) | float64 | 100,000 | 0.1968 | - | - | - |
| β | matrix + col_vector (N,M)+(N,1) | float64 | 10,000,000 | 16.0261 | 13.9778 | 1.15Γ | 87% |
| βͺ | matrix + row_vector (N,M)+(M,) | float64 | 1,000 | 0.0012 | - | - | - |
| βͺ | matrix + row_vector (N,M)+(M,) | float64 | 100,000 | 0.1942 | - | - | - |
| β | matrix + row_vector (N,M)+(M,) | float64 | 10,000,000 | 16.3420 | 13.3161 | 1.23Γ | 82% |
| βͺ | matrix + scalar | float64 | 1,000 | 0.0007 | - | - | - |
| βͺ | matrix + scalar | float64 | 100,000 | 0.0142 | - | - | - |
| β | matrix + scalar | float64 | 10,000,000 | 15.6849 | 13.5809 | 1.16Γ | 87% |
| βͺ | np.broadcast_to(row, (N,M)) | float64 | 1,000 | 0.0018 | - | - | - |
| βͺ | np.broadcast_to(row, (N,M)) | float64 | 100,000 | 0.0021 | - | - | - |
| β« | np.broadcast_to(row, (N,M)) | float64 | 10,000,000 | 0.0018 | 0.0006 | 3.22Γ | 31% |
Creation
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.copy (float32) | float32 | 1,000 | 0.0006 | 0.0117 | 0.050Γ | 1983% |
| π‘ | np.copy (float32) | float32 | 100,000 | 0.0061 | 0.0071 | 0.86Γ | 117% |
| β | np.copy (float32) | float32 | 10,000,000 | 6.4782 | 1.8708 | 3.46Γ | 29% |
| β« | np.copy (float64) | float64 | 1,000 | 0.0006 | 0.0198 | 0.031Γ | 3272% |
| π‘ | np.copy (float64) | float64 | 100,000 | 0.0113 | 0.0135 | 0.83Γ | 120% |
| β | np.copy (float64) | float64 | 10,000,000 | 13.0404 | 12.7447 | 1.02Γ | 98% |
| β« | np.copy (int32) | int32 | 1,000 | 0.0006 | 0.0116 | 0.051Γ | 1958% |
| π‘ | np.copy (int32) | int32 | 100,000 | 0.0060 | 0.0069 | 0.88Γ | 114% |
| β | np.copy (int32) | int32 | 10,000,000 | 6.3440 | 1.8390 | 3.45Γ | 29% |
| β« | np.copy (int64) | int64 | 1,000 | 0.0006 | 0.0133 | 0.046Γ | 2177% |
| π‘ | np.copy (int64) | int64 | 100,000 | 0.0115 | 0.0140 | 0.82Γ | 122% |
| β | np.copy (int64) | int64 | 10,000,000 | 13.2030 | 12.7437 | 1.04Γ | 96% |
| β« | np.empty (float32) | float32 | 1,000 | 0.0003 | 0.0085 | 0.039Γ | 2532% |
| β« | np.empty (float32) | float32 | 100,000 | 0.0003 | 0.0141 | 0.024Γ | 4090% |
| π‘ | np.empty (float32) | float32 | 10,000,000 | 0.0087 | 0.0143 | 0.61Γ | 165% |
| β« | np.empty (float64) | float64 | 1,000 | 0.0005 | 0.0139 | 0.038Γ | 2598% |
| β« | np.empty (float64) | float64 | 100,000 | 0.0003 | 0.0140 | 0.021Γ | 4722% |
| π‘ | np.empty (float64) | float64 | 10,000,000 | 0.0080 | 0.0138 | 0.58Γ | 172% |
| β« | np.empty (int32) | int32 | 1,000 | 0.0003 | 0.0089 | 0.038Γ | 2635% |
| β« | np.empty (int32) | int32 | 100,000 | 0.0003 | 0.0133 | 0.026Γ | 3857% |
| π‘ | np.empty (int32) | int32 | 10,000,000 | 0.0108 | 0.0140 | 0.77Γ | 130% |
| β« | np.empty (int64) | int64 | 1,000 | 0.0003 | 0.0150 | 0.021Γ | 4695% |
| β« | np.empty (int64) | int64 | 100,000 | 0.0003 | 0.0152 | 0.022Γ | 4622% |
| π‘ | np.empty (int64) | int64 | 10,000,000 | 0.0119 | 0.0141 | 0.85Γ | 118% |
| β« | np.full (float32) | float32 | 1,000 | 0.0010 | 0.0117 | 0.084Γ | 1196% |
| π | np.full (float32) | float32 | 100,000 | 0.0053 | 0.0126 | 0.42Γ | 239% |
| β | np.full (float32) | float32 | 10,000,000 | 7.3482 | 1.8309 | 4.01Γ | 25% |
| β« | np.full (float64) | float64 | 1,000 | 0.0010 | 0.0142 | 0.068Γ | 1466% |
| π‘ | np.full (float64) | float64 | 100,000 | 0.0098 | 0.0148 | 0.66Γ | 151% |
| β | np.full (float64) | float64 | 10,000,000 | 14.6927 | 12.3279 | 1.19Γ | 84% |
| β« | np.full (int32) | int32 | 1,000 | 0.0009 | 0.0104 | 0.088Γ | 1138% |
| π | np.full (int32) | int32 | 100,000 | 0.0054 | 0.0123 | 0.44Γ | 228% |
| β | np.full (int32) | int32 | 10,000,000 | 7.3322 | 1.9121 | 3.83Γ | 26% |
| β« | np.full (int64) | int64 | 1,000 | 0.0009 | 0.0135 | 0.064Γ | 1571% |
| π‘ | np.full (int64) | int64 | 100,000 | 0.0098 | 0.0150 | 0.65Γ | 153% |
| β | np.full (int64) | int64 | 10,000,000 | 14.7304 | 12.3185 | 1.20Γ | 84% |
| β« | np.ones (float32) | float32 | 1,000 | 0.0010 | 0.0094 | 0.10Γ | 953% |
| π | np.ones (float32) | float32 | 100,000 | 0.0054 | 0.0124 | 0.43Γ | 232% |
| β | np.ones (float32) | float32 | 10,000,000 | 7.3143 | 1.8034 | 4.06Γ | 25% |
| β« | np.ones (float64) | float64 | 1,000 | 0.0009 | 0.0119 | 0.073Γ | 1370% |
| π‘ | np.ones (float64) | float64 | 100,000 | 0.0098 | 0.0150 | 0.66Γ | 152% |
| β | np.ones (float64) | float64 | 10,000,000 | 14.5911 | 12.4361 | 1.17Γ | 85% |
| β« | np.ones (int32) | int32 | 1,000 | 0.0009 | 0.0111 | 0.080Γ | 1257% |
| π | np.ones (int32) | int32 | 100,000 | 0.0053 | 0.0124 | 0.43Γ | 234% |
| β | np.ones (int32) | int32 | 10,000,000 | 7.1344 | 2.0772 | 3.44Γ | 29% |
| β« | np.ones (int64) | int64 | 1,000 | 0.0009 | 0.0145 | 0.059Γ | 1685% |
| π‘ | np.ones (int64) | int64 | 100,000 | 0.0099 | 0.0148 | 0.67Γ | 149% |
| β | np.ones (int64) | int64 | 10,000,000 | 14.7038 | 12.3182 | 1.19Γ | 84% |
| β« | np.zeros (float32) | float32 | 1,000 | 0.0004 | 0.0107 | 0.039Γ | 2555% |
| β | np.zeros (float32) | float32 | 100,000 | 0.0048 | 0.0020 | 2.37Γ | 42% |
| β | np.zeros (float32) | float32 | 10,000,000 | 0.0090 | 0.0020 | 4.51Γ | 22% |
| β« | np.zeros (float64) | float64 | 1,000 | 0.0004 | 0.0137 | 0.026Γ | 3875% |
| β | np.zeros (float64) | float64 | 100,000 | 0.0093 | 0.0026 | 3.62Γ | 28% |
| β | np.zeros (float64) | float64 | 10,000,000 | 0.0083 | 0.0022 | 3.70Γ | 27% |
| β« | np.zeros (int32) | int32 | 1,000 | 0.0004 | 0.0107 | 0.036Γ | 2816% |
| β | np.zeros (int32) | int32 | 100,000 | 0.0049 | 0.0020 | 2.45Γ | 41% |
| β | np.zeros (int32) | int32 | 10,000,000 | 0.0111 | 0.0065 | 1.71Γ | 58% |
| β« | np.zeros (int64) | int64 | 1,000 | 0.0004 | 0.0140 | 0.027Γ | 3638% |
| β | np.zeros (int64) | int64 | 100,000 | 0.0094 | 0.0026 | 3.70Γ | 27% |
| β | np.zeros (int64) | int64 | 10,000,000 | 0.0114 | 0.0057 | 1.99Γ | 50% |
| π΄ | np.zeros_like (float32) | float32 | 1,000 | 0.0011 | 0.0091 | 0.12Γ | 861% |
| β | np.zeros_like (float32) | float32 | 100,000 | 0.0055 | 0.0021 | 2.63Γ | 38% |
| β« | np.zeros_like (float32) | float32 | 10,000,000 | 7.1806 | 0.0021 | 3422.48Γ | 0% |
| π΄ | np.zeros_like (float64) | float64 | 1,000 | 0.0012 | 0.0135 | 0.092Γ | 1086% |
| β | np.zeros_like (float64) | float64 | 100,000 | 0.0099 | 0.0027 | 3.70Γ | 27% |
| β« | np.zeros_like (float64) | float64 | 10,000,000 | 14.8132 | 0.0023 | 6363.47Γ | 0% |
| π΄ | np.zeros_like (int32) | int32 | 1,000 | 0.0011 | 0.0089 | 0.12Γ | 842% |
| β | np.zeros_like (int32) | int32 | 100,000 | 0.0057 | 0.0020 | 2.78Γ | 36% |
| β« | np.zeros_like (int32) | int32 | 10,000,000 | 7.2566 | 0.0066 | 1091.90Γ | 0% |
| π΄ | np.zeros_like (int64) | int64 | 1,000 | 0.0010 | 0.0132 | 0.079Γ | 1261% |
| β | np.zeros_like (int64) | int64 | 100,000 | 0.0100 | 0.0026 | 3.79Γ | 26% |
| β« | np.zeros_like (int64) | int64 | 10,000,000 | 14.7069 | 0.0056 | 2623.48Γ | 0% |
Manipulation
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| βͺ | a.T (2D) | float64 | 1,000 | 0.0001 | - | - | - |
| βͺ | a.T (2D) | float64 | 100,000 | 0.0001 | - | - | - |
| βͺ | a.T (2D) | float64 | 10,000,000 | 0.0001 | - | - | - |
| βͺ | a.flatten | float64 | 1,000 | 0.0005 | - | - | - |
| π΄ | a.flatten | float64 | 100,000 | 0.0113 | 0.0883 | 0.13Γ | 782% |
| β | a.flatten | float64 | 10,000,000 | 13.0852 | 11.4613 | 1.14Γ | 88% |
| βͺ | np.concatenate | float64 | 1,000 | 0.0010 | - | - | - |
| βͺ | np.concatenate | float64 | 100,000 | 0.3154 | - | - | - |
| βͺ | np.concatenate | float64 | 10,000,000 | 32.8142 | - | - | - |
| βͺ | np.ravel | float64 | 1,000 | 0.0004 | - | - | - |
| β« | np.ravel | float64 | 100,000 | 0.0003 | 0.0005 | 0.69Γ | 145% |
| β« | np.ravel | float64 | 10,000,000 | 0.0003 | 0.0005 | 0.62Γ | 162% |
| βͺ | np.stack | float64 | 1,000 | 0.0022 | - | - | - |
| βͺ | np.stack | float64 | 100,000 | 0.3130 | - | - | - |
| βͺ | np.stack | float64 | 10,000,000 | 33.9601 | - | - | - |
| βͺ | np.transpose (2D) | float64 | 1,000 | 0.0004 | - | - | - |
| βͺ | np.transpose (2D) | float64 | 100,000 | 0.0004 | - | - | - |
| βͺ | np.transpose (2D) | float64 | 10,000,000 | 0.0004 | - | - | - |
| βͺ | reshape 1D->2D | float64 | 1,000 | 0.0002 | - | - | - |
| βͺ | reshape 1D->2D | float64 | 100,000 | 0.0002 | - | - | - |
| βͺ | reshape 1D->2D | float64 | 10,000,000 | 0.0002 | - | - | - |
| βͺ | reshape 2D->1D | float64 | 1,000 | 0.0002 | - | - | - |
| β« | reshape 2D->1D | float64 | 100,000 | 0.0002 | 0.0005 | 0.33Γ | 304% |
| β« | reshape 2D->1D | float64 | 10,000,000 | 0.0002 | 0.0006 | 0.32Γ | 317% |
Slicing
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| βͺ | a[100:1000] (contiguous) | float64 | 1,000 | 0.0002 | - | - | - |
| βͺ | a[100:1000] (contiguous) | float64 | 100,000 | 0.0001 | - | - | - |
| βͺ | a[100:1000] (contiguous) | float64 | 10,000,000 | 0.0001 | - | - | - |
| βͺ | a[::-1] (reversed) | float64 | 1,000 | 0.0001 | - | - | - |
| β« | a[::-1] (reversed) | float64 | 100,000 | 0.0002 | 0.0012 | 0.13Γ | 781% |
| β« | a[::-1] (reversed) | float64 | 10,000,000 | 0.0002 | 0.0012 | 0.13Γ | 789% |
| βͺ | a[::2] (strided) | float64 | 1,000 | 0.0002 | - | - | - |
| βͺ | a[::2] (strided) | float64 | 100,000 | 0.0001 | - | - | - |
| βͺ | a[::2] (strided) | float64 | 10,000,000 | 0.0001 | - | - | - |
| βͺ | np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - |
| βͺ | np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - |
| βͺ | np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - |
| βͺ | np.sum(strided_slice) | float64 | 500 | 0.0016 | - | - | - |
| βͺ | np.sum(strided_slice) | float64 | 50,000 | 0.0096 | - | - | - |
| βͺ | np.sum(strided_slice) | float64 | 5,000,000 | 4.6738 | - | - | - |
Comparison
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | a != b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.60Γ | 166% |
| π | a != b (float32) | float32 | 100,000 | 0.0059 | 0.0188 | 0.31Γ | 321% |
| β | a != b (float32) | float32 | 10,000,000 | 3.9247 | 3.3366 | 1.18Γ | 85% |
| β« | a != b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.62Γ | 162% |
| π | a != b (float64) | float64 | 100,000 | 0.0110 | 0.0263 | 0.42Γ | 239% |
| β | a != b (float64) | float64 | 10,000,000 | 6.7684 | 5.8470 | 1.16Γ | 86% |
| β« | a != b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54Γ | 186% |
| π | a != b (int32) | int32 | 100,000 | 0.0069 | 0.0201 | 0.34Γ | 291% |
| β | a != b (int32) | int32 | 10,000,000 | 4.2916 | 3.4612 | 1.24Γ | 81% |
| β« | a != b (int64) | int64 | 1,000 | 0.0005 | 0.0008 | 0.60Γ | 166% |
| π‘ | a != b (int64) | int64 | 100,000 | 0.0140 | 0.0260 | 0.54Γ | 186% |
| β | a != b (int64) | int64 | 10,000,000 | 7.2974 | 5.8513 | 1.25Γ | 80% |
| β« | a < b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.56Γ | 179% |
| π | a < b (float32) | float32 | 100,000 | 0.0056 | 0.0189 | 0.29Γ | 339% |
| β | a < b (float32) | float32 | 10,000,000 | 3.8362 | 3.2974 | 1.16Γ | 86% |
| β« | a < b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.62Γ | 162% |
| π | a < b (float64) | float64 | 100,000 | 0.0106 | 0.0279 | 0.38Γ | 264% |
| β | a < b (float64) | float64 | 10,000,000 | 6.5961 | 5.7503 | 1.15Γ | 87% |
| β« | a < b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.62Γ | 162% |
| π | a < b (int32) | int32 | 100,000 | 0.0071 | 0.0187 | 0.38Γ | 265% |
| β | a < b (int32) | int32 | 10,000,000 | 4.3674 | 3.2941 | 1.33Γ | 75% |
| β« | a < b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.73Γ | 137% |
| π‘ | a < b (int64) | int64 | 100,000 | 0.0182 | 0.0250 | 0.73Γ | 137% |
| β | a < b (int64) | int64 | 10,000,000 | 7.0769 | 5.6821 | 1.25Γ | 80% |
| β« | a <= b (float32) | float32 | 1,000 | 0.0006 | 0.0007 | 0.80Γ | 126% |
| π | a <= b (float32) | float32 | 100,000 | 0.0063 | 0.0181 | 0.35Γ | 289% |
| β | a <= b (float32) | float32 | 10,000,000 | 3.8528 | 3.2691 | 1.18Γ | 85% |
| β« | a <= b (float64) | float64 | 1,000 | 0.0004 | 0.0007 | 0.60Γ | 167% |
| π | a <= b (float64) | float64 | 100,000 | 0.0104 | 0.0283 | 0.37Γ | 272% |
| β | a <= b (float64) | float64 | 10,000,000 | 6.4781 | 5.7355 | 1.13Γ | 88% |
| β« | a <= b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.58Γ | 173% |
| π | a <= b (int32) | int32 | 100,000 | 0.0070 | 0.0192 | 0.37Γ | 273% |
| β | a <= b (int32) | int32 | 10,000,000 | 4.2354 | 3.3183 | 1.28Γ | 78% |
| β« | a <= b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.72Γ | 138% |
| π‘ | a <= b (int64) | int64 | 100,000 | 0.0186 | 0.0268 | 0.69Γ | 144% |
| β | a <= b (int64) | int64 | 10,000,000 | 8.2513 | 5.9870 | 1.38Γ | 73% |
| β« | a == b (float32) | float32 | 1,000 | 0.0005 | 0.0007 | 0.61Γ | 163% |
| π | a == b (float32) | float32 | 100,000 | 0.0059 | 0.0199 | 0.29Γ | 339% |
| β | a == b (float32) | float32 | 10,000,000 | 3.9574 | 3.2149 | 1.23Γ | 81% |
| β« | a == b (float64) | float64 | 1,000 | 0.0004 | 0.0007 | 0.58Γ | 172% |
| π | a == b (float64) | float64 | 100,000 | 0.0114 | 0.0279 | 0.41Γ | 244% |
| β | a == b (float64) | float64 | 10,000,000 | 7.1028 | 5.6882 | 1.25Γ | 80% |
| β« | a == b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.60Γ | 167% |
| π | a == b (int32) | int32 | 100,000 | 0.0072 | 0.0183 | 0.40Γ | 253% |
| β | a == b (int32) | int32 | 10,000,000 | 4.1736 | 3.3406 | 1.25Γ | 80% |
| β« | a == b (int64) | int64 | 1,000 | 0.0004 | 0.0008 | 0.58Γ | 172% |
| π‘ | a == b (int64) | int64 | 100,000 | 0.0131 | 0.0248 | 0.53Γ | 189% |
| β | a == b (int64) | int64 | 10,000,000 | 7.1546 | 5.7300 | 1.25Γ | 80% |
| β« | a > b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.56Γ | 178% |
| π | a > b (float32) | float32 | 100,000 | 0.0056 | 0.0185 | 0.31Γ | 327% |
| β | a > b (float32) | float32 | 10,000,000 | 3.8956 | 3.3476 | 1.16Γ | 86% |
| β« | a > b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.58Γ | 171% |
| π | a > b (float64) | float64 | 100,000 | 0.0105 | 0.0262 | 0.40Γ | 248% |
| β | a > b (float64) | float64 | 10,000,000 | 6.6876 | 5.7415 | 1.17Γ | 86% |
| β« | a > b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54Γ | 186% |
| π | a > b (int32) | int32 | 100,000 | 0.0070 | 0.0195 | 0.36Γ | 280% |
| β | a > b (int32) | int32 | 10,000,000 | 4.1882 | 3.3117 | 1.26Γ | 79% |
| β« | a > b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.74Γ | 134% |
| π‘ | a > b (int64) | int64 | 100,000 | 0.0231 | 0.0256 | 0.90Γ | 111% |
| β | a > b (int64) | int64 | 10,000,000 | 7.6396 | 5.7329 | 1.33Γ | 75% |
| β« | a >= b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.61Γ | 165% |
| π | a >= b (float32) | float32 | 100,000 | 0.0063 | 0.0186 | 0.34Γ | 295% |
| β | a >= b (float32) | float32 | 10,000,000 | 3.8402 | 3.2664 | 1.18Γ | 85% |
| β« | a >= b (float64) | float64 | 1,000 | 0.0005 | 0.0007 | 0.60Γ | 166% |
| π | a >= b (float64) | float64 | 100,000 | 0.0118 | 0.0241 | 0.49Γ | 203% |
| β | a >= b (float64) | float64 | 10,000,000 | 7.1505 | 5.6739 | 1.26Γ | 79% |
| β« | a >= b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.56Γ | 177% |
| π | a >= b (int32) | int32 | 100,000 | 0.0069 | 0.0191 | 0.36Γ | 277% |
| β | a >= b (int32) | int32 | 10,000,000 | 4.5128 | 3.3235 | 1.36Γ | 74% |
| β« | a >= b (int64) | int64 | 1,000 | 0.0008 | 0.0008 | 1.00Γ | 100% |
| π‘ | a >= b (int64) | int64 | 100,000 | 0.0188 | 0.0266 | 0.71Γ | 142% |
| β | a >= b (int64) | int64 | 10,000,000 | 7.8543 | 5.9554 | 1.32Γ | 76% |
Bitwise
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | ||
|---|---|---|---|---|---|---|---|---|
| β« | a & b (bool) | bool | 1,000 | 0.0004 | 0.0016 | 0.24Γ | 409% | |
| π΄ | a & b (bool) | bool | 100,000 | 0.0028 | 0.0215 | 0.13Γ | 763% | |
| π‘ | a & b (bool) | bool | 10,000,000 | 1.8589 | 3.0929 | 0.60Γ | 166% | |
| β« | a & b (int16) | int16 | 1,000 | 0.0008 | 0.0027 | 0.29Γ | 349% | |
| β | a & b (int16) | int16 | 100,000 | 0.0290 | 0.0169 | 1.72Γ | 58% | |
| β | a & b (int16) | int16 | 10,000,000 | 5.2942 | 2.9661 | 1.78Γ | 56% | |
| β« | a & b (int32) | int32 | 1,000 | 0.0008 | 0.0060 | 0.13Γ | 779% | |
| π‘ | a & b (int32) | int32 | 100,000 | 0.0286 | 0.0342 | 0.84Γ | 120% | |
| β | a & b (int32) | int32 | 10,000,000 | 9.1881 | 5.3408 | 1.72Γ | 58% | |
| β« | a & b (int64) | int64 | 1,000 | 0.0008 | 0.0069 | 0.11Γ | 891% | |
| π‘ | a & b (int64) | int64 | 100,000 | 0.0338 | 0.0634 | 0.53Γ | 188% | |
| β | a & b (int64) | int64 | 10,000,000 | 17.1008 | 16.6525 | 1.03Γ | 97% | |
| β« | a & b (int8) | int8 | 1,000 | 0.0007 | 0.0013 | 0.49Γ | 204% | |
| β | a & b (int8) | int8 | 100,000 | 0.0286 | 0.0100 | 2.86Γ | 35% | |
| β | a & b (int8) | int8 | 10,000,000 | 3.8854 | 1.5338 | 2.53Γ | 40% | |
| β« | a & b (uint16) | uint16 | 1,000 | 0.0008 | 0.0034 | 0.23Γ | 440% | |
| β | a & b (uint16) | uint16 | 100,000 | 0.0301 | 0.0180 | 1.68Γ | 60% | |
| β | a & b (uint16) | uint16 | 10,000,000 | 5.2834 | 3.0212 | 1.75Γ | 57% | |
| β« | a & b (uint32) | uint32 | 1,000 | 0.0008 | 0.0039 | 0.20Γ | 492% | |
| π‘ | a & b (uint32) | uint32 | 100,000 | 0.0339 | 0.0400 | 0.85Γ | 118% | |
| β | a & b (uint32) | uint32 | 10,000,000 | 8.5821 | 6.0168 | 1.43Γ | 70% | |
| β« | a & b (uint64) | uint64 | 1,000 | 0.0008 | 0.0024 | 0.32Γ | 310% | |
| π | a & b (uint64) | uint64 | 100,000 | 0.0356 | 0.0739 | 0.48Γ | 207% | |
| β | a & b (uint64) | uint64 | 10,000,000 | 17.0644 | 16.1487 | 1.06Γ | 95% | |
| β« | a & b (uint8) | uint8 | 1,000 | 0.0006 | 0.0010 | 0.62Γ | 162% | |
| β | a & b (uint8) | uint8 | 100,000 | 0.0296 | 0.0103 | 2.88Γ | 35% | |
| β | a & b (uint8) | uint8 | 10,000,000 | 3.8191 | 1.5272 | 2.50Γ | 40% | |
| β« | a ^ b (bool) | bool | 1,000 | 0.0004 | 0.0017 | 0.22Γ | 447% | |
| π΄ | a ^ b (bool) | bool | 100,000 | 0.0026 | 0.0214 | 0.12Γ | 822% | |
| π‘ | a ^ b (bool) | bool | 10,000,000 | 1.8620 | 3.0807 | 0.60Γ | 166% | |
| β« | a ^ b (int16) | int16 | 1,000 | 0.0008 | 0.0026 | 0.30Γ | 328% | |
| β | a ^ b (int16) | int16 | 100,000 | 0.0285 | 0.0149 | 1.92Γ | 52% | |
| β | a ^ b (int16) | int16 | 10,000,000 | 5.2041 | 2.9252 | 1.78Γ | 56% | |
| β« | a ^ b (int32) | int32 | 1,000 | 0.0008 | 0.0047 | 0.16Γ | 615% | |
| π‘ | a ^ b (int32) | int32 | 100,000 | 0.0288 | 0.0321 | 0.90Γ | 111% | |
| β | a ^ b (int32) | int32 | 10,000,000 | 8.9067 | 5.3599 | 1.66Γ | 60% | |
| β« | a ^ b (int64) | int64 | 1,000 | 0.0008 | 0.0040 | 0.20Γ | 511% | |
| π‘ | a ^ b (int64) | int64 | 100,000 | 0.0337 | 0.0666 | 0.51Γ | 198% | |
| β | a ^ b (int64) | int64 | 10,000,000 | 17.2489 | 15.6910 | 1.10Γ | 91% | |
| β« | a ^ b (int8) | int8 | 1,000 | 0.0007 | 0.0012 | 0.52Γ | 191% | |
| β | a ^ b (int8) | int8 | 100,000 | 0.0295 | 0.0102 | 2.90Γ | 34% | |
| β | a ^ b (int8) | int8 | 10,000,000 | 3.8764 | 1.5503 | 2.50Γ | 40% | |
| β« | a ^ b (uint16) | uint16 | 1,000 | 0.0008 | 0.0028 | 0.28Γ | 361% | |
| β | a ^ b (uint16) | uint16 | 100,000 | 0.0287 | 0.0163 | 1.77Γ | 57% | |
| β | a ^ b (uint16) | uint16 | 10,000,000 | 5.2129 | 2.9215 | 1.78Γ | 56% | |
| β« | a ^ b (uint32) | uint32 | 1,000 | 0.0008 | 0.0048 | 0.16Γ | 610% | |
| π‘ | a ^ b (uint32) | uint32 | 100,000 | 0.0285 | 0.0315 | 0.91Γ | 110% | |
| β | a ^ b (uint32) | uint32 | 10,000,000 | 8.4267 | 5.7479 | 1.47Γ | 68% | |
| β« | a ^ b (uint64) | uint64 | 1,000 | 0.0009 | 0.0111 | 0.078Γ | 1287% | |
| π‘ | a ^ b (uint64) | uint64 | 100,000 | 0.0341 | 0.0681 | 0.50Γ | 200% | |
| β | a ^ b (uint64) | uint64 | 10,000,000 | 16.9004 | 16.6136 | 1.02Γ | 98% | |
| β« | a ^ b (uint8) | uint8 | 1,000 | 0.0006 | 0.0012 | 0.53Γ | 187% | |
| β | a ^ b (uint8) | uint8 | 100,000 | 0.0288 | 0.0119 | 2.42Γ | 41% | |
| β | a ^ b (uint8) | uint8 | 10,000,000 | 3.8171 | 1.4591 | 2.62Γ | 38% | |
| β« | a | b (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.31Γ | 326% |
| π΄ | a | b (bool) | bool | 100,000 | 0.0025 | 0.0232 | 0.11Γ | 912% |
| π‘ | a | b (bool) | bool | 10,000,000 | 1.8887 | 2.8568 | 0.66Γ | 151% |
| β« | a | b (int16) | int16 | 1,000 | 0.0008 | 0.0023 | 0.35Γ | 288% |
| β | a | b (int16) | int16 | 100,000 | 0.0285 | 0.0178 | 1.60Γ | 62% |
| β | a | b (int16) | int16 | 10,000,000 | 5.2268 | 2.9832 | 1.75Γ | 57% |
| β« | a | b (int32) | int32 | 1,000 | 0.0008 | 0.0074 | 0.10Γ | 950% |
| π‘ | a | b (int32) | int32 | 100,000 | 0.0286 | 0.0380 | 0.75Γ | 133% |
| β | a | b (int32) | int32 | 10,000,000 | 9.0217 | 5.4574 | 1.65Γ | 60% |
| β« | a | b (int64) | int64 | 1,000 | 0.0008 | 0.0079 | 0.10Γ | 1003% |
| π | a | b (int64) | int64 | 100,000 | 0.0339 | 0.0707 | 0.48Γ | 209% |
| β | a | b (int64) | int64 | 10,000,000 | 17.1245 | 15.6955 | 1.09Γ | 92% |
| β« | a | b (int8) | int8 | 1,000 | 0.0007 | 0.0014 | 0.48Γ | 210% |
| β | a | b (int8) | int8 | 100,000 | 0.0300 | 0.0116 | 2.58Γ | 39% |
| β | a | b (int8) | int8 | 10,000,000 | 4.1649 | 1.5132 | 2.75Γ | 36% |
| β« | a | b (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.43Γ | 234% |
| β | a | b (uint16) | uint16 | 100,000 | 0.0291 | 0.0168 | 1.73Γ | 58% |
| β | a | b (uint16) | uint16 | 10,000,000 | 5.1942 | 2.8924 | 1.80Γ | 56% |
| β« | a | b (uint32) | uint32 | 1,000 | 0.0008 | 0.0035 | 0.22Γ | 446% |
| π‘ | a | b (uint32) | uint32 | 100,000 | 0.0285 | 0.0334 | 0.85Γ | 117% |
| β | a | b (uint32) | uint32 | 10,000,000 | 8.5824 | 5.4787 | 1.57Γ | 64% |
| β« | a | b (uint64) | uint64 | 1,000 | 0.0008 | 0.0022 | 0.35Γ | 282% |
| π‘ | a | b (uint64) | uint64 | 100,000 | 0.0353 | 0.0677 | 0.52Γ | 192% |
| β | a | b (uint64) | uint64 | 10,000,000 | 16.8283 | 16.1102 | 1.04Γ | 96% |
| β« | a | b (uint8) | uint8 | 1,000 | 0.0007 | 0.0012 | 0.56Γ | 177% |
| β | a | b (uint8) | uint8 | 100,000 | 0.0296 | 0.0105 | 2.83Γ | 35% |
| β | a | b (uint8) | uint8 | 10,000,000 | 4.1042 | 1.4855 | 2.76Γ | 36% |
| β« | np.invert(a) (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.24Γ | 409% | |
| π΄ | np.invert(a) (bool) | bool | 100,000 | 0.0021 | 0.0230 | 0.092Γ | 1083% | |
| π‘ | np.invert(a) (bool) | bool | 10,000,000 | 1.6689 | 2.5576 | 0.65Γ | 153% | |
| β« | np.invert(a) (int16) | int16 | 1,000 | 0.0007 | 0.0018 | 0.40Γ | 247% | |
| β | np.invert(a) (int16) | int16 | 100,000 | 0.0257 | 0.0140 | 1.83Γ | 55% | |
| β | np.invert(a) (int16) | int16 | 10,000,000 | 4.7670 | 2.5132 | 1.90Γ | 53% | |
| β« | np.invert(a) (int32) | int32 | 1,000 | 0.0008 | 0.0058 | 0.13Γ | 758% | |
| π‘ | np.invert(a) (int32) | int32 | 100,000 | 0.0264 | 0.0305 | 0.86Γ | 116% | |
| β | np.invert(a) (int32) | int32 | 10,000,000 | 8.1792 | 4.7721 | 1.71Γ | 58% | |
| β« | np.invert(a) (int64) | int64 | 1,000 | 0.0007 | 0.0059 | 0.13Γ | 796% | |
| π | np.invert(a) (int64) | int64 | 100,000 | 0.0263 | 0.0661 | 0.40Γ | 251% | |
| β | np.invert(a) (int64) | int64 | 10,000,000 | 15.1634 | 14.2955 | 1.06Γ | 94% | |
| β« | np.invert(a) (int8) | int8 | 1,000 | 0.0006 | 0.0014 | 0.46Γ | 218% | |
| β | np.invert(a) (int8) | int8 | 100,000 | 0.0293 | 0.0108 | 2.72Γ | 37% | |
| β | np.invert(a) (int8) | int8 | 10,000,000 | 3.5390 | 1.3133 | 2.69Γ | 37% | |
| β« | np.invert(a) (uint16) | uint16 | 1,000 | 0.0007 | 0.0022 | 0.33Γ | 302% | |
| β | np.invert(a) (uint16) | uint16 | 100,000 | 0.0258 | 0.0206 | 1.25Γ | 80% | |
| β | np.invert(a) (uint16) | uint16 | 10,000,000 | 4.7281 | 2.4541 | 1.93Γ | 52% | |
| β« | np.invert(a) (uint32) | uint32 | 1,000 | 0.0008 | 0.0036 | 0.22Γ | 459% | |
| β | np.invert(a) (uint32) | uint32 | 100,000 | 0.0332 | 0.0290 | 1.15Γ | 87% | |
| β | np.invert(a) (uint32) | uint32 | 10,000,000 | 7.8329 | 4.8460 | 1.62Γ | 62% | |
| β« | np.invert(a) (uint64) | uint64 | 1,000 | 0.0007 | 0.0035 | 0.21Γ | 484% | |
| π | np.invert(a) (uint64) | uint64 | 100,000 | 0.0263 | 0.0652 | 0.40Γ | 248% | |
| π‘ | np.invert(a) (uint64) | uint64 | 10,000,000 | 15.2896 | 15.3374 | 1.00Γ | 100% | |
| β« | np.invert(a) (uint8) | uint8 | 1,000 | 0.0006 | 0.0014 | 0.46Γ | 216% | |
| β | np.invert(a) (uint8) | uint8 | 100,000 | 0.0268 | 0.0110 | 2.45Γ | 41% | |
| β | np.invert(a) (uint8) | uint8 | 10,000,000 | 3.5162 | 1.3311 | 2.64Γ | 38% | |
| π΄ | np.left_shift(a, 2) (bool) | bool | 1,000 | 0.0015 | 0.0125 | 0.12Γ | 845% | |
| π‘ | np.left_shift(a, 2) (bool) | bool | 100,000 | 0.0430 | 0.0779 | 0.55Γ | 181% | |
| β | np.left_shift(a, 2) (bool) | bool | 10,000,000 | 15.2024 | 10.3241 | 1.47Γ | 68% | |
| π | np.left_shift(a, 2) (int16) | int16 | 1,000 | 0.0010 | 0.0031 | 0.33Γ | 302% | |
| β | np.left_shift(a, 2) (int16) | int16 | 100,000 | 0.0285 | 0.0150 | 1.90Γ | 53% | |
| β | np.left_shift(a, 2) (int16) | int16 | 10,000,000 | 4.9855 | 2.6983 | 1.85Γ | 54% | |
| β« | np.left_shift(a, 2) (int32) | int32 | 1,000 | 0.0010 | 0.0057 | 0.18Γ | 569% | |
| π‘ | np.left_shift(a, 2) (int32) | int32 | 100,000 | 0.0190 | 0.0373 | 0.51Γ | 196% | |
| β | np.left_shift(a, 2) (int32) | int32 | 10,000,000 | 7.6421 | 4.5654 | 1.67Γ | 60% | |
| β« | np.left_shift(a, 2) (int64) | int64 | 1,000 | 0.0009 | 0.0038 | 0.24Γ | 420% | |
| π | np.left_shift(a, 2) (int64) | int64 | 100,000 | 0.0190 | 0.0672 | 0.28Γ | 353% | |
| β | np.left_shift(a, 2) (int64) | int64 | 10,000,000 | 15.2053 | 14.9107 | 1.02Γ | 98% | |
| β« | np.left_shift(a, 2) (int8) | int8 | 1,000 | 0.0009 | 0.0019 | 0.49Γ | 204% | |
| β | np.left_shift(a, 2) (int8) | int8 | 100,000 | 0.0305 | 0.0085 | 3.58Γ | 28% | |
| β | np.left_shift(a, 2) (int8) | int8 | 10,000,000 | 3.7477 | 1.2738 | 2.94Γ | 34% | |
| π | np.left_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0023 | 0.45Γ | 222% | |
| β | np.left_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0290 | 0.0163 | 1.78Γ | 56% | |
| β | np.left_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.3571 | 2.5057 | 2.14Γ | 47% | |
| β« | np.left_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0045 | 0.22Γ | 456% | |
| π‘ | np.left_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0192 | 0.0272 | 0.70Γ | 142% | |
| β | np.left_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.9134 | 5.0757 | 1.56Γ | 64% | |
| β« | np.left_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0096 | 0.10Γ | 1000% | |
| π | np.left_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0194 | 0.0697 | 0.28Γ | 359% | |
| π‘ | np.left_shift(a, 2) (uint64) | uint64 | 10,000,000 | 15.2926 | 15.7026 | 0.97Γ | 103% | |
| β« | np.left_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0023 | 0.40Γ | 250% | |
| β | np.left_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0292 | 0.0131 | 2.22Γ | 45% | |
| β | np.left_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.6979 | 1.2844 | 2.88Γ | 35% | |
| π΄ | np.right_shift(a, 2) (bool) | bool | 1,000 | 0.0016 | 0.0135 | 0.12Γ | 844% | |
| π‘ | np.right_shift(a, 2) (bool) | bool | 100,000 | 0.0529 | 0.0750 | 0.71Γ | 142% | |
| β | np.right_shift(a, 2) (bool) | bool | 10,000,000 | 15.2744 | 9.3866 | 1.63Γ | 62% | |
| π | np.right_shift(a, 2) (int16) | int16 | 1,000 | 0.0011 | 0.0026 | 0.44Γ | 226% | |
| β | np.right_shift(a, 2) (int16) | int16 | 100,000 | 0.0377 | 0.0158 | 2.38Γ | 42% | |
| β | np.right_shift(a, 2) (int16) | int16 | 10,000,000 | 5.7282 | 2.6585 | 2.15Γ | 46% | |
| π | np.right_shift(a, 2) (int32) | int32 | 1,000 | 0.0011 | 0.0038 | 0.28Γ | 354% | |
| π‘ | np.right_shift(a, 2) (int32) | int32 | 100,000 | 0.0288 | 0.0378 | 0.76Γ | 131% | |
| β | np.right_shift(a, 2) (int32) | int32 | 10,000,000 | 7.8870 | 4.3972 | 1.79Γ | 56% | |
| π | np.right_shift(a, 2) (int64) | int64 | 1,000 | 0.0013 | 0.0039 | 0.32Γ | 309% | |
| π | np.right_shift(a, 2) (int64) | int64 | 100,000 | 0.0287 | 0.0702 | 0.41Γ | 244% | |
| β | np.right_shift(a, 2) (int64) | int64 | 10,000,000 | 15.0917 | 14.2202 | 1.06Γ | 94% | |
| π‘ | np.right_shift(a, 2) (int8) | int8 | 1,000 | 0.0010 | 0.0019 | 0.54Γ | 185% | |
| β | np.right_shift(a, 2) (int8) | int8 | 100,000 | 0.0436 | 0.0108 | 4.02Γ | 25% | |
| β | np.right_shift(a, 2) (int8) | int8 | 10,000,000 | 4.7856 | 1.2716 | 3.76Γ | 27% | |
| π | np.right_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0029 | 0.36Γ | 275% | |
| β | np.right_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0283 | 0.0170 | 1.67Γ | 60% | |
| β | np.right_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.1786 | 2.5878 | 2.00Γ | 50% | |
| β« | np.right_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0036 | 0.27Γ | 368% | |
| π‘ | np.right_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0205 | 0.0284 | 0.72Γ | 138% | |
| β | np.right_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.7130 | 4.7119 | 1.64Γ | 61% | |
| β« | np.right_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0108 | 0.091Γ | 1100% | |
| π | np.right_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0212 | 0.0750 | 0.28Γ | 354% | |
| π‘ | np.right_shift(a, 2) (uint64) | uint64 | 10,000,000 | 14.9083 | 16.6474 | 0.90Γ | 112% | |
| β« | np.right_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0021 | 0.44Γ | 227% | |
| β | np.right_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0296 | 0.0095 | 3.12Γ | 32% | |
| β | np.right_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.7353 | 1.2943 | 2.89Γ | 35% |
Logic
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| βͺ | np.all(a) (bool) | bool | 1,000 | 0.0015 | - | - | - |
| βͺ | np.all(a) (bool) | bool | 100,000 | 0.0014 | - | - | - |
| βͺ | np.all(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - |
| βͺ | np.allclose(a, b) (float16) | float16 | 1,000 | 0.0305 | - | - | - |
| βͺ | np.allclose(a, b) (float16) | float16 | 100,000 | 1.7794 | - | - | - |
| βͺ | np.allclose(a, b) (float16) | float16 | 10,000,000 | 192.9692 | - | - | - |
| βͺ | np.allclose(a, b) (float32) | float32 | 1,000 | 0.0132 | - | - | - |
| βͺ | np.allclose(a, b) (float32) | float32 | 100,000 | 0.3660 | - | - | - |
| βͺ | np.allclose(a, b) (float32) | float32 | 10,000,000 | 55.8239 | - | - | - |
| βͺ | np.allclose(a, b) (float64) | float64 | 1,000 | 0.0165 | - | - | - |
| βͺ | np.allclose(a, b) (float64) | float64 | 100,000 | 0.6299 | - | - | - |
| βͺ | np.allclose(a, b) (float64) | float64 | 10,000,000 | 107.5215 | - | - | - |
| βͺ | np.any(a) (bool) | bool | 1,000 | 0.0015 | - | - | - |
| βͺ | np.any(a) (bool) | bool | 100,000 | 0.0017 | - | - | - |
| βͺ | np.any(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - |
| β | np.array_equal(a, b) (float16) | float16 | 1,000 | 0.0025 | 0.0013 | 1.90Γ | 53% |
| β | np.array_equal(a, b) (float16) | float16 | 100,000 | 0.0873 | 0.0697 | 1.25Γ | 80% |
| β | np.array_equal(a, b) (float16) | float16 | 10,000,000 | 9.5077 | 6.1828 | 1.54Γ | 65% |
| β« | np.array_equal(a, b) (float32) | float32 | 1,000 | 0.0016 | 0.0008 | 1.95Γ | 51% |
| π | np.array_equal(a, b) (float32) | float32 | 100,000 | 0.0067 | 0.0186 | 0.36Γ | 276% |
| β | np.array_equal(a, b) (float32) | float32 | 10,000,000 | 3.9686 | 3.4029 | 1.17Γ | 86% |
| β« | np.array_equal(a, b) (float64) | float64 | 1,000 | 0.0018 | 0.0007 | 2.36Γ | 42% |
| π | np.array_equal(a, b) (float64) | float64 | 100,000 | 0.0121 | 0.0248 | 0.49Γ | 204% |
| β | np.array_equal(a, b) (float64) | float64 | 10,000,000 | 6.8297 | 5.8386 | 1.17Γ | 86% |
| βͺ | np.isclose(a, b) (float16) | float16 | 1,000 | 0.0300 | - | - | - |
| βͺ | np.isclose(a, b) (float16) | float16 | 100,000 | 1.7764 | - | - | - |
| βͺ | np.isclose(a, b) (float16) | float16 | 10,000,000 | 195.6207 | - | - | - |
| βͺ | np.isclose(a, b) (float32) | float32 | 1,000 | 0.0113 | - | - | - |
| βͺ | np.isclose(a, b) (float32) | float32 | 100,000 | 0.3666 | - | - | - |
| βͺ | np.isclose(a, b) (float32) | float32 | 10,000,000 | 55.1472 | - | - | - |
| βͺ | np.isclose(a, b) (float64) | float64 | 1,000 | 0.0116 | - | - | - |
| βͺ | np.isclose(a, b) (float64) | float64 | 100,000 | 0.6275 | - | - | - |
| βͺ | np.isclose(a, b) (float64) | float64 | 10,000,000 | 104.7217 | - | - | - |
| β« | np.isfinite(a) (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.57Γ | 175% |
| β | np.isfinite(a) (float16) | float16 | 100,000 | 0.0496 | 0.0388 | 1.28Γ | 78% |
| β | np.isfinite(a) (float16) | float16 | 10,000,000 | 5.8734 | 3.1098 | 1.89Γ | 53% |
| β« | np.isfinite(a) (float32) | float32 | 1,000 | 0.0004 | 0.0012 | 0.33Γ | 302% |
| π΄ | np.isfinite(a) (float32) | float32 | 100,000 | 0.0059 | 0.0364 | 0.16Γ | 617% |
| π‘ | np.isfinite(a) (float32) | float32 | 10,000,000 | 3.3272 | 3.8128 | 0.87Γ | 115% |
| β« | np.isfinite(a) (float64) | float64 | 1,000 | 0.0005 | 0.0014 | 0.32Γ | 314% |
| π | np.isfinite(a) (float64) | float64 | 100,000 | 0.0098 | 0.0365 | 0.27Γ | 374% |
| π‘ | np.isfinite(a) (float64) | float64 | 10,000,000 | 5.3098 | 5.6920 | 0.93Γ | 107% |
| β« | np.isinf(a) (float16) | float16 | 1,000 | 0.0009 | 0.0012 | 0.76Γ | 132% |
| β | np.isinf(a) (float16) | float16 | 100,000 | 0.0506 | 0.0386 | 1.31Γ | 76% |
| β | np.isinf(a) (float16) | float16 | 10,000,000 | 6.0644 | 3.1035 | 1.95Γ | 51% |
| β« | np.isinf(a) (float32) | float32 | 1,000 | 0.0006 | 0.0013 | 0.41Γ | 241% |
| π΄ | np.isinf(a) (float32) | float32 | 100,000 | 0.0058 | 0.0416 | 0.14Γ | 721% |
| π‘ | np.isinf(a) (float32) | float32 | 10,000,000 | 3.0154 | 3.9983 | 0.75Γ | 133% |
| β« | np.isinf(a) (float64) | float64 | 1,000 | 0.0005 | 0.0015 | 0.32Γ | 312% |
| π | np.isinf(a) (float64) | float64 | 100,000 | 0.0101 | 0.0433 | 0.23Γ | 429% |
| π‘ | np.isinf(a) (float64) | float64 | 10,000,000 | 5.2606 | 5.9503 | 0.88Γ | 113% |
| β | np.isnan(a) (float16) | float16 | 1,000 | 0.0014 | 0.0012 | 1.12Γ | 89% |
| β | np.isnan(a) (float16) | float16 | 100,000 | 0.0692 | 0.0397 | 1.74Γ | 57% |
| β | np.isnan(a) (float16) | float16 | 10,000,000 | 7.7981 | 3.1130 | 2.50Γ | 40% |
| β« | np.isnan(a) (float32) | float32 | 1,000 | 0.0005 | 0.0016 | 0.34Γ | 298% |
| π΄ | np.isnan(a) (float32) | float32 | 100,000 | 0.0044 | 0.0482 | 0.092Γ | 1091% |
| π‘ | np.isnan(a) (float32) | float32 | 10,000,000 | 2.9244 | 4.7104 | 0.62Γ | 161% |
| β« | np.isnan(a) (float64) | float64 | 1,000 | 0.0004 | 0.0013 | 0.33Γ | 300% |
| π΄ | np.isnan(a) (float64) | float64 | 100,000 | 0.0085 | 0.0483 | 0.18Γ | 569% |
| π‘ | np.isnan(a) (float64) | float64 | 10,000,000 | 4.9310 | 6.0302 | 0.82Γ | 122% |
| β | np.maximum(a, b) (float16) | float16 | 1,000 | 0.0031 | 0.0030 | 1.02Γ | 98% |
| β | np.maximum(a, b) (float16) | float16 | 100,000 | 0.7598 | 0.6663 | 1.14Γ | 88% |
| β | np.maximum(a, b) (float16) | float16 | 10,000,000 | 80.9858 | 66.1452 | 1.22Γ | 82% |
| β« | np.maximum(a, b) (float32) | float32 | 1,000 | 0.0006 | 0.0013 | 0.45Γ | 223% |
| π | np.maximum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0343 | 0.25Γ | 407% |
| β | np.maximum(a, b) (float32) | float32 | 10,000,000 | 8.3101 | 4.3746 | 1.90Γ | 53% |
| β« | np.maximum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0018 | 0.31Γ | 323% |
| π | np.maximum(a, b) (float64) | float64 | 100,000 | 0.0293 | 0.0803 | 0.36Γ | 274% |
| π‘ | np.maximum(a, b) (float64) | float64 | 10,000,000 | 16.5750 | 17.2376 | 0.96Γ | 104% |
| β | np.minimum(a, b) (float16) | float16 | 1,000 | 0.0032 | 0.0031 | 1.03Γ | 97% |
| β | np.minimum(a, b) (float16) | float16 | 100,000 | 0.7620 | 0.6658 | 1.14Γ | 87% |
| β | np.minimum(a, b) (float16) | float16 | 10,000,000 | 81.4032 | 65.4062 | 1.25Γ | 80% |
| β« | np.minimum(a, b) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.42Γ | 240% |
| π | np.minimum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0345 | 0.24Γ | 411% |
| β | np.minimum(a, b) (float32) | float32 | 10,000,000 | 8.4413 | 4.4356 | 1.90Γ | 52% |
| β« | np.minimum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0013 | 0.44Γ | 228% |
| π | np.minimum(a, b) (float64) | float64 | 100,000 | 0.0290 | 0.0866 | 0.34Γ | 298% |
| π‘ | np.minimum(a, b) (float64) | float64 | 10,000,000 | 16.8958 | 20.5756 | 0.82Γ | 122% |
Statistics
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β | np.average(a) (float16) | float16 | 1,000 | 0.0054 | 0.0012 | 4.48Γ | 22% |
| β | np.average(a) (float16) | float16 | 100,000 | 0.1147 | 0.0798 | 1.44Γ | 70% |
| β | np.average(a) (float16) | float16 | 10,000,000 | 10.5817 | 8.0311 | 1.32Γ | 76% |
| β« | np.average(a) (float32) | float32 | 1,000 | 0.0042 | 0.0007 | 5.80Γ | 17% |
| β | np.average(a) (float32) | float32 | 100,000 | 0.0177 | 0.0032 | 5.57Γ | 18% |
| β | np.average(a) (float32) | float32 | 10,000,000 | 2.8186 | 0.9734 | 2.90Γ | 34% |
| β« | np.average(a) (float64) | float64 | 1,000 | 0.0029 | 0.0007 | 3.89Γ | 26% |
| β | np.average(a) (float64) | float64 | 100,000 | 0.0171 | 0.0040 | 4.26Γ | 23% |
| β | np.average(a) (float64) | float64 | 10,000,000 | 4.6529 | 2.8474 | 1.63Γ | 61% |
| β« | np.count_nonzero(a) (float16) | float16 | 1,000 | 0.0018 | 0.0008 | 2.29Γ | 44% |
| β | np.count_nonzero(a) (float16) | float16 | 100,000 | 0.1447 | 0.0436 | 3.32Γ | 30% |
| β | np.count_nonzero(a) (float16) | float16 | 10,000,000 | 15.7587 | 4.3062 | 3.66Γ | 27% |
| β« | np.count_nonzero(a) (float32) | float32 | 1,000 | 0.0006 | 0.0003 | 1.87Γ | 53% |
| β | np.count_nonzero(a) (float32) | float32 | 100,000 | 0.0438 | 0.0050 | 8.69Γ | 12% |
| β | np.count_nonzero(a) (float32) | float32 | 10,000,000 | 4.2117 | 1.6445 | 2.56Γ | 39% |
| β« | np.count_nonzero(a) (float64) | float64 | 1,000 | 0.0007 | 0.0004 | 1.82Γ | 55% |
| β | np.count_nonzero(a) (float64) | float64 | 100,000 | 0.0376 | 0.0090 | 4.19Γ | 24% |
| β | np.count_nonzero(a) (float64) | float64 | 10,000,000 | 5.6444 | 3.9133 | 1.44Γ | 69% |
| β | np.median(a) (float16) | float16 | 1,000 | 0.0144 | 0.0041 | 3.52Γ | 28% |
| π‘ | np.median(a) (float16) | float16 | 100,000 | 0.8796 | 1.2503 | 0.70Γ | 142% |
| β | np.median(a) (float16) | float16 | 10,000,000 | 105.7899 | 88.7294 | 1.19Γ | 84% |
| β | np.median(a) (float32) | float32 | 1,000 | 0.0110 | 0.0023 | 4.80Γ | 21% |
| π‘ | np.median(a) (float32) | float32 | 100,000 | 0.4686 | 0.6988 | 0.67Γ | 149% |
| π‘ | np.median(a) (float32) | float32 | 10,000,000 | 73.7480 | 79.7326 | 0.93Γ | 108% |
| β | np.median(a) (float64) | float64 | 1,000 | 0.0098 | 0.0023 | 4.23Γ | 24% |
| π‘ | np.median(a) (float64) | float64 | 100,000 | 0.4653 | 0.7089 | 0.66Γ | 152% |
| π‘ | np.median(a) (float64) | float64 | 10,000,000 | 86.4309 | 88.8375 | 0.97Γ | 103% |
| β | np.percentile(a, 50) (float16) | float16 | 1,000 | 0.0288 | 0.0041 | 6.97Γ | 14% |
| β | np.percentile(a, 50) (float16) | float16 | 100,000 | 1.7825 | 1.2489 | 1.43Γ | 70% |
| β | np.percentile(a, 50) (float16) | float16 | 10,000,000 | 113.4806 | 88.7652 | 1.28Γ | 78% |
| β | np.percentile(a, 50) (float32) | float32 | 1,000 | 0.0243 | 0.0023 | 10.61Γ | 9% |
| β | np.percentile(a, 50) (float32) | float32 | 100,000 | 0.7026 | 0.7007 | 1.00Γ | 100% |
| π‘ | np.percentile(a, 50) (float32) | float32 | 10,000,000 | 47.5374 | 79.7748 | 0.60Γ | 168% |
| β | np.percentile(a, 50) (float64) | float64 | 1,000 | 0.0258 | 0.0023 | 11.00Γ | 9% |
| π‘ | np.percentile(a, 50) (float64) | float64 | 100,000 | 0.7045 | 0.7086 | 0.99Γ | 101% |
| π‘ | np.percentile(a, 50) (float64) | float64 | 10,000,000 | 58.5689 | 88.9709 | 0.66Γ | 152% |
| β | np.ptp(a) (float16) | float16 | 1,000 | 0.0077 | 0.0037 | 2.10Γ | 48% |
| β | np.ptp(a) (float16) | float16 | 100,000 | 1.0004 | 0.6489 | 1.54Γ | 65% |
| β | np.ptp(a) (float16) | float16 | 10,000,000 | 103.1114 | 67.0357 | 1.54Γ | 65% |
| β | np.ptp(a) (float32) | float32 | 1,000 | 0.0035 | 0.0022 | 1.59Γ | 63% |
| β | np.ptp(a) (float32) | float32 | 100,000 | 0.0114 | 0.0080 | 1.44Γ | 70% |
| β | np.ptp(a) (float32) | float32 | 10,000,000 | 2.6949 | 2.4569 | 1.10Γ | 91% |
| β | np.ptp(a) (float64) | float64 | 1,000 | 0.0037 | 0.0020 | 1.88Γ | 53% |
| β | np.ptp(a) (float64) | float64 | 100,000 | 0.0200 | 0.0134 | 1.49Γ | 67% |
| β | np.ptp(a) (float64) | float64 | 10,000,000 | 6.9463 | 6.2250 | 1.12Γ | 90% |
| β | np.quantile(a, 0.5) (float16) | float16 | 1,000 | 0.0283 | 0.0041 | 6.89Γ | 14% |
| β | np.quantile(a, 0.5) (float16) | float16 | 100,000 | 1.7668 | 1.2481 | 1.42Γ | 71% |
| β | np.quantile(a, 0.5) (float16) | float16 | 10,000,000 | 112.7790 | 88.6407 | 1.27Γ | 79% |
| β | np.quantile(a, 0.5) (float32) | float32 | 1,000 | 0.0237 | 0.0023 | 10.32Γ | 10% |
| π‘ | np.quantile(a, 0.5) (float32) | float32 | 100,000 | 0.6938 | 0.7016 | 0.99Γ | 101% |
| π‘ | np.quantile(a, 0.5) (float32) | float32 | 10,000,000 | 47.6198 | 79.7894 | 0.60Γ | 168% |
| β | np.quantile(a, 0.5) (float64) | float64 | 1,000 | 0.0239 | 0.0023 | 10.21Γ | 10% |
| π‘ | np.quantile(a, 0.5) (float64) | float64 | 100,000 | 0.7004 | 0.7083 | 0.99Γ | 101% |
| π‘ | np.quantile(a, 0.5) (float64) | float64 | 10,000,000 | 58.1853 | 89.0162 | 0.65Γ | 153% |
Sorting
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| π‘ | np.argsort(a) (float32) | float32 | 1,000 | 0.0120 | 0.0223 | 0.54Γ | 186% |
| β | np.argsort(a) (float32) | float32 | 100,000 | 1.5922 | 1.0142 | 1.57Γ | 64% |
| β | np.argsort(a) (float32) | float32 | 10,000,000 | 1348.2730 | 132.4664 | 10.18Γ | 10% |
| π‘ | np.argsort(a) (float64) | float64 | 1,000 | 0.0104 | 0.0177 | 0.59Γ | 171% |
| π‘ | np.argsort(a) (float64) | float64 | 100,000 | 1.4280 | 2.5193 | 0.57Γ | 176% |
| β | np.argsort(a) (float64) | float64 | 10,000,000 | 1768.7035 | 251.4880 | 7.03Γ | 14% |
| π‘ | np.argsort(a) (int32) | int32 | 1,000 | 0.0113 | 0.0221 | 0.51Γ | 196% |
| π | np.argsort(a) (int32) | int32 | 100,000 | 0.4031 | 0.8504 | 0.47Γ | 211% |
| β | np.argsort(a) (int32) | int32 | 10,000,000 | 174.0979 | 107.5057 | 1.62Γ | 62% |
| π‘ | np.argsort(a) (int64) | int64 | 1,000 | 0.0131 | 0.0167 | 0.78Γ | 128% |
| π | np.argsort(a) (int64) | int64 | 100,000 | 0.4917 | 2.2549 | 0.22Γ | 459% |
| β | np.argsort(a) (int64) | int64 | 10,000,000 | 310.5208 | 188.5734 | 1.65Γ | 61% |
| β | np.nonzero(a) (float32) | float32 | 1,000 | 0.0027 | 0.0021 | 1.25Γ | 80% |
| β | np.nonzero(a) (float32) | float32 | 100,000 | 0.1988 | 0.1946 | 1.02Γ | 98% |
| β | np.nonzero(a) (float32) | float32 | 10,000,000 | 39.8712 | 14.1945 | 2.81Γ | 36% |
| β | np.nonzero(a) (float64) | float64 | 1,000 | 0.0029 | 0.0020 | 1.44Γ | 70% |
| π‘ | np.nonzero(a) (float64) | float64 | 100,000 | 0.1923 | 0.2002 | 0.96Γ | 104% |
| β | np.nonzero(a) (float64) | float64 | 10,000,000 | 42.6329 | 17.6206 | 2.42Γ | 41% |
| π‘ | np.nonzero(a) (int32) | int32 | 1,000 | 0.0017 | 0.0028 | 0.61Γ | 164% |
| π‘ | np.nonzero(a) (int32) | int32 | 100,000 | 0.1051 | 0.1932 | 0.54Γ | 184% |
| β | np.nonzero(a) (int32) | int32 | 10,000,000 | 20.1149 | 14.3503 | 1.40Γ | 71% |
| π‘ | np.nonzero(a) (int64) | int64 | 1,000 | 0.0018 | 0.0026 | 0.69Γ | 144% |
| π‘ | np.nonzero(a) (int64) | int64 | 100,000 | 0.1073 | 0.2034 | 0.53Γ | 190% |
| β | np.nonzero(a) (int64) | int64 | 10,000,000 | 23.7474 | 18.2560 | 1.30Γ | 77% |
| β | np.searchsorted(a, v) (float32) | float32 | 1,000 | 0.0083 | 0.0053 | 1.56Γ | 64% |
| β | np.searchsorted(a, v) (float32) | float32 | 100,000 | 2.0222 | 1.7299 | 1.17Γ | 86% |
| β | np.searchsorted(a, v) (float32) | float32 | 10,000,000 | 312.1823 | 191.5647 | 1.63Γ | 61% |
| β | np.searchsorted(a, v) (float64) | float64 | 1,000 | 0.0083 | 0.0053 | 1.56Γ | 64% |
| β | np.searchsorted(a, v) (float64) | float64 | 100,000 | 2.0961 | 1.7424 | 1.20Γ | 83% |
| β | np.searchsorted(a, v) (float64) | float64 | 10,000,000 | 310.2307 | 192.5449 | 1.61Γ | 62% |
| β | np.searchsorted(a, v) (int32) | int32 | 1,000 | 0.0190 | 0.0075 | 2.54Γ | 39% |
| β | np.searchsorted(a, v) (int32) | int32 | 100,000 | 2.8983 | 2.2559 | 1.28Γ | 78% |
| β | np.searchsorted(a, v) (int32) | int32 | 10,000,000 | 390.1343 | 243.3194 | 1.60Γ | 62% |
| β | np.searchsorted(a, v) (int64) | int64 | 1,000 | 0.0186 | 0.0071 | 2.61Γ | 38% |
| β | np.searchsorted(a, v) (int64) | int64 | 100,000 | 2.9016 | 2.2381 | 1.30Γ | 77% |
| β | np.searchsorted(a, v) (int64) | int64 | 10,000,000 | 568.2151 | 243.9343 | 2.33Γ | 43% |
LinearAlgebra
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.dot(a, b) (float64) | float64 | 1,000 | 0.0007 | 0.0007 | 1.06Γ | 94% |
| β | np.dot(a, b) (float64) | float64 | 100,000 | 0.1123 | 0.0093 | 12.05Γ | 8% |
| π | np.dot(a, b) (float64) | float64 | 10,000,000 | 0.8690 | 3.0303 | 0.29Γ | 349% |
| π | np.matmul(A, B) (float64) | float64 | 1,000 | 0.0027 | 0.0060 | 0.45Γ | 223% |
| π | np.matmul(A, B) (float64) | float64 | 100,000 | 0.5771 | 2.7815 | 0.21Γ | 482% |
| π΄ | np.matmul(A, B) (float64) | float64 | 10,000,000 | 0.6896 | 4.4742 | 0.15Γ | 649% |
| π | np.outer(a, b) (float64) | float64 | 1,000 | 0.0022 | 0.0061 | 0.35Γ | 284% |
| π‘ | np.outer(a, b) (float64) | float64 | 100,000 | 0.0380 | 0.0708 | 0.54Γ | 186% |
| β | np.outer(a, b) (float64) | float64 | 10,000,000 | 13.4954 | 11.7542 | 1.15Γ | 87% |
Selection
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.where(cond) (float64) | float64 | 1,000 | 0.0009 | 0.0014 | 0.66Γ | 152% |
| π | np.where(cond) (float64) | float64 | 100,000 | 0.0294 | 0.0981 | 0.30Γ | 333% |
| β | np.where(cond) (float64) | float64 | 10,000,000 | 7.4500 | 6.9913 | 1.07Γ | 94% |
| π‘ | np.where(cond, a, b) (float64) | float64 | 1,000 | 0.0017 | 0.0020 | 0.85Γ | 117% |
| π‘ | np.where(cond, a, b) (float64) | float64 | 100,000 | 0.0399 | 0.0688 | 0.58Γ | 173% |
| β | np.where(cond, a, b) (float64) | float64 | 10,000,000 | 17.1294 | 14.8189 | 1.16Γ | 86% |
NDIter iterator benchmark
Complementary harness: measures the iterator machinery itself (construction, traversal, reductions, selection, dtypes, pathologies, dividends) across cache tiers β not part of the op/dtype/N matrix above. speedup = NumPy / NumSharp; NA = section ignored due to a known intermittent NumSharp AccessViolation.
NumSharp NDIter β canonical benchmark Β· 2026-06-29 Β· speedup = NumPy Γ· NumSharp (>1.0Γ = NumSharp faster)
198 measured pairs (35 NA) Β· best-of-rounds, Release Β· matched kernels/ids
%NumPyπ = NumSharp Γ· NumPy Γ 100 = share of NumPy's time NumSharp uses (8% = takes only 8% as long; <100% = faster)
AV POLICY β a NumSharp section that crashes all retries (known intermittent
AccessViolation, an unmanaged-storage lifetime bug) is reported NA / IGNORED
and excluded from every geomean below. THIS RUN: NA across selection.
HEADLINE β operation matrix: 1.20Γ geomean Β· 83%π of NumPy's time Β· 77 win / 53 lose over 130 cells
OPERATIONS β BY SIZE TIER (geomean over all families)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
scalar βββββββββββββ ...... 1.26Γ 79%π ( 17 win / 9 lose)
1K ββββββββββββ ....... 1.16Γ 86%π ( 15 win / 11 lose)
100K βββββββββββ ........ 1.07Γ 94%π ( 12 win / 14 lose)
1M βββββββββββββ ...... 1.30Γ 77%π ( 17 win / 9 lose)
10M βββββββββββββ ...... 1.23Γ 82%π ( 16 win / 10 lose)
ALL ββββββββββββ ....... 1.20Γ 83%π ( 77 win / 53 lose)
OPERATIONS β BY CATEGORY (geomean over its families, all sizes)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
elementwiseβββββββββββββ ...... 1.28Γ 78%π ( 31 win / 9 lose)
reductions ββββββββββββββββββ 1.74Γ 57%π ( 29 win / 11 lose)
selection (no data)
copy/cast ββββββββ ........... 0.73Γ 138%π ( 9 win / 16 lose) β SLOWER
index-math ββββββββ ........... 0.77Γ 130%π ( 4 win / 6 lose) β SLOWER
dtypes ββββββββββββ ....... 1.16Γ 86%π ( 4 win / 11 lose)
CATEGORY Γ TIER geomean
category scalar 1K 100K 1M 10M
elementwise 1.65Γ 1.54Γ 1.14Γ 1.10Γ 1.08Γ
reductions 2.68Γ 2.00Γ 1.51Γ 1.43Γ 1.38Γ
selection - - - - -
copy/cast 0.59Γ 0.53Γ 0.41Γ 1.40Γ 1.12Γ
index-math 0.34Γ 0.51Γ 0.99Γ 1.23Γ 1.26Γ
dtypes 0.70Γ 0.81Γ 1.87Γ 1.39Γ 1.44Γ
PER-FAMILY Γ TIER (NumPy Γ· NumSharp; >1.0 = NumSharp faster)
family scalar 1K 100K 1M 10M geomean
-- elementwise
add 1.61Γ 1.43Γ 0.96Γ 1.00Γ 1.02Γ 1.18Γ
sqrt 1.67Γ 1.16Γ 1.01Γ 1.00Γ 1.01Γ 1.15Γ
copy 1.67Γ 2.35Γ 1.62Γ 1.39Γ 1.64Γ 1.71Γ
strided 1.65Γ 1.28Γ 0.93Γ 1.01Γ 0.99Γ 1.15Γ
bcast 1.68Γ 1.32Γ 0.89Γ 0.95Γ 0.95Γ 1.12Γ
reversed 1.65Γ 1.26Γ 0.93Γ 0.99Γ 0.95Γ 1.13Γ
castbuf 1.87Γ 2.20Γ 1.63Γ 1.36Γ 1.12Γ 1.59Γ
mixbuf 1.42Γ 1.72Γ 1.41Γ 1.20Γ 1.07Γ 1.35Γ
-- reductions
sum 1.92Γ 1.85Γ 2.58Γ 1.76Γ 1.60Γ 1.92Γ
sum ax0 1.71Γ 0.86Γ 1.10Γ 0.96Γ 0.96Γ 1.09Γ
sum ax1 1.81Γ 0.92Γ 1.52Γ 1.79Γ 1.58Γ 1.48Γ
sum dt= 1.89Γ 1.35Γ 0.48Γ 0.46Γ 0.54Γ 0.79Γ
amin 1.69Γ 1.62Γ 0.71Γ 0.71Γ 0.76Γ 1.01Γ
cumsum 1.35Γ 1.13Γ 1.07Γ 1.87Γ 1.65Γ 1.38Γ
any(F) 10.04Γ 8.39Γ 2.00Γ 1.23Γ 1.00Γ 2.90Γ
any(hit) 10.25Γ 8.49Γ 8.50Γ 7.88Γ 7.98Γ 8.58Γ
-- selection
where NA NA NA NA NA
a[mask] NA NA NA NA NA
a[mask]= NA NA NA NA NA
count_nz NA NA NA NA NA
argwhere NA NA NA NA NA
a[idx] NA NA NA NA NA
a[idx]= NA NA NA NA NA
-- copy/cast
flatten 0.41Γ 0.33Γ 0.17Γ 2.21Γ 1.13Γ 0.56Γ
astype 0.31Γ 0.53Γ 0.54Γ 1.94Γ 1.89Γ 0.80Γ
ravel.T 0.50Γ 0.58Γ 0.53Γ 2.22Γ 1.09Γ 0.82Γ
in-place 1.45Γ 0.77Γ 0.96Γ 1.03Γ 1.04Γ 1.03Γ
less->b 0.81Γ 0.52Γ 0.25Γ 0.55Γ 0.75Γ 0.53Γ
-- index-math
unravel 0.36Γ 0.50Γ 0.96Γ 1.00Γ 1.04Γ 0.71Γ
ravel_mi 0.32Γ 0.53Γ 1.01Γ 1.53Γ 1.54Γ 0.83Γ
-- dtypes
complex 0.71Γ 0.58Γ 0.97Γ 0.77Γ 0.93Γ 0.78Γ
float16 0.72Γ 0.64Γ 0.58Γ 0.56Γ 0.57Γ 0.61Γ
int8 0.66Γ 1.43Γ 11.53Γ 6.16Γ 5.66Γ 3.28Γ
CONSTRUCTION β iterator build+dispose vs np.nditer (size-invariant, 1K)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
1op ββββββββββ ......... 0.97Γ 103%π ( 0 win / 1 lose) β SLOWER
3op_exl ββββββββββββββββββββΆ 2.44Γ 41%π ( 1 win / 0 lose)
ufunc ββββββββββββββββββββΆ 2.91Γ 34%π ( 1 win / 0 lose)
bufcast ββββββββββββββββββββΆ 2.56Γ 39%π ( 1 win / 0 lose)
multiindex ββββββββββββββ ..... 1.40Γ 72%π ( 1 win / 0 lose)
8op ββββββββββββββββββββΆ 3.67Γ 27%π ( 1 win / 0 lose)
4d ββββββββββββββββββ 1.78Γ 56%π ( 1 win / 0 lose)
8d βββββββββββββββββββ 1.85Γ 54%π ( 1 win / 0 lose)
strided2d ββββββββββββββββββββ 1.95Γ 51%π ( 1 win / 0 lose)
geomean ββββββββββββββββββββΆ 2.03Γ 49%π ( 8 win / 1 lose)
CHUNK-WIDTH dispatch β strided rows, 2M total, inner width w (NumPy = np.positive)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
w=4 βββββββ ............ 0.69Γ 145%π ( 0 win / 1 lose) β SLOWER
w=16 ββββββββββ ......... 0.98Γ 102%π ( 0 win / 1 lose) β PARITY
w=64 βββββββββββ ........ 1.02Γ 98%π ( 1 win / 0 lose) β PARITY
w=256 βββββββββββββββ .... 1.45Γ 69%π ( 1 win / 0 lose)
w=1024 βββββββββββββ ...... 1.31Γ 76%π ( 1 win / 0 lose)
PATHOLOGY canaries β known taxes/losses to track (NumPy Γ· NumSharp)
bcast_reduce 522.42Γ (522.4Γ faster, faster)
allocate 1.06Γ (1.1Γ faster, faster)
overlap_copy 1.77Γ (1.8Γ faster, faster)
forder_out 1.17Γ (1.2Γ faster, faster)
zerodim 1.55Γ (1.6Γ faster, faster)
DIVIDENDS β NumSharp-only machinery (NumPy baseline = closest it can do)
scalar 1K 100K 1M 10M note
fuse7 12.55Γ 3.86Γ 1.44Γ 1.67Γ 2.09Γ vs chained 6Γ add
reuse 6.06Γ 6.12Γ 1.07Γ 1.00Γ 1.00Γ vs rebuild each call
par8 - 0.67Γ 2.78Γ 3.95Γ 5.40Γ vs single-thread
biggest NumSharp wins: i8@100K 11.53Γ Β· anyeh@1 10.25Γ Β· anyff@1 10.04Γ Β· anyeh@100K 8.50Γ Β· anyeh@1K 8.49Γ
most behind: flatten@100K 0.17Γ Β· lessbool@100K 0.25Γ Β· astype@1 0.31Γ Β· ravelmi@1 0.32Γ Β· flatten@1K 0.33Γ
Layout suite β reduction / copy / elementwise Γ memory layout Γ dtype
ratio = NumPy_ms / NumSharp_ms β >1.0 = NumSharp faster. β
β₯1.0 π‘β₯0.5 π β₯0.2 π΄<0.2.
Layouts (8, harmonized with the cast subsystem): C, F (Fortran), T (transpose), strided [:, ::2], sliced (offset), negrow [::-1,:], negcol [:,::-1], bcast (stride-0). Fills the op-matrix's blind spot (it measures C-contiguous only). 100K + 1M elements, best-of-rounds.
Reduction (sum/min/max/prod, both axes)
Geomean by lay
| size | C | F | T | strided | negrow | negcol | sliced | bcast |
|---|---|---|---|---|---|---|---|---|
| 100K | 0.99 π‘ | 1.02 β | 1.02 β | 0.55 π‘ | 0.70 π‘ | 0.70 π‘ | 0.72 π‘ | 0.74 π‘ |
| 1M | 0.95 π‘ | 0.94 π‘ | 0.95 π‘ | 0.65 π‘ | 0.87 π‘ | 0.73 π‘ | 0.75 π‘ | 0.68 π‘ |
Geomean by dt
| size | f64 | f32 | c128 | dec | f16 | i32 | i64 |
|---|---|---|---|---|---|---|---|
| 100K | 0.87 π‘ | 1.00 π‘ | 0.98 π‘ | 0.08 π΄ | 1.03 β | 1.33 β | 1.14 β |
| 1M | 1.12 β | 1.15 β | 1.04 β | 0.07 π΄ | 1.02 β | 1.19 β | 1.02 β |
Geomean by op
| size | sum | min | max | prod |
|---|---|---|---|---|
| 100K | 0.80 π‘ | 0.66 π‘ | 0.66 π‘ | 1.19 β |
| 1M | 0.84 π‘ | 0.65 π‘ | 0.64 π‘ | 1.28 β |
Worst 15 cells (NumSharp slowest vs NumPy)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| 1M|dec|bcast|sum|ax0 | 5.5269 | 0.0655 | 0.01 π΄ |
| 100K|dec|bcast|sum|ax0 | 0.5555 | 0.0087 | 0.02 π΄ |
| 100K|dec|F|sum|ax1 | 0.5585 | 0.0094 | 0.02 π΄ |
| 100K|dec|C|sum|ax0 | 0.5615 | 0.0111 | 0.02 π΄ |
| 100K|dec|T|sum|ax1 | 0.5582 | 0.0111 | 0.02 π΄ |
| 100K|dec|negrow|sum|ax0 | 0.5592 | 0.0114 | 0.02 π΄ |
| 100K|dec|sliced|sum|ax0 | 0.5517 | 0.0115 | 0.02 π΄ |
| 1M|dec|sliced|sum|ax0 | 5.5802 | 0.1240 | 0.02 π΄ |
| 1M|dec|negrow|sum|ax0 | 5.5707 | 0.1242 | 0.02 π΄ |
| 1M|dec|F|sum|ax1 | 5.6157 | 0.1254 | 0.02 π΄ |
| 1M|dec|T|sum|ax1 | 5.5849 | 0.1278 | 0.02 π΄ |
| 1M|dec|C|sum|ax0 | 5.5736 | 0.1524 | 0.03 π΄ |
| 100K|dec|C|min|ax0 | 0.3021 | 0.0141 | 0.05 π΄ |
| 1M|dec|negcol|sum|ax0 | 5.6678 | 0.2866 | 0.05 π΄ |
| 100K|dec|negcol|sum|ax0 | 0.5594 | 0.0302 | 0.05 π΄ |
Copy / identity-ufunc (np.positive)
Geomean by lay
| size | C | F | T | strided | sliced | negrow | negcol | bcast |
|---|---|---|---|---|---|---|---|---|
| 100K | 1.22 β | 1.51 β | 1.28 β | 0.83 π‘ | 1.54 β | 1.48 β | 2.20 β | 1.62 β |
| 1M | 2.82 β | 2.89 β | 2.88 β | 2.08 β | 2.58 β | 2.64 β | 3.16 β | 2.66 β |
Geomean by dt
| size | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 100K | 0.92 π‘ | 1.03 β | 1.51 β | 1.99 β | 1.02 β | 1.09 β | 1.65 β | 1.08 β | 2.56 β | 2.47 β | 1.15 β | 0.85 π‘ | 2.56 β |
| 1M | 4.60 β | 4.87 β | 2.13 β | 2.14 β | 2.11 β | 2.12 β | 2.56 β | 2.46 β | 2.20 β | 2.10 β | 2.14 β | 2.59 β | 5.47 β |
Worst 15 cells (NumSharp slowest vs NumPy)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| 100K|f64|strided|pos | 0.0243 | 0.0100 | 0.41 π |
| 100K|u64|strided|pos | 0.0241 | 0.0110 | 0.46 π |
| 100K|i64|strided|pos | 0.0237 | 0.0109 | 0.46 π |
| 100K|f32|strided|pos | 0.0216 | 0.0100 | 0.46 π |
| 100K|i32|strided|pos | 0.0213 | 0.0110 | 0.52 π‘ |
| 100K|i64|C|pos | 0.0400 | 0.0210 | 0.53 π‘ |
| 100K|i64|T|pos | 0.0387 | 0.0208 | 0.54 π‘ |
| 100K|i8|sliced|pos | 0.0423 | 0.0228 | 0.54 π‘ |
| 100K|u8|bcast|pos | 0.0416 | 0.0229 | 0.55 π‘ |
| 100K|u8|sliced|pos | 0.0410 | 0.0227 | 0.55 π‘ |
| 100K|u8|negrow|pos | 0.0410 | 0.0231 | 0.56 π‘ |
| 100K|u32|strided|pos | 0.0191 | 0.0109 | 0.57 π‘ |
| 100K|f64|T|pos | 0.0389 | 0.0227 | 0.58 π‘ |
| 100K|f64|F|pos | 0.0362 | 0.0227 | 0.63 π‘ |
| 100K|f64|C|pos | 0.0361 | 0.0228 | 0.63 π‘ |
Elementwise (add/mul/neg/abs/sqrt/less/copy)
Geomean by lay
| size | C | F | T | strided | sliced | negrow | negcol | bcast |
|---|---|---|---|---|---|---|---|---|
| 100K | 0.73 π‘ | 0.70 π‘ | 0.68 π‘ | 0.53 π‘ | 0.84 π‘ | 0.85 π‘ | 1.18 β | 0.85 π‘ |
| 1M | 1.54 β | 1.48 β | 1.48 β | 1.12 β | 1.64 β | 1.65 β | 1.80 β | 1.63 β |
Geomean by dt
| size | f64 | f32 | c128 | f16 | i32 | i64 |
|---|---|---|---|---|---|---|
| 100K | 0.67 π‘ | 0.57 π‘ | 1.15 β | 0.75 π‘ | 0.82 π‘ | 0.81 π‘ |
| 1M | 1.86 β | 1.53 β | 1.73 β | 0.94 π‘ | 1.54 β | 1.79 β |
Geomean by op
| size | add | mul | neg | abs | sqrt | less | copy |
|---|---|---|---|---|---|---|---|
| 100K | 1.04 β | 0.99 π‘ | 0.76 π‘ | 0.74 π‘ | 0.94 π‘ | 0.61 π‘ | 0.51 π‘ |
| 1M | 1.81 β | 1.78 β | 2.11 β | 1.62 β | 1.50 β | 0.68 π‘ | 1.75 β |
Worst 15 cells (NumSharp slowest vs NumPy)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| 100K|f64|strided|abs | 0.0466 | 0.0077 | 0.17 π΄ |
| 100K|f64|strided|neg | 0.0473 | 0.0088 | 0.19 π΄ |
| 100K|i32|bcast|copy | 0.0233 | 0.0050 | 0.21 π |
| 100K|f16|bcast|copy | 0.0134 | 0.0030 | 0.22 π |
| 100K|f16|negrow|copy | 0.0168 | 0.0038 | 0.23 π |
| 100K|f32|C|copy | 0.0244 | 0.0059 | 0.24 π |
| 100K|i64|strided|neg | 0.0296 | 0.0076 | 0.26 π |
| 100K|f64|strided|copy | 0.0413 | 0.0108 | 0.26 π |
| 100K|f64|negrow|copy | 0.0595 | 0.0160 | 0.27 π |
| 100K|f16|sliced|copy | 0.0134 | 0.0037 | 0.27 π |
| 100K|f64|sliced|copy | 0.0592 | 0.0162 | 0.27 π |
| 100K|i32|negrow|copy | 0.0234 | 0.0064 | 0.28 π |
| 100K|f32|C|add | 0.0240 | 0.0066 | 0.28 π |
| 100K|f64|strided|mul | 0.0509 | 0.0142 | 0.28 π |
| 100K|f64|strided|add | 0.0516 | 0.0147 | 0.28 π |
Operand & broadcast layouts β 1-D / scalar / mixed-operand / broadcast
The layout classes the per-operand layout grid (benchmark/layout) can't express. ratio = NumPy_ms / NumSharp_ms β >1.0 = NumSharp faster. β β₯1.0 π‘β₯0.5 π β₯0.2 π΄<0.2. 1M elements, best-of-3.
| case | f64 | f32 | f16 | i32 | i64 | c128 | geomean |
|---|---|---|---|---|---|---|---|
| 1-D contiguous (a+a) | 2.41 β | 2.16 β | 0.63 π‘ | 2.13 β | 2.45 β | 2.35 β | 1.85 β |
| 1-D strided a[::2] | 1.84 β | 1.46 β | 0.53 π‘ | 1.51 β | 1.81 β | 1.93 β | 1.40 β |
| 1-D reversed a[::-1] | 2.49 β | 1.95 β | 0.56 π‘ | 2.14 β | 2.29 β | 2.22 β | 1.76 β |
| array + scalar | 2.72 β | 1.93 β | 0.63 π‘ | 1.91 β | 2.26 β | 2.64 β | 1.83 β |
| scalar + array | 2.40 β | 1.98 β | 0.64 π‘ | 2.01 β | 2.19 β | 2.69 β | 1.82 β |
| mixed C + F | 2.29 β | 2.02 β | 0.62 π‘ | 2.02 β | 2.09 β | 1.87 β | 1.68 β |
| mixed C + T | 2.53 β | 2.04 β | 0.62 π‘ | 2.01 β | 2.33 β | 2.30 β | 1.80 β |
| binary broadcast +row(1,C) | 2.71 β | 2.09 β | 0.63 π‘ | 1.95 β | 2.52 β | 2.58 β | 1.89 β |
| binary broadcast +col(R,1) | 2.61 β | 2.02 β | 0.56 π‘ | 2.07 β | 2.54 β | 2.96 β | 1.89 β |
| col-broadcast unary (inner stride-0) | 2.54 β | 1.56 β | 0.88 π‘ | 1.65 β | 2.64 β | 6.22 β | 2.13 β |
Worst 12 cells
| key | NumSharp ms | NumPy ms | ratio | |
|---|---|---|---|---|
| 1d_strided | f16 | 2.6261 | 1.3926 | 0.53 π‘ |
| 1d_rev | f16 | 5.2838 | 2.9653 | 0.56 π‘ |
| bcast_col | f16 | 5.2887 | 2.9837 | 0.56 π‘ |
| mix_C_T | f16 | 5.3031 | 3.2873 | 0.62 π‘ |
| mix_C_F | f16 | 5.3153 | 3.3015 | 0.62 π‘ |
| 1d_C | f16 | 4.7456 | 2.9682 | 0.63 π‘ |
| bcast_row | f16 | 4.7695 | 2.9999 | 0.63 π‘ |
| scalar_rhs | f16 | 4.7058 | 2.9602 | 0.63 π‘ |
| scalar_lhs | f16 | 4.6383 | 2.9742 | 0.64 π‘ |
| colbcast_unary | f16 | 0.4753 | 0.4173 | 0.88 π‘ |
| 1d_strided | f32 | 0.2366 | 0.3444 | 1.46 β |
| 1d_strided | i32 | 0.2433 | 0.3676 | 1.51 β |
60 comparable cells.
Cast matrix β astype srcβdst Γ layout Γ dtype
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).
Fusion β np.evaluate vs unfused chains
np.evaluate runs a whole expression tree in one NDIter pass (no intermediates). Fixed-expression gate plus an operand-layout sweep of the flagship a*b+c (C/F/T/strided/bcast β does the fused single-pass win survive non-contiguous operands?), not a dtype/layout matrix β so reported as-is.
NumSharp β fused np.evaluate vs unfused np.* chains (4M elements, best-of-9; (Nx) = unfused Γ· fused, >1 = fusion faster):
correctness cross-checks ok
4M float64, best of 9:
a*b+c fused 3.53 ms unfused 6.08 ms (1.72x)
(a-b)/(a+b) fused 3.16 ms unfused 12.32 ms (3.90x)
sum(a*b) fused 2.30 ms unfused 4.33 ms (1.88x)
sum(af*bf) fused 1.43 ms unfused 1.57 ms (1.10x) [f32]
a*b+c out= fused 3.56 ms [1-pass fused-into-out]
i4*2+f8 fused 2.78 ms unfused 4.04 ms (1.45x)
a*b+c across operand layouts (2-D 2000x2000, all 3 operands same layout):
[C ] fused 3.43 ms unfused 6.05 ms (1.77x)
[F ] fused 3.52 ms unfused 6.18 ms (1.75x)
[T ] fused 3.50 ms unfused 6.27 ms (1.79x)
[strided] fused 3.31 ms unfused 4.72 ms (1.43x)
[bcast ] fused 1.06 ms unfused 3.75 ms (3.53x)
NumPy β absolutes on the same box (context for the unfused column):
numpy 2.4.2, 4M float64, best of 9:
a*b+c 12.35 ms
(a-b)/(a+b) 18.75 ms
sum(a*b) 8.60 ms
sum(af*bf) 4.14 ms [f32]
a*b+c out= 4.68 ms [two-pass with out=]
i4*2+f8 9.67 ms
a*b+c across operand layouts (2-D 2000x2000, unfused):
[C ] 12.52 ms
[F ] 12.54 ms
[T ] 12.51 ms
[strided] 7.91 ms
[bcast ] 11.95 ms