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 | β 792 | π‘ 357 | π 177 | π΄ 72 | β« 384 | βͺ 69
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 | 115 | 69 | 27 | 13 | 366 | 25 | 1.14x | 87% |
| 50,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - |
| 100,000 | 615 | 280 | 138 | 119 | 48 | 9 | 21 | 0.90x | 111% |
| 5,000,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - |
| 10,000,000 | 615 | 397 | 150 | 31 | 11 | 9 | 17 | 1.26x | 80% |
π Top 15 Best (NumSharp fastest vs NumPy)
Ranked over 1398 credible comparisons (both sides β₯1Β΅s, within 20Γ); 384 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.dot(a, b) (float64) | float64 | 100,000 | 0.099 | 0.007 | 14.17Γ | 7% |
| β | np.prod (float64) | float64 | 100,000 | 2.336 | 0.170 | 13.75Γ | 7% |
| β | np.nanstd(a) (float64) | float64 | 1,000 | 0.020 | 0.002 | 13.33Γ | 8% |
| β | np.nanstd(a) (float16) | float16 | 1,000 | 0.034 | 0.003 | 12.50Γ | 8% |
| β | np.percentile(a, 50) (float64) | float64 | 1,000 | 0.030 | 0.003 | 12.18Γ | 8% |
| β | np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.028 | 0.002 | 11.86Γ | 8% |
| β | np.nanvar(a) (float16) | float16 | 1,000 | 0.032 | 0.003 | 11.67Γ | 9% |
| β | np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.027 | 0.002 | 11.51Γ | 9% |
| β | np.nanpercentile(a, 50) (float64) | float64 | 1,000 | 0.030 | 0.003 | 11.42Γ | 9% |
| β | np.nanvar(a) (float64) | float64 | 1,000 | 0.017 | 0.002 | 11.42Γ | 9% |
| β | np.nanstd(a) (float32) | float32 | 1,000 | 0.019 | 0.002 | 11.39Γ | 9% |
| β | np.nanvar(a) (float32) | float32 | 1,000 | 0.019 | 0.002 | 11.19Γ | 9% |
| β | np.sum axis=0 (int8) | int8 | 10,000,000 | 4.456 | 0.399 | 11.16Γ | 9% |
| β | np.sum axis=0 (int8) | int8 | 100,000 | 0.047 | 0.004 | 10.78Γ | 9% |
| β | np.percentile(a, 50) (float32) | float32 | 1,000 | 0.024 | 0.002 | 10.51Γ | 10% |
π» Top 15 Worst (Optimization priorities)
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| π΄ | np.left_shift(a, 2) (int32) | int32 | 100,000 | 0.019 | 0.390 | 0.049Γ | 2035% |
| π΄ | np.left_shift(a, 2) (uint64) | uint64 | 100,000 | 0.020 | 0.392 | 0.050Γ | 1992% |
| π΄ | np.left_shift(a, 2) (int64) | int64 | 100,000 | 0.020 | 0.392 | 0.051Γ | 1945% |
| π΄ | np.left_shift(a, 2) (uint32) | uint32 | 100,000 | 0.020 | 0.391 | 0.051Γ | 1944% |
| π΄ | np.right_shift(a, 2) (uint64) | uint64 | 100,000 | 0.021 | 0.393 | 0.052Γ | 1908% |
| π΄ | np.right_shift(a, 2) (uint32) | uint32 | 100,000 | 0.020 | 0.390 | 0.052Γ | 1930% |
| π΄ | np.zeros_like (float64) | float64 | 1,000 | 0.001 | 0.015 | 0.068Γ | 1471% |
| π΄ | np.right_shift(a, 2) (int64) | int64 | 100,000 | 0.029 | 0.393 | 0.074Γ | 1357% |
| π΄ | np.right_shift(a, 2) (int32) | int32 | 100,000 | 0.029 | 0.390 | 0.074Γ | 1353% |
| π΄ | np.right_shift(a, 2) (uint16) | uint16 | 100,000 | 0.029 | 0.387 | 0.074Γ | 1355% |
| π΄ | np.left_shift(a, 2) (int16) | int16 | 100,000 | 0.028 | 0.381 | 0.074Γ | 1350% |
| π΄ | np.sum (float64) | float64 | 100,000 | 0.016 | 0.214 | 0.074Γ | 1345% |
| π΄ | np.left_shift(a, 2) (uint8) | uint8 | 100,000 | 0.028 | 0.375 | 0.075Γ | 1330% |
| π΄ | np.left_shift(a, 2) (uint16) | uint16 | 100,000 | 0.029 | 0.388 | 0.076Γ | 1322% |
| π΄ | np.right_shift(a, 2) (uint8) | uint8 | 100,000 | 0.029 | 0.376 | 0.076Γ | 1315% |
Arithmetic
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| π‘ | a % 7 (literal) (float32) | float32 | 1,000 | 0.0142 | 0.0165 | 0.86Γ | 116% |
| π‘ | a % 7 (literal) (float32) | float32 | 100,000 | 1.6193 | 1.8327 | 0.88Γ | 113% |
| π‘ | a % 7 (literal) (float32) | float32 | 10,000,000 | 165.1953 | 184.8168 | 0.89Γ | 112% |
| π‘ | a % 7 (literal) (float64) | float64 | 1,000 | 0.0113 | 0.0189 | 0.60Γ | 168% |
| π‘ | a % 7 (literal) (float64) | float64 | 100,000 | 1.4311 | 1.6867 | 0.85Γ | 118% |
| π‘ | a % 7 (literal) (float64) | float64 | 10,000,000 | 150.3030 | 165.2969 | 0.91Γ | 110% |
| π‘ | a % 7 (literal) (int32) | int32 | 1,000 | 0.0022 | 0.0042 | 0.54Γ | 187% |
| π‘ | a % 7 (literal) (int32) | int32 | 100,000 | 0.3976 | 0.6615 | 0.60Γ | 166% |
| π‘ | a % 7 (literal) (int32) | int32 | 10,000,000 | 46.0503 | 67.4094 | 0.68Γ | 146% |
| π‘ | a % 7 (literal) (int64) | int64 | 1,000 | 0.0043 | 0.0063 | 0.69Γ | 145% |
| π‘ | a % 7 (literal) (int64) | int64 | 100,000 | 0.4006 | 0.6741 | 0.59Γ | 168% |
| π‘ | a % 7 (literal) (int64) | int64 | 10,000,000 | 50.6103 | 73.6394 | 0.69Γ | 146% |
| β | a % b (element-wise) (float32) | float32 | 1,000 | 0.0119 | 0.0117 | 1.02Γ | 98% |
| π‘ | a % b (element-wise) (float32) | float32 | 100,000 | 1.4839 | 1.5770 | 0.94Γ | 106% |
| π‘ | a % b (element-wise) (float32) | float32 | 10,000,000 | 153.9273 | 163.2286 | 0.94Γ | 106% |
| β | a % b (element-wise) (float64) | float64 | 1,000 | 0.0097 | 0.0091 | 1.06Γ | 94% |
| π‘ | a % b (element-wise) (float64) | float64 | 100,000 | 1.2816 | 1.4386 | 0.89Γ | 112% |
| π‘ | a % b (element-wise) (float64) | float64 | 10,000,000 | 136.3744 | 147.5928 | 0.92Γ | 108% |
| π‘ | a % b (element-wise) (int32) | int32 | 1,000 | 0.0020 | 0.0033 | 0.62Γ | 162% |
| π‘ | a % b (element-wise) (int32) | int32 | 100,000 | 0.3675 | 0.5980 | 0.61Γ | 163% |
| π‘ | a % b (element-wise) (int32) | int32 | 10,000,000 | 42.8057 | 60.0063 | 0.71Γ | 140% |
| π‘ | a % b (element-wise) (int64) | int64 | 1,000 | 0.0035 | 0.0039 | 0.91Γ | 110% |
| π‘ | a % b (element-wise) (int64) | int64 | 100,000 | 0.3695 | 0.5992 | 0.62Γ | 162% |
| π‘ | a % b (element-wise) (int64) | int64 | 10,000,000 | 49.1915 | 67.0192 | 0.73Γ | 136% |
| π | a * 2 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0040 | 0.28Γ | 357% |
| β | a * 2 (literal) (complex128) | complex128 | 100,000 | 0.2823 | 0.2208 | 1.28Γ | 78% |
| β | a * 2 (literal) (complex128) | complex128 | 10,000,000 | 31.0176 | 25.6395 | 1.21Γ | 83% |
| π‘ | a * 2 (literal) (float16) | float16 | 1,000 | 0.0046 | 0.0062 | 0.74Γ | 135% |
| π‘ | a * 2 (literal) (float16) | float16 | 100,000 | 0.2800 | 0.4677 | 0.60Γ | 167% |
| π‘ | a * 2 (literal) (float16) | float16 | 10,000,000 | 30.4948 | 46.4060 | 0.66Γ | 152% |
| β« | a * 2 (literal) (float32) | float32 | 1,000 | 0.0007 | 0.0037 | 0.20Γ | 504% |
| π | a * 2 (literal) (float32) | float32 | 100,000 | 0.0063 | 0.0282 | 0.22Γ | 449% |
| β | a * 2 (literal) (float32) | float32 | 10,000,000 | 7.8622 | 5.1811 | 1.52Γ | 66% |
| β« | a * 2 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0047 | 0.17Γ | 604% |
| π | a * 2 (literal) (float64) | float64 | 100,000 | 0.0118 | 0.0573 | 0.20Γ | 487% |
| β | a * 2 (literal) (float64) | float64 | 10,000,000 | 15.8476 | 13.6947 | 1.16Γ | 86% |
| β« | a * 2 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0034 | 0.29Γ | 338% |
| β | a * 2 (literal) (int16) | int16 | 100,000 | 0.0216 | 0.0203 | 1.06Γ | 94% |
| β | a * 2 (literal) (int16) | int16 | 10,000,000 | 4.2690 | 2.4718 | 1.73Γ | 58% |
| β« | a * 2 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0025 | 0.39Γ | 256% |
| π‘ | a * 2 (literal) (int32) | int32 | 100,000 | 0.0217 | 0.0279 | 0.78Γ | 128% |
| β | a * 2 (literal) (int32) | int32 | 10,000,000 | 7.6682 | 5.0877 | 1.51Γ | 66% |
| β« | a * 2 (literal) (int64) | int64 | 1,000 | 0.0009 | 0.0046 | 0.20Γ | 501% |
| π | a * 2 (literal) (int64) | int64 | 100,000 | 0.0226 | 0.0598 | 0.38Γ | 265% |
| β | a * 2 (literal) (int64) | int64 | 10,000,000 | 15.0941 | 13.3295 | 1.13Γ | 88% |
| β« | a * 2 (literal) (int8) | int8 | 1,000 | 0.0009 | 0.0033 | 0.26Γ | 380% |
| β | a * 2 (literal) (int8) | int8 | 100,000 | 0.0218 | 0.0153 | 1.42Γ | 70% |
| β | a * 2 (literal) (int8) | int8 | 10,000,000 | 3.0346 | 1.2741 | 2.38Γ | 42% |
| β« | a * 2 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0034 | 0.29Γ | 344% |
| β | a * 2 (literal) (uint16) | uint16 | 100,000 | 0.0219 | 0.0192 | 1.14Γ | 87% |
| β | a * 2 (literal) (uint16) | uint16 | 10,000,000 | 4.3429 | 2.5632 | 1.69Γ | 59% |
| β« | a * 2 (literal) (uint32) | uint32 | 1,000 | 0.0010 | 0.0037 | 0.26Γ | 383% |
| π‘ | a * 2 (literal) (uint32) | uint32 | 100,000 | 0.0218 | 0.0303 | 0.72Γ | 139% |
| β | a * 2 (literal) (uint32) | uint32 | 10,000,000 | 7.7703 | 5.0405 | 1.54Γ | 65% |
| β« | a * 2 (literal) (uint64) | uint64 | 1,000 | 0.0009 | 0.0044 | 0.21Γ | 477% |
| π | a * 2 (literal) (uint64) | uint64 | 100,000 | 0.0223 | 0.0599 | 0.37Γ | 269% |
| β | a * 2 (literal) (uint64) | uint64 | 10,000,000 | 14.8103 | 13.1645 | 1.12Γ | 89% |
| β« | a * 2 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0031 | 0.27Γ | 364% |
| β | a * 2 (literal) (uint8) | uint8 | 100,000 | 0.0218 | 0.0148 | 1.47Γ | 68% |
| β | a * 2 (literal) (uint8) | uint8 | 10,000,000 | 3.0832 | 1.3091 | 2.35Γ | 42% |
| β« | a * a (square) (complex128) | complex128 | 1,000 | 0.0008 | 0.0038 | 0.22Γ | 449% |
| β | a * a (square) (complex128) | complex128 | 100,000 | 0.2826 | 0.2203 | 1.28Γ | 78% |
| β | a * a (square) (complex128) | complex128 | 10,000,000 | 29.7792 | 25.4938 | 1.17Γ | 86% |
| β | a * a (square) (float16) | float16 | 1,000 | 0.0060 | 0.0052 | 1.15Γ | 87% |
| π‘ | a * a (square) (float16) | float16 | 100,000 | 0.2818 | 0.4741 | 0.59Γ | 168% |
| π‘ | a * a (square) (float16) | float16 | 10,000,000 | 30.1183 | 46.6249 | 0.65Γ | 155% |
| β« | a * a (square) (float32) | float32 | 1,000 | 0.0005 | 0.0017 | 0.31Γ | 321% |
| π΄ | a * a (square) (float32) | float32 | 100,000 | 0.0058 | 0.0471 | 0.12Γ | 805% |
| β | a * a (square) (float32) | float32 | 10,000,000 | 7.6612 | 4.9707 | 1.54Γ | 65% |
| β« | a * a (square) (float64) | float64 | 1,000 | 0.0005 | 0.0020 | 0.26Γ | 393% |
| π΄ | a * a (square) (float64) | float64 | 100,000 | 0.0114 | 0.0935 | 0.12Γ | 821% |
| β | a * a (square) (float64) | float64 | 10,000,000 | 15.3393 | 13.6029 | 1.13Γ | 89% |
| β« | a * a (square) (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51Γ | 196% |
| π‘ | a * a (square) (int16) | int16 | 100,000 | 0.0273 | 0.0276 | 0.99Γ | 101% |
| β | a * a (square) (int16) | int16 | 10,000,000 | 4.7133 | 2.4548 | 1.92Γ | 52% |
| β« | a * a (square) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39Γ | 256% |
| π‘ | a * a (square) (int32) | int32 | 100,000 | 0.0275 | 0.0482 | 0.57Γ | 175% |
| β | a * a (square) (int32) | int32 | 10,000,000 | 8.0304 | 5.0264 | 1.60Γ | 63% |
| β« | a * a (square) (int64) | int64 | 1,000 | 0.0007 | 0.0017 | 0.45Γ | 224% |
| π | a * a (square) (int64) | int64 | 100,000 | 0.0287 | 0.0963 | 0.30Γ | 336% |
| β | a * a (square) (int64) | int64 | 10,000,000 | 15.3630 | 13.3964 | 1.15Γ | 87% |
| β« | a * a (square) (int8) | int8 | 1,000 | 0.0006 | 0.0015 | 0.42Γ | 236% |
| β | a * a (square) (int8) | int8 | 100,000 | 0.0282 | 0.0143 | 1.97Γ | 51% |
| β | a * a (square) (int8) | int8 | 10,000,000 | 3.6720 | 1.2987 | 2.83Γ | 35% |
| β« | a * a (square) (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.40Γ | 251% |
| β | a * a (square) (uint16) | uint16 | 100,000 | 0.0387 | 0.0261 | 1.49Γ | 67% |
| β | a * a (square) (uint16) | uint16 | 10,000,000 | 4.8081 | 2.5775 | 1.86Γ | 54% |
| β« | a * a (square) (uint32) | uint32 | 1,000 | 0.0008 | 0.0017 | 0.45Γ | 223% |
| π‘ | a * a (square) (uint32) | uint32 | 100,000 | 0.0290 | 0.0503 | 0.58Γ | 174% |
| β | a * a (square) (uint32) | uint32 | 10,000,000 | 7.9491 | 5.0896 | 1.56Γ | 64% |
| β« | a * a (square) (uint64) | uint64 | 1,000 | 0.0007 | 0.0025 | 0.28Γ | 354% |
| π | a * a (square) (uint64) | uint64 | 100,000 | 0.0282 | 0.0988 | 0.29Γ | 350% |
| β | a * a (square) (uint64) | uint64 | 10,000,000 | 15.0170 | 13.2023 | 1.14Γ | 88% |
| β« | a * a (square) (uint8) | uint8 | 1,000 | 0.0006 | 0.0016 | 0.39Γ | 257% |
| β | a * a (square) (uint8) | uint8 | 100,000 | 0.0272 | 0.0090 | 3.03Γ | 33% |
| β | a * a (square) (uint8) | uint8 | 10,000,000 | 3.6667 | 1.2804 | 2.86Γ | 35% |
| β« | a * b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0030 | 0.29Γ | 341% |
| β | a * b (element-wise) (complex128) | complex128 | 100,000 | 0.2949 | 0.2291 | 1.29Γ | 78% |
| β | a * b (element-wise) (complex128) | complex128 | 10,000,000 | 33.9731 | 28.5083 | 1.19Γ | 84% |
| β | a * b (element-wise) (float16) | float16 | 1,000 | 0.0059 | 0.0053 | 1.11Γ | 90% |
| π‘ | a * b (element-wise) (float16) | float16 | 100,000 | 0.2799 | 0.4728 | 0.59Γ | 169% |
| π‘ | a * b (element-wise) (float16) | float16 | 10,000,000 | 30.1434 | 46.7307 | 0.65Γ | 155% |
| β« | a * b (element-wise) (float32) | float32 | 1,000 | 0.0005 | 0.0018 | 0.28Γ | 350% |
| π΄ | a * b (element-wise) (float32) | float32 | 100,000 | 0.0068 | 0.0495 | 0.14Γ | 730% |
| β | a * b (element-wise) (float32) | float32 | 10,000,000 | 8.3804 | 5.5527 | 1.51Γ | 66% |
| β« | a * b (element-wise) (float64) | float64 | 1,000 | 0.0006 | 0.0018 | 0.36Γ | 277% |
| π | a * b (element-wise) (float64) | float64 | 100,000 | 0.0259 | 0.0982 | 0.26Γ | 379% |
| β | a * b (element-wise) (float64) | float64 | 10,000,000 | 16.8272 | 15.0603 | 1.12Γ | 90% |
| β« | a * b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0018 | 0.44Γ | 228% |
| β | a * b (element-wise) (int16) | int16 | 100,000 | 0.0274 | 0.0151 | 1.81Γ | 55% |
| β | a * b (element-wise) (int16) | int16 | 10,000,000 | 4.9661 | 2.8493 | 1.74Γ | 57% |
| β« | a * b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39Γ | 258% |
| π‘ | a * b (element-wise) (int32) | int32 | 100,000 | 0.0282 | 0.0474 | 0.59Γ | 168% |
| β | a * b (element-wise) (int32) | int32 | 10,000,000 | 8.7071 | 5.6788 | 1.53Γ | 65% |
| β« | a * b (element-wise) (int64) | int64 | 1,000 | 0.0007 | 0.0018 | 0.41Γ | 242% |
| π | a * b (element-wise) (int64) | int64 | 100,000 | 0.0314 | 0.1035 | 0.30Γ | 329% |
| β | a * b (element-wise) (int64) | int64 | 10,000,000 | 17.4762 | 15.2636 | 1.15Γ | 87% |
| β« | a * b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0016 | 0.40Γ | 248% |
| β | a * b (element-wise) (int8) | int8 | 100,000 | 0.0276 | 0.0152 | 1.82Γ | 55% |
| β | a * b (element-wise) (int8) | int8 | 10,000,000 | 3.7429 | 1.4944 | 2.50Γ | 40% |
| β« | a * b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.42Γ | 236% |
| β | a * b (element-wise) (uint16) | uint16 | 100,000 | 0.0275 | 0.0271 | 1.02Γ | 98% |
| β | a * b (element-wise) (uint16) | uint16 | 10,000,000 | 4.9546 | 2.9238 | 1.70Γ | 59% |
| β« | a * b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0019 | 0.43Γ | 234% |
| π‘ | a * b (element-wise) (uint32) | uint32 | 100,000 | 0.0300 | 0.0483 | 0.62Γ | 161% |
| β | a * b (element-wise) (uint32) | uint32 | 10,000,000 | 8.9206 | 5.4716 | 1.63Γ | 61% |
| β« | a * b (element-wise) (uint64) | uint64 | 1,000 | 0.0007 | 0.0018 | 0.40Γ | 252% |
| π | a * b (element-wise) (uint64) | uint64 | 100,000 | 0.0351 | 0.1020 | 0.34Γ | 291% |
| β | a * b (element-wise) (uint64) | uint64 | 10,000,000 | 16.8707 | 15.5586 | 1.08Γ | 92% |
| β« | a * b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0015 | 0.44Γ | 228% |
| β | a * b (element-wise) (uint8) | uint8 | 100,000 | 0.0272 | 0.0144 | 1.90Γ | 53% |
| β | a * b (element-wise) (uint8) | uint8 | 10,000,000 | 3.8159 | 1.4474 | 2.64Γ | 38% |
| β« | a * scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0026 | 0.36Γ | 280% |
| β | a * scalar (complex128) | complex128 | 100,000 | 0.2846 | 0.2201 | 1.29Γ | 77% |
| β | a * scalar (complex128) | complex128 | 10,000,000 | 30.8011 | 25.2644 | 1.22Γ | 82% |
| β | a * scalar (float16) | float16 | 1,000 | 0.0064 | 0.0053 | 1.21Γ | 82% |
| π‘ | a * scalar (float16) | float16 | 100,000 | 0.2797 | 0.4704 | 0.59Γ | 168% |
| π‘ | a * scalar (float16) | float16 | 10,000,000 | 30.2302 | 46.2873 | 0.65Γ | 153% |
| β« | a * scalar (float32) | float32 | 1,000 | 0.0007 | 0.0012 | 0.54Γ | 184% |
| π | a * scalar (float32) | float32 | 100,000 | 0.0062 | 0.0274 | 0.23Γ | 441% |
| β | a * scalar (float32) | float32 | 10,000,000 | 7.8170 | 5.1097 | 1.53Γ | 65% |
| β« | a * scalar (float64) | float64 | 1,000 | 0.0007 | 0.0016 | 0.46Γ | 217% |
| π΄ | a * scalar (float64) | float64 | 100,000 | 0.0116 | 0.0658 | 0.18Γ | 566% |
| β | a * scalar (float64) | float64 | 10,000,000 | 15.9832 | 13.7184 | 1.17Γ | 86% |
| β« | a * scalar (int16) | int16 | 1,000 | 0.0009 | 0.0011 | 0.82Γ | 122% |
| β | a * scalar (int16) | int16 | 100,000 | 0.0215 | 0.0162 | 1.33Γ | 75% |
| β | a * scalar (int16) | int16 | 10,000,000 | 4.1983 | 2.5429 | 1.65Γ | 61% |
| β« | a * scalar (int32) | int32 | 1,000 | 0.0009 | 0.0013 | 0.67Γ | 148% |
| π‘ | a * scalar (int32) | int32 | 100,000 | 0.0224 | 0.0310 | 0.72Γ | 139% |
| β | a * scalar (int32) | int32 | 10,000,000 | 7.6670 | 5.1149 | 1.50Γ | 67% |
| β« | a * scalar (int64) | int64 | 1,000 | 0.0008 | 0.0017 | 0.48Γ | 208% |
| π | a * scalar (int64) | int64 | 100,000 | 0.0219 | 0.0622 | 0.35Γ | 284% |
| β | a * scalar (int64) | int64 | 10,000,000 | 14.9706 | 13.1378 | 1.14Γ | 88% |
| β« | a * scalar (int8) | int8 | 1,000 | 0.0007 | 0.0012 | 0.62Γ | 161% |
| β | a * scalar (int8) | int8 | 100,000 | 0.0215 | 0.0081 | 2.66Γ | 38% |
| β | a * scalar (int8) | int8 | 10,000,000 | 3.0113 | 1.2891 | 2.34Γ | 43% |
| β« | a * scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0015 | 0.58Γ | 174% |
| β | a * scalar (uint16) | uint16 | 100,000 | 0.0231 | 0.0143 | 1.62Γ | 62% |
| β | a * scalar (uint16) | uint16 | 10,000,000 | 4.2996 | 2.5670 | 1.68Γ | 60% |
| β« | a * scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0012 | 0.72Γ | 138% |
| π‘ | a * scalar (uint32) | uint32 | 100,000 | 0.0218 | 0.0307 | 0.71Γ | 140% |
| β | a * scalar (uint32) | uint32 | 10,000,000 | 7.6963 | 5.1056 | 1.51Γ | 66% |
| β« | a * scalar (uint64) | uint64 | 1,000 | 0.0008 | 0.0018 | 0.46Γ | 219% |
| π | a * scalar (uint64) | uint64 | 100,000 | 0.0270 | 0.0573 | 0.47Γ | 212% |
| β | a * scalar (uint64) | uint64 | 10,000,000 | 14.8864 | 13.1397 | 1.13Γ | 88% |
| β« | a * scalar (uint8) | uint8 | 1,000 | 0.0007 | 0.0009 | 0.84Γ | 119% |
| β | a * scalar (uint8) | uint8 | 100,000 | 0.0225 | 0.0078 | 2.87Γ | 35% |
| β | a * scalar (uint8) | uint8 | 10,000,000 | 3.1220 | 1.2945 | 2.41Γ | 42% |
| π΄ | a + 5 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0059 | 0.19Γ | 532% |
| π‘ | a + 5 (literal) (complex128) | complex128 | 100,000 | 0.2877 | 0.3143 | 0.92Γ | 109% |
| π‘ | a + 5 (literal) (complex128) | complex128 | 10,000,000 | 31.2807 | 40.8716 | 0.77Γ | 131% |
| π‘ | a + 5 (literal) (float16) | float16 | 1,000 | 0.0064 | 0.0093 | 0.68Γ | 146% |
| π | a + 5 (literal) (float16) | float16 | 100,000 | 0.2865 | 0.8094 | 0.35Γ | 282% |
| π | a + 5 (literal) (float16) | float16 | 10,000,000 | 30.8894 | 88.5978 | 0.35Γ | 287% |
| β« | a + 5 (literal) (float32) | float32 | 1,000 | 0.0008 | 0.0063 | 0.13Γ | 783% |
| π΄ | a + 5 (literal) (float32) | float32 | 100,000 | 0.0062 | 0.0531 | 0.12Γ | 851% |
| π‘ | a + 5 (literal) (float32) | float32 | 10,000,000 | 7.8256 | 8.3656 | 0.94Γ | 107% |
| β« | a + 5 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0061 | 0.13Γ | 770% |
| π΄ | a + 5 (literal) (float64) | float64 | 100,000 | 0.0118 | 0.0979 | 0.12Γ | 830% |
| π‘ | a + 5 (literal) (float64) | float64 | 10,000,000 | 15.5405 | 19.1910 | 0.81Γ | 124% |
| π | a + 5 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0039 | 0.26Γ | 382% |
| π‘ | a + 5 (literal) (int16) | int16 | 100,000 | 0.0239 | 0.0301 | 0.79Γ | 126% |
| β | a + 5 (literal) (int16) | int16 | 10,000,000 | 4.4762 | 4.4458 | 1.01Γ | 99% |
| π | a + 5 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0035 | 0.29Γ | 344% |
| π | a + 5 (literal) (int32) | int32 | 100,000 | 0.0234 | 0.0505 | 0.46Γ | 216% |
| π‘ | a + 5 (literal) (int32) | int32 | 10,000,000 | 7.8319 | 8.2820 | 0.95Γ | 106% |
| β« | a + 5 (literal) (int64) | int64 | 1,000 | 0.0009 | 0.0056 | 0.17Γ | 588% |
| π | a + 5 (literal) (int64) | int64 | 100,000 | 0.0252 | 0.1021 | 0.25Γ | 406% |
| π‘ | a + 5 (literal) (int64) | int64 | 10,000,000 | 15.0804 | 19.9053 | 0.76Γ | 132% |
| β« | a + 5 (literal) (int8) | int8 | 1,000 | 0.0009 | 0.0033 | 0.26Γ | 382% |
| π‘ | a + 5 (literal) (int8) | int8 | 100,000 | 0.0238 | 0.0242 | 0.98Γ | 102% |
| β | a + 5 (literal) (int8) | int8 | 10,000,000 | 3.3623 | 1.9502 | 1.72Γ | 58% |
| π | a + 5 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0049 | 0.21Γ | 476% |
| π‘ | a + 5 (literal) (uint16) | uint16 | 100,000 | 0.0247 | 0.0284 | 0.87Γ | 115% |
| β | a + 5 (literal) (uint16) | uint16 | 10,000,000 | 4.4740 | 4.2326 | 1.06Γ | 95% |
| π΄ | a + 5 (literal) (uint32) | uint32 | 1,000 | 0.0010 | 0.0051 | 0.20Γ | 502% |
| π | a + 5 (literal) (uint32) | uint32 | 100,000 | 0.0234 | 0.0502 | 0.47Γ | 214% |
| π‘ | a + 5 (literal) (uint32) | uint32 | 10,000,000 | 7.8656 | 8.5342 | 0.92Γ | 108% |
| β« | a + 5 (literal) (uint64) | uint64 | 1,000 | 0.0010 | 0.0063 | 0.15Γ | 646% |
| π | a + 5 (literal) (uint64) | uint64 | 100,000 | 0.0234 | 0.0954 | 0.24Γ | 408% |
| π‘ | a + 5 (literal) (uint64) | uint64 | 10,000,000 | 15.0958 | 19.4444 | 0.78Γ | 129% |
| β« | a + 5 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0034 | 0.25Γ | 395% |
| β | a + 5 (literal) (uint8) | uint8 | 100,000 | 0.0253 | 0.0192 | 1.31Γ | 76% |
| β | a + 5 (literal) (uint8) | uint8 | 10,000,000 | 3.4076 | 1.9372 | 1.76Γ | 57% |
| π | a + b (element-wise) (complex128) | complex128 | 1,000 | 0.0011 | 0.0044 | 0.26Γ | 393% |
| π‘ | a + b (element-wise) (complex128) | complex128 | 100,000 | 0.3142 | 0.3445 | 0.91Γ | 110% |
| π‘ | a + b (element-wise) (complex128) | complex128 | 10,000,000 | 33.8363 | 54.0273 | 0.63Γ | 160% |
| π‘ | a + b (element-wise) (float16) | float16 | 1,000 | 0.0055 | 0.0095 | 0.58Γ | 174% |
| π | a + b (element-wise) (float16) | float16 | 100,000 | 0.2823 | 0.9001 | 0.31Γ | 319% |
| π | a + b (element-wise) (float16) | float16 | 10,000,000 | 30.3275 | 87.5732 | 0.35Γ | 289% |
| β« | a + b (element-wise) (float32) | float32 | 1,000 | 0.0007 | 0.0019 | 0.37Γ | 270% |
| π΄ | a + b (element-wise) (float32) | float32 | 100,000 | 0.0082 | 0.0537 | 0.15Γ | 651% |
| π‘ | a + b (element-wise) (float32) | float32 | 10,000,000 | 8.4264 | 10.8929 | 0.77Γ | 129% |
| β« | a + b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.20Γ | 492% |
| π | a + b (element-wise) (float64) | float64 | 100,000 | 0.0277 | 0.1133 | 0.24Γ | 409% |
| π‘ | a + b (element-wise) (float64) | float64 | 10,000,000 | 16.7263 | 26.0989 | 0.64Γ | 156% |
| β« | a + b (element-wise) (int16) | int16 | 1,000 | 0.0010 | 0.0016 | 0.59Γ | 169% |
| β | a + b (element-wise) (int16) | int16 | 100,000 | 0.0310 | 0.0284 | 1.09Γ | 91% |
| π‘ | a + b (element-wise) (int16) | int16 | 10,000,000 | 5.0603 | 6.1401 | 0.82Γ | 121% |
| β« | a + b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0017 | 0.45Γ | 222% |
| π‘ | a + b (element-wise) (int32) | int32 | 100,000 | 0.0297 | 0.0548 | 0.54Γ | 185% |
| π‘ | a + b (element-wise) (int32) | int32 | 10,000,000 | 8.4215 | 10.8873 | 0.77Γ | 129% |
| β« | a + b (element-wise) (int64) | int64 | 1,000 | 0.0010 | 0.0038 | 0.25Γ | 398% |
| π | a + b (element-wise) (int64) | int64 | 100,000 | 0.0306 | 0.1154 | 0.27Γ | 377% |
| π‘ | a + b (element-wise) (int64) | int64 | 10,000,000 | 16.7804 | 25.2327 | 0.67Γ | 150% |
| β« | a + b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0012 | 0.53Γ | 188% |
| β | a + b (element-wise) (int8) | int8 | 100,000 | 0.0296 | 0.0159 | 1.86Γ | 54% |
| β | a + b (element-wise) (int8) | int8 | 10,000,000 | 3.8279 | 2.7881 | 1.37Γ | 73% |
| β« | a + b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0014 | 0.57Γ | 175% |
| β | a + b (element-wise) (uint16) | uint16 | 100,000 | 0.0299 | 0.0270 | 1.11Γ | 90% |
| π‘ | a + b (element-wise) (uint16) | uint16 | 10,000,000 | 5.0917 | 6.1902 | 0.82Γ | 122% |
| π‘ | a + b (element-wise) (uint32) | uint32 | 1,000 | 0.0014 | 0.0016 | 0.87Γ | 115% |
| π‘ | a + b (element-wise) (uint32) | uint32 | 100,000 | 0.0285 | 0.0511 | 0.56Γ | 180% |
| π‘ | a + b (element-wise) (uint32) | uint32 | 10,000,000 | 8.6066 | 10.7026 | 0.80Γ | 124% |
| β« | a + b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0029 | 0.26Γ | 380% |
| π | a + b (element-wise) (uint64) | uint64 | 100,000 | 0.0327 | 0.1082 | 0.30Γ | 331% |
| π‘ | a + b (element-wise) (uint64) | uint64 | 10,000,000 | 18.1412 | 26.0889 | 0.69Γ | 144% |
| β« | a + b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0012 | 0.55Γ | 181% |
| β | a + b (element-wise) (uint8) | uint8 | 100,000 | 0.0297 | 0.0153 | 1.94Γ | 52% |
| β | a + b (element-wise) (uint8) | uint8 | 10,000,000 | 3.8081 | 2.7749 | 1.37Γ | 73% |
| β« | a + scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0039 | 0.24Γ | 410% |
| π‘ | a + scalar (complex128) | complex128 | 100,000 | 0.2866 | 0.3178 | 0.90Γ | 111% |
| π‘ | a + scalar (complex128) | complex128 | 10,000,000 | 31.3992 | 41.0864 | 0.76Γ | 131% |
| π‘ | a + scalar (float16) | float16 | 1,000 | 0.0061 | 0.0093 | 0.65Γ | 154% |
| π | a + scalar (float16) | float16 | 100,000 | 0.2825 | 0.8408 | 0.34Γ | 298% |
| π | a + scalar (float16) | float16 | 10,000,000 | 30.6155 | 85.2390 | 0.36Γ | 278% |
| β« | a + scalar (float32) | float32 | 1,000 | 0.0007 | 0.0019 | 0.35Γ | 282% |
| π΄ | a + scalar (float32) | float32 | 100,000 | 0.0062 | 0.0512 | 0.12Γ | 824% |
| π‘ | a + scalar (float32) | float32 | 10,000,000 | 7.8223 | 8.2505 | 0.95Γ | 106% |
| β« | a + scalar (float64) | float64 | 1,000 | 0.0007 | 0.0023 | 0.28Γ | 358% |
| π΄ | a + scalar (float64) | float64 | 100,000 | 0.0115 | 0.0998 | 0.12Γ | 865% |
| π‘ | a + scalar (float64) | float64 | 10,000,000 | 15.6255 | 19.5551 | 0.80Γ | 125% |
| β« | a + scalar (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.51Γ | 196% |
| π‘ | a + scalar (int16) | int16 | 100,000 | 0.0238 | 0.0264 | 0.90Γ | 111% |
| β | a + scalar (int16) | int16 | 10,000,000 | 4.3864 | 4.1556 | 1.06Γ | 95% |
| β« | a + scalar (int32) | int32 | 1,000 | 0.0009 | 0.0018 | 0.50Γ | 200% |
| π | a + scalar (int32) | int32 | 100,000 | 0.0232 | 0.0523 | 0.44Γ | 225% |
| π‘ | a + scalar (int32) | int32 | 10,000,000 | 7.8124 | 8.3847 | 0.93Γ | 107% |
| β« | a + scalar (int64) | int64 | 1,000 | 0.0009 | 0.0026 | 0.34Γ | 296% |
| π | a + scalar (int64) | int64 | 100,000 | 0.0395 | 0.1005 | 0.39Γ | 255% |
| π‘ | a + scalar (int64) | int64 | 10,000,000 | 15.3427 | 20.6485 | 0.74Γ | 135% |
| β« | a + scalar (int8) | int8 | 1,000 | 0.0010 | 0.0015 | 0.64Γ | 156% |
| β | a + scalar (int8) | int8 | 100,000 | 0.0259 | 0.0144 | 1.80Γ | 56% |
| β | a + scalar (int8) | int8 | 10,000,000 | 3.3690 | 2.0078 | 1.68Γ | 60% |
| β« | a + scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0017 | 0.54Γ | 185% |
| π‘ | a + scalar (uint16) | uint16 | 100,000 | 0.0240 | 0.0257 | 0.93Γ | 107% |
| β | a + scalar (uint16) | uint16 | 10,000,000 | 4.5159 | 4.3325 | 1.04Γ | 96% |
| π‘ | a + scalar (uint32) | uint32 | 1,000 | 0.0013 | 0.0018 | 0.70Γ | 142% |
| π | a + scalar (uint32) | uint32 | 100,000 | 0.0233 | 0.0494 | 0.47Γ | 212% |
| π‘ | a + scalar (uint32) | uint32 | 10,000,000 | 7.7179 | 8.4788 | 0.91Γ | 110% |
| β« | a + scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0029 | 0.29Γ | 345% |
| π | a + scalar (uint64) | uint64 | 100,000 | 0.0233 | 0.1007 | 0.23Γ | 432% |
| π‘ | a + scalar (uint64) | uint64 | 10,000,000 | 15.6794 | 19.7857 | 0.79Γ | 126% |
| β« | a + scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0017 | 0.45Γ | 221% |
| β | a + scalar (uint8) | uint8 | 100,000 | 0.0264 | 0.0143 | 1.85Γ | 54% |
| β | a + scalar (uint8) | uint8 | 10,000,000 | 3.3843 | 1.9032 | 1.78Γ | 56% |
| β« | a - b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0032 | 0.27Γ | 369% |
| β | a - b (element-wise) (complex128) | complex128 | 100,000 | 0.3175 | 0.2343 | 1.35Γ | 74% |
| β | a - b (element-wise) (complex128) | complex128 | 10,000,000 | 34.2472 | 30.3482 | 1.13Γ | 89% |
| π‘ | a - b (element-wise) (float16) | float16 | 1,000 | 0.0045 | 0.0050 | 0.90Γ | 111% |
| π‘ | a - b (element-wise) (float16) | float16 | 100,000 | 0.2794 | 0.4692 | 0.60Γ | 168% |
| π | a - b (element-wise) (float16) | float16 | 10,000,000 | 30.4358 | 65.6914 | 0.46Γ | 216% |
| β« | a - b (element-wise) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.41Γ | 241% |
| π | a - b (element-wise) (float32) | float32 | 100,000 | 0.0070 | 0.0275 | 0.26Γ | 391% |
| β | a - b (element-wise) (float32) | float32 | 10,000,000 | 8.4147 | 5.3696 | 1.57Γ | 64% |
| β« | a - b (element-wise) (float64) | float64 | 1,000 | 0.0007 | 0.0022 | 0.31Γ | 319% |
| π | a - b (element-wise) (float64) | float64 | 100,000 | 0.0263 | 0.0614 | 0.43Γ | 233% |
| β | a - b (element-wise) (float64) | float64 | 10,000,000 | 16.5820 | 14.8489 | 1.12Γ | 90% |
| β« | a - b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0013 | 0.64Γ | 155% |
| β | a - b (element-wise) (int16) | int16 | 100,000 | 0.0288 | 0.0152 | 1.89Γ | 53% |
| β | a - b (element-wise) (int16) | int16 | 10,000,000 | 5.0343 | 2.8963 | 1.74Γ | 58% |
| β« | a - b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0012 | 0.68Γ | 147% |
| π‘ | a - b (element-wise) (int32) | int32 | 100,000 | 0.0286 | 0.0296 | 0.97Γ | 104% |
| β | a - b (element-wise) (int32) | int32 | 10,000,000 | 8.8063 | 5.5819 | 1.58Γ | 63% |
| β« | a - b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0021 | 0.37Γ | 272% |
| π | a - b (element-wise) (int64) | int64 | 100,000 | 0.0329 | 0.0668 | 0.49Γ | 203% |
| β | a - b (element-wise) (int64) | int64 | 10,000,000 | 17.0835 | 14.9251 | 1.15Γ | 87% |
| β« | a - b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0011 | 0.62Γ | 162% |
| β | a - b (element-wise) (int8) | int8 | 100,000 | 0.0285 | 0.0083 | 3.43Γ | 29% |
| β | a - b (element-wise) (int8) | int8 | 10,000,000 | 3.8695 | 1.4622 | 2.65Γ | 38% |
| β« | a - b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0011 | 0.72Γ | 139% |
| β | a - b (element-wise) (uint16) | uint16 | 100,000 | 0.0296 | 0.0150 | 1.98Γ | 51% |
| β | a - b (element-wise) (uint16) | uint16 | 10,000,000 | 5.0948 | 2.9174 | 1.75Γ | 57% |
| β« | a - b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0014 | 0.53Γ | 189% |
| β | a - b (element-wise) (uint32) | uint32 | 100,000 | 0.0285 | 0.0280 | 1.02Γ | 98% |
| β | a - b (element-wise) (uint32) | uint32 | 10,000,000 | 8.7412 | 5.4282 | 1.61Γ | 62% |
| β« | a - b (element-wise) (uint64) | uint64 | 1,000 | 0.0007 | 0.0018 | 0.41Γ | 244% |
| π‘ | a - b (element-wise) (uint64) | uint64 | 100,000 | 0.0358 | 0.0653 | 0.55Γ | 183% |
| β | a - b (element-wise) (uint64) | uint64 | 10,000,000 | 16.8067 | 14.7610 | 1.14Γ | 88% |
| β« | a - b (element-wise) (uint8) | uint8 | 1,000 | 0.0006 | 0.0009 | 0.75Γ | 134% |
| β | a - b (element-wise) (uint8) | uint8 | 100,000 | 0.0300 | 0.0086 | 3.50Γ | 29% |
| β | a - b (element-wise) (uint8) | uint8 | 10,000,000 | 3.8491 | 1.4835 | 2.60Γ | 38% |
| β« | a - scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0028 | 0.34Γ | 298% |
| β | a - scalar (complex128) | complex128 | 100,000 | 0.2994 | 0.2283 | 1.31Γ | 76% |
| β | a - scalar (complex128) | complex128 | 10,000,000 | 32.8674 | 25.2962 | 1.30Γ | 77% |
| β | a - scalar (float16) | float16 | 1,000 | 0.0060 | 0.0049 | 1.23Γ | 82% |
| π‘ | a - scalar (float16) | float16 | 100,000 | 0.2796 | 0.4687 | 0.60Γ | 168% |
| π‘ | a - scalar (float16) | float16 | 10,000,000 | 30.3791 | 46.1701 | 0.66Γ | 152% |
| β« | a - scalar (float32) | float32 | 1,000 | 0.0008 | 0.0014 | 0.57Γ | 174% |
| π | a - scalar (float32) | float32 | 100,000 | 0.0061 | 0.0270 | 0.23Γ | 439% |
| β | a - scalar (float32) | float32 | 10,000,000 | 7.8119 | 5.1477 | 1.52Γ | 66% |
| β« | a - scalar (float64) | float64 | 1,000 | 0.0006 | 0.0021 | 0.30Γ | 335% |
| π΄ | a - scalar (float64) | float64 | 100,000 | 0.0117 | 0.0614 | 0.19Γ | 524% |
| β | a - scalar (float64) | float64 | 10,000,000 | 15.5805 | 13.7960 | 1.13Γ | 88% |
| π‘ | a - scalar (int16) | int16 | 1,000 | 0.0011 | 0.0012 | 0.94Γ | 107% |
| β | a - scalar (int16) | int16 | 100,000 | 0.0232 | 0.0139 | 1.67Γ | 60% |
| β | a - scalar (int16) | int16 | 10,000,000 | 4.3717 | 2.6212 | 1.67Γ | 60% |
| β« | a - scalar (int32) | int32 | 1,000 | 0.0009 | 0.0015 | 0.60Γ | 165% |
| π‘ | a - scalar (int32) | int32 | 100,000 | 0.0245 | 0.0261 | 0.94Γ | 107% |
| β | a - scalar (int32) | int32 | 10,000,000 | 7.8246 | 5.1023 | 1.53Γ | 65% |
| β« | a - scalar (int64) | int64 | 1,000 | 0.0009 | 0.0020 | 0.43Γ | 233% |
| π | a - scalar (int64) | int64 | 100,000 | 0.0257 | 0.0580 | 0.44Γ | 226% |
| β | a - scalar (int64) | int64 | 10,000,000 | 15.0036 | 13.7351 | 1.09Γ | 92% |
| β« | a - scalar (int8) | int8 | 1,000 | 0.0009 | 0.0012 | 0.73Γ | 137% |
| β | a - scalar (int8) | int8 | 100,000 | 0.0234 | 0.0079 | 2.96Γ | 34% |
| β | a - scalar (int8) | int8 | 10,000,000 | 3.3051 | 1.3891 | 2.38Γ | 42% |
| β« | a - scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0010 | 0.90Γ | 111% |
| β | a - scalar (uint16) | uint16 | 100,000 | 0.0235 | 0.0140 | 1.68Γ | 60% |
| β | a - scalar (uint16) | uint16 | 10,000,000 | 4.5055 | 2.5875 | 1.74Γ | 57% |
| β« | a - scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0012 | 0.73Γ | 138% |
| β | a - scalar (uint32) | uint32 | 100,000 | 0.0270 | 0.0266 | 1.02Γ | 98% |
| β | a - scalar (uint32) | uint32 | 10,000,000 | 7.9393 | 5.0601 | 1.57Γ | 64% |
| β« | a - scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0017 | 0.49Γ | 203% |
| π | a - scalar (uint64) | uint64 | 100,000 | 0.0257 | 0.0557 | 0.46Γ | 216% |
| β | a - scalar (uint64) | uint64 | 10,000,000 | 15.0786 | 13.6412 | 1.10Γ | 90% |
| β« | a - scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0009 | 0.90Γ | 111% |
| β | a - scalar (uint8) | uint8 | 100,000 | 0.0252 | 0.0081 | 3.11Γ | 32% |
| β | a - scalar (uint8) | uint8 | 10,000,000 | 3.3366 | 1.3483 | 2.48Γ | 40% |
| β« | a / b (element-wise) (float32) | float32 | 1,000 | 0.0005 | 0.0020 | 0.25Γ | 401% |
| π | a / b (element-wise) (float32) | float32 | 100,000 | 0.0123 | 0.0563 | 0.22Γ | 458% |
| π‘ | a / b (element-wise) (float32) | float32 | 10,000,000 | 8.4746 | 10.4479 | 0.81Γ | 123% |
| β« | a / b (element-wise) (float64) | float64 | 1,000 | 0.0008 | 0.0033 | 0.23Γ | 436% |
| π | a / b (element-wise) (float64) | float64 | 100,000 | 0.0382 | 0.1504 | 0.25Γ | 393% |
| π‘ | a / b (element-wise) (float64) | float64 | 10,000,000 | 16.5123 | 24.6973 | 0.67Γ | 150% |
| π | a / b (element-wise) (int32) | int32 | 1,000 | 0.0019 | 0.0056 | 0.34Γ | 297% |
| π | a / b (element-wise) (int32) | int32 | 100,000 | 0.0827 | 0.1883 | 0.44Γ | 228% |
| π‘ | a / b (element-wise) (int32) | int32 | 10,000,000 | 20.2642 | 23.3858 | 0.87Γ | 115% |
| π | a / b (element-wise) (int64) | int64 | 1,000 | 0.0018 | 0.0048 | 0.39Γ | 259% |
| π | a / b (element-wise) (int64) | int64 | 100,000 | 0.0821 | 0.1914 | 0.43Γ | 233% |
| π‘ | a / b (element-wise) (int64) | int64 | 10,000,000 | 23.2035 | 27.5732 | 0.84Γ | 119% |
| β« | a / scalar (float32) | float32 | 1,000 | 0.0006 | 0.0021 | 0.30Γ | 336% |
| π | a / scalar (float32) | float32 | 100,000 | 0.0120 | 0.0591 | 0.20Γ | 492% |
| π‘ | a / scalar (float32) | float32 | 10,000,000 | 7.9059 | 8.4903 | 0.93Γ | 107% |
| β« | a / scalar (float64) | float64 | 1,000 | 0.0009 | 0.0037 | 0.24Γ | 412% |
| π | a / scalar (float64) | float64 | 100,000 | 0.0372 | 0.1545 | 0.24Γ | 416% |
| π‘ | a / scalar (float64) | float64 | 10,000,000 | 15.4651 | 21.6902 | 0.71Γ | 140% |
| π | a / scalar (int32) | int32 | 1,000 | 0.0022 | 0.0073 | 0.30Γ | 332% |
| π | a / scalar (int32) | int32 | 100,000 | 0.0616 | 0.1934 | 0.32Γ | 314% |
| π‘ | a / scalar (int32) | int32 | 10,000,000 | 17.1824 | 23.0455 | 0.75Γ | 134% |
| π | a / scalar (int64) | int64 | 1,000 | 0.0017 | 0.0069 | 0.25Γ | 404% |
| π | a / scalar (int64) | int64 | 100,000 | 0.0571 | 0.1868 | 0.31Γ | 327% |
| π‘ | a / scalar (int64) | int64 | 10,000,000 | 18.4227 | 23.5786 | 0.78Γ | 128% |
| π | np.add(a, b) (complex128) | complex128 | 1,000 | 0.0011 | 0.0042 | 0.25Γ | 398% |
| π‘ | np.add(a, b) (complex128) | complex128 | 100,000 | 0.3045 | 0.3432 | 0.89Γ | 113% |
| π‘ | np.add(a, b) (complex128) | complex128 | 10,000,000 | 33.3065 | 56.7710 | 0.59Γ | 170% |
| π‘ | np.add(a, b) (float16) | float16 | 1,000 | 0.0054 | 0.0096 | 0.56Γ | 180% |
| π | np.add(a, b) (float16) | float16 | 100,000 | 0.2880 | 0.8665 | 0.33Γ | 301% |
| π | np.add(a, b) (float16) | float16 | 10,000,000 | 30.2918 | 84.4809 | 0.36Γ | 279% |
| β« | np.add(a, b) (float32) | float32 | 1,000 | 0.0005 | 0.0019 | 0.29Γ | 346% |
| π΄ | np.add(a, b) (float32) | float32 | 100,000 | 0.0069 | 0.0511 | 0.14Γ | 743% |
| π‘ | np.add(a, b) (float32) | float32 | 10,000,000 | 8.4121 | 11.6595 | 0.72Γ | 139% |
| β« | np.add(a, b) (float64) | float64 | 1,000 | 0.0005 | 0.0027 | 0.20Γ | 514% |
| π | np.add(a, b) (float64) | float64 | 100,000 | 0.0274 | 0.1083 | 0.25Γ | 396% |
| π‘ | np.add(a, b) (float64) | float64 | 10,000,000 | 16.6312 | 24.9414 | 0.67Γ | 150% |
| β« | np.add(a, b) (int16) | int16 | 1,000 | 0.0008 | 0.0015 | 0.52Γ | 192% |
| β | np.add(a, b) (int16) | int16 | 100,000 | 0.0289 | 0.0283 | 1.02Γ | 98% |
| π‘ | np.add(a, b) (int16) | int16 | 10,000,000 | 5.0436 | 6.3374 | 0.80Γ | 126% |
| β« | np.add(a, b) (int32) | int32 | 1,000 | 0.0008 | 0.0018 | 0.43Γ | 233% |
| π‘ | np.add(a, b) (int32) | int32 | 100,000 | 0.0286 | 0.0523 | 0.55Γ | 183% |
| π‘ | np.add(a, b) (int32) | int32 | 10,000,000 | 8.5431 | 10.9704 | 0.78Γ | 128% |
| β« | np.add(a, b) (int64) | int64 | 1,000 | 0.0009 | 0.0025 | 0.38Γ | 267% |
| π | np.add(a, b) (int64) | int64 | 100,000 | 0.0307 | 0.1070 | 0.29Γ | 349% |
| π‘ | np.add(a, b) (int64) | int64 | 10,000,000 | 16.9611 | 25.6104 | 0.66Γ | 151% |
| β« | np.add(a, b) (int8) | int8 | 1,000 | 0.0008 | 0.0011 | 0.72Γ | 139% |
| β | np.add(a, b) (int8) | int8 | 100,000 | 0.0285 | 0.0154 | 1.85Γ | 54% |
| β | np.add(a, b) (int8) | int8 | 10,000,000 | 3.8480 | 2.7190 | 1.42Γ | 71% |
| β« | np.add(a, b) (uint16) | uint16 | 1,000 | 0.0008 | 0.0016 | 0.49Γ | 205% |
| β | np.add(a, b) (uint16) | uint16 | 100,000 | 0.0292 | 0.0271 | 1.07Γ | 93% |
| π‘ | np.add(a, b) (uint16) | uint16 | 10,000,000 | 5.0613 | 6.0800 | 0.83Γ | 120% |
| β« | np.add(a, b) (uint32) | uint32 | 1,000 | 0.0010 | 0.0014 | 0.68Γ | 147% |
| π‘ | np.add(a, b) (uint32) | uint32 | 100,000 | 0.0285 | 0.0534 | 0.53Γ | 187% |
| π‘ | np.add(a, b) (uint32) | uint32 | 10,000,000 | 8.5822 | 10.6338 | 0.81Γ | 124% |
| β« | np.add(a, b) (uint64) | uint64 | 1,000 | 0.0008 | 0.0017 | 0.44Γ | 228% |
| π | np.add(a, b) (uint64) | uint64 | 100,000 | 0.0355 | 0.1051 | 0.34Γ | 296% |
| π‘ | np.add(a, b) (uint64) | uint64 | 10,000,000 | 17.4766 | 26.0047 | 0.67Γ | 149% |
| β« | np.add(a, b) (uint8) | uint8 | 1,000 | 0.0007 | 0.0013 | 0.53Γ | 188% |
| β | np.add(a, b) (uint8) | uint8 | 100,000 | 0.0293 | 0.0155 | 1.89Γ | 53% |
| β | np.add(a, b) (uint8) | uint8 | 10,000,000 | 3.8443 | 3.0809 | 1.25Γ | 80% |
| β« | scalar - a (complex128) | complex128 | 1,000 | 0.0010 | 0.0027 | 0.36Γ | 279% |
| β | scalar - a (complex128) | complex128 | 100,000 | 0.3082 | 0.2238 | 1.38Γ | 73% |
| β | scalar - a (complex128) | complex128 | 10,000,000 | 32.3795 | 25.2975 | 1.28Γ | 78% |
| β | scalar - a (float16) | float16 | 1,000 | 0.0056 | 0.0049 | 1.15Γ | 87% |
| π‘ | scalar - a (float16) | float16 | 100,000 | 0.2910 | 0.4656 | 0.62Γ | 160% |
| π‘ | scalar - a (float16) | float16 | 10,000,000 | 30.2778 | 46.0030 | 0.66Γ | 152% |
| β« | scalar - a (float32) | float32 | 1,000 | 0.0007 | 0.0014 | 0.49Γ | 202% |
| π | scalar - a (float32) | float32 | 100,000 | 0.0062 | 0.0265 | 0.23Γ | 427% |
| β | scalar - a (float32) | float32 | 10,000,000 | 7.7928 | 5.1631 | 1.51Γ | 66% |
| β« | scalar - a (float64) | float64 | 1,000 | 0.0007 | 0.0020 | 0.34Γ | 297% |
| π | scalar - a (float64) | float64 | 100,000 | 0.0115 | 0.0568 | 0.20Γ | 493% |
| β | scalar - a (float64) | float64 | 10,000,000 | 15.7789 | 13.8734 | 1.14Γ | 88% |
| β« | scalar - a (int16) | int16 | 1,000 | 0.0009 | 0.0011 | 0.86Γ | 116% |
| β | scalar - a (int16) | int16 | 100,000 | 0.0246 | 0.0147 | 1.68Γ | 60% |
| β | scalar - a (int16) | int16 | 10,000,000 | 4.4218 | 2.5703 | 1.72Γ | 58% |
| β« | scalar - a (int32) | int32 | 1,000 | 0.0009 | 0.0012 | 0.78Γ | 128% |
| π‘ | scalar - a (int32) | int32 | 100,000 | 0.0237 | 0.0275 | 0.86Γ | 116% |
| β | scalar - a (int32) | int32 | 10,000,000 | 7.8237 | 5.1041 | 1.53Γ | 65% |
| π‘ | scalar - a (int64) | int64 | 1,000 | 0.0011 | 0.0016 | 0.66Γ | 151% |
| π | scalar - a (int64) | int64 | 100,000 | 0.0241 | 0.0657 | 0.37Γ | 273% |
| β | scalar - a (int64) | int64 | 10,000,000 | 14.9127 | 13.4584 | 1.11Γ | 90% |
| β« | scalar - a (int8) | int8 | 1,000 | 0.0008 | 0.0010 | 0.77Γ | 130% |
| β | scalar - a (int8) | int8 | 100,000 | 0.0237 | 0.0079 | 3.01Γ | 33% |
| β | scalar - a (int8) | int8 | 10,000,000 | 3.2754 | 1.3503 | 2.43Γ | 41% |
| β | scalar - a (uint16) | uint16 | 1,000 | 0.0016 | 0.0012 | 1.41Γ | 71% |
| β | scalar - a (uint16) | uint16 | 100,000 | 0.0240 | 0.0143 | 1.68Γ | 60% |
| β | scalar - a (uint16) | uint16 | 10,000,000 | 4.4048 | 2.4891 | 1.77Γ | 56% |
| β« | scalar - a (uint32) | uint32 | 1,000 | 0.0009 | 0.0014 | 0.66Γ | 153% |
| β | scalar - a (uint32) | uint32 | 100,000 | 0.0287 | 0.0275 | 1.04Γ | 96% |
| β | scalar - a (uint32) | uint32 | 10,000,000 | 7.7897 | 5.0724 | 1.54Γ | 65% |
| β« | scalar - a (uint64) | uint64 | 1,000 | 0.0010 | 0.0017 | 0.56Γ | 178% |
| π | scalar - a (uint64) | uint64 | 100,000 | 0.0236 | 0.0589 | 0.40Γ | 250% |
| β | scalar - a (uint64) | uint64 | 10,000,000 | 15.0333 | 13.5035 | 1.11Γ | 90% |
| β« | scalar - a (uint8) | uint8 | 1,000 | 0.0008 | 0.0010 | 0.79Γ | 126% |
| β | scalar - a (uint8) | uint8 | 100,000 | 0.0245 | 0.0078 | 3.13Γ | 32% |
| β | scalar - a (uint8) | uint8 | 10,000,000 | 3.3284 | 1.3375 | 2.49Γ | 40% |
| β« | scalar / a (float32) | float32 | 1,000 | 0.0007 | 0.0019 | 0.34Γ | 294% |
| π | scalar / a (float32) | float32 | 100,000 | 0.0149 | 0.0582 | 0.26Γ | 391% |
| π‘ | scalar / a (float32) | float32 | 10,000,000 | 7.9318 | 8.0737 | 0.98Γ | 102% |
| β« | scalar / a (float64) | float64 | 1,000 | 0.0009 | 0.0033 | 0.28Γ | 356% |
| π | scalar / a (float64) | float64 | 100,000 | 0.0374 | 0.1398 | 0.27Γ | 374% |
| π‘ | scalar / a (float64) | float64 | 10,000,000 | 15.4337 | 22.3529 | 0.69Γ | 145% |
| π | scalar / a (int32) | int32 | 1,000 | 0.0018 | 0.0063 | 0.29Γ | 349% |
| π | scalar / a (int32) | int32 | 100,000 | 0.0618 | 0.1726 | 0.36Γ | 279% |
| π‘ | scalar / a (int32) | int32 | 10,000,000 | 17.0772 | 22.8310 | 0.75Γ | 134% |
| π | scalar / a (int64) | int64 | 1,000 | 0.0022 | 0.0060 | 0.36Γ | 274% |
| π | scalar / a (int64) | int64 | 100,000 | 0.0575 | 0.1799 | 0.32Γ | 313% |
| π‘ | scalar / a (int64) | int64 | 10,000,000 | 18.5249 | 24.6415 | 0.75Γ | 133% |
Unary
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.abs (float16) | float16 | 1,000 | 0.0008 | 0.0014 | 0.58Γ | 172% |
| β | np.abs (float16) | float16 | 100,000 | 0.0261 | 0.0219 | 1.19Γ | 84% |
| β | np.abs (float16) | float16 | 10,000,000 | 7.7905 | 2.7758 | 2.81Γ | 36% |
| β« | np.abs (float32) | float32 | 1,000 | 0.0006 | 0.0016 | 0.35Γ | 286% |
| π΄ | np.abs (float32) | float32 | 100,000 | 0.0061 | 0.0376 | 0.16Γ | 617% |
| β | np.abs (float32) | float32 | 10,000,000 | 7.3196 | 4.2367 | 1.73Γ | 58% |
| β« | np.abs (float64) | float64 | 1,000 | 0.0006 | 0.0050 | 0.11Γ | 904% |
| π΄ | np.abs (float64) | float64 | 100,000 | 0.0113 | 0.0656 | 0.17Γ | 581% |
| β | np.abs (float64) | float64 | 10,000,000 | 14.5867 | 14.0433 | 1.04Γ | 96% |
| π‘ | np.cbrt(a) (float16) | float16 | 1,000 | 0.0104 | 0.0111 | 0.93Γ | 107% |
| π‘ | np.cbrt(a) (float16) | float16 | 100,000 | 1.1653 | 1.3881 | 0.84Γ | 119% |
| π‘ | np.cbrt(a) (float16) | float16 | 10,000,000 | 123.1163 | 137.5717 | 0.90Γ | 112% |
| β | np.cbrt(a) (float32) | float32 | 1,000 | 0.0062 | 0.0060 | 1.02Γ | 98% |
| π‘ | np.cbrt(a) (float32) | float32 | 100,000 | 0.8801 | 0.8926 | 0.99Γ | 101% |
| β | np.cbrt(a) (float32) | float32 | 10,000,000 | 93.3862 | 87.0798 | 1.07Γ | 93% |
| π‘ | np.cbrt(a) (float64) | float64 | 1,000 | 0.0092 | 0.0096 | 0.96Γ | 104% |
| π‘ | np.cbrt(a) (float64) | float64 | 100,000 | 1.0901 | 1.0964 | 0.99Γ | 101% |
| β | np.cbrt(a) (float64) | float64 | 10,000,000 | 115.3223 | 113.1029 | 1.02Γ | 98% |
| β | np.ceil (float16) | float16 | 1,000 | 0.0051 | 0.0039 | 1.33Γ | 75% |
| β | np.ceil (float16) | float16 | 100,000 | 0.4009 | 0.3367 | 1.19Γ | 84% |
| β | np.ceil (float16) | float16 | 10,000,000 | 41.2225 | 33.5011 | 1.23Γ | 81% |
| β« | np.ceil (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.36Γ | 276% |
| π΄ | np.ceil (float32) | float32 | 100,000 | 0.0057 | 0.0285 | 0.20Γ | 501% |
| β | np.ceil (float32) | float32 | 10,000,000 | 7.4340 | 4.1609 | 1.79Γ | 56% |
| β« | np.ceil (float64) | float64 | 1,000 | 0.0006 | 0.0036 | 0.15Γ | 653% |
| π | np.ceil (float64) | float64 | 100,000 | 0.0112 | 0.0552 | 0.20Γ | 495% |
| β | np.ceil (float64) | float64 | 10,000,000 | 14.8375 | 14.0530 | 1.06Γ | 95% |
| β | np.clip(a, -10, 10) (float16) | float16 | 1,000 | 0.0099 | 0.0060 | 1.66Γ | 60% |
| β | np.clip(a, -10, 10) (float16) | float16 | 100,000 | 0.9202 | 0.7256 | 1.27Γ | 79% |
| β | np.clip(a, -10, 10) (float16) | float16 | 10,000,000 | 92.7997 | 71.2042 | 1.30Γ | 77% |
| π | np.clip(a, -10, 10) (float32) | float32 | 1,000 | 0.0020 | 0.0063 | 0.32Γ | 311% |
| π | np.clip(a, -10, 10) (float32) | float32 | 100,000 | 0.0083 | 0.0345 | 0.24Γ | 415% |
| β | np.clip(a, -10, 10) (float32) | float32 | 10,000,000 | 7.4072 | 4.1688 | 1.78Γ | 56% |
| π | np.clip(a, -10, 10) (float64) | float64 | 1,000 | 0.0018 | 0.0061 | 0.30Γ | 332% |
| π | np.clip(a, -10, 10) (float64) | float64 | 100,000 | 0.0131 | 0.0640 | 0.20Γ | 487% |
| β | np.clip(a, -10, 10) (float64) | float64 | 10,000,000 | 14.7613 | 13.3322 | 1.11Γ | 90% |
| π‘ | np.cos (float16) | float16 | 1,000 | 0.0050 | 0.0084 | 0.60Γ | 168% |
| π‘ | np.cos (float16) | float16 | 100,000 | 0.6956 | 1.1041 | 0.63Γ | 159% |
| π‘ | np.cos (float16) | float16 | 10,000,000 | 79.1733 | 110.5111 | 0.72Γ | 140% |
| β | np.cos (float32) | float32 | 1,000 | 0.0049 | 0.0038 | 1.30Γ | 77% |
| π‘ | np.cos (float32) | float32 | 100,000 | 0.7072 | 0.7109 | 0.99Γ | 100% |
| β | np.cos (float32) | float32 | 10,000,000 | 80.0272 | 69.8170 | 1.15Γ | 87% |
| β | np.cos (float64) | float64 | 1,000 | 0.0049 | 0.0042 | 1.18Γ | 85% |
| π‘ | np.cos (float64) | float64 | 100,000 | 0.7039 | 0.7283 | 0.97Γ | 104% |
| β | np.cos (float64) | float64 | 10,000,000 | 79.0328 | 77.0677 | 1.02Γ | 98% |
| π‘ | np.exp (float16) | float16 | 1,000 | 0.0054 | 0.0063 | 0.86Γ | 116% |
| π‘ | np.exp (float16) | float16 | 100,000 | 0.4124 | 0.5903 | 0.70Γ | 143% |
| β | np.exp (float16) | float16 | 10,000,000 | 63.7886 | 58.5180 | 1.09Γ | 92% |
| π | np.exp (float32) | float32 | 1,000 | 0.0010 | 0.0034 | 0.29Γ | 339% |
| π | np.exp (float32) | float32 | 100,000 | 0.0544 | 0.1753 | 0.31Γ | 322% |
| π‘ | np.exp (float32) | float32 | 10,000,000 | 10.5143 | 16.5467 | 0.64Γ | 157% |
| π‘ | np.exp (float64) | float64 | 1,000 | 0.0030 | 0.0038 | 0.78Γ | 128% |
| π‘ | np.exp (float64) | float64 | 100,000 | 0.2543 | 0.2691 | 0.94Γ | 106% |
| β | np.exp (float64) | float64 | 10,000,000 | 32.9892 | 30.7385 | 1.07Γ | 93% |
| π‘ | np.exp2 (float16) | float16 | 1,000 | 0.0052 | 0.0098 | 0.54Γ | 187% |
| π | np.exp2 (float16) | float16 | 100,000 | 0.4402 | 0.9688 | 0.45Γ | 220% |
| π | np.exp2 (float16) | float16 | 10,000,000 | 47.4052 | 97.6500 | 0.48Γ | 206% |
| π | np.exp2 (float32) | float32 | 1,000 | 0.0022 | 0.0097 | 0.23Γ | 435% |
| π΄ | np.exp2 (float32) | float32 | 100,000 | 0.1723 | 0.8886 | 0.19Γ | 516% |
| π | np.exp2 (float32) | float32 | 10,000,000 | 23.4637 | 87.7856 | 0.27Γ | 374% |
| π | np.exp2 (float64) | float64 | 1,000 | 0.0025 | 0.0096 | 0.26Γ | 386% |
| π | np.exp2 (float64) | float64 | 100,000 | 0.2067 | 0.8452 | 0.24Γ | 409% |
| π | np.exp2 (float64) | float64 | 10,000,000 | 28.4119 | 87.4368 | 0.33Γ | 308% |
| π‘ | np.expm1 (float16) | float16 | 1,000 | 0.0059 | 0.0091 | 0.65Γ | 154% |
| π‘ | np.expm1 (float16) | float16 | 100,000 | 0.5256 | 0.8595 | 0.61Γ | 164% |
| π‘ | np.expm1 (float16) | float16 | 10,000,000 | 54.8518 | 86.3626 | 0.64Γ | 157% |
| π‘ | np.expm1 (float32) | float32 | 1,000 | 0.0032 | 0.0039 | 0.83Γ | 120% |
| β | np.expm1 (float32) | float32 | 100,000 | 0.2667 | 0.1878 | 1.42Γ | 70% |
| β | np.expm1 (float32) | float32 | 10,000,000 | 31.6479 | 17.6348 | 1.79Γ | 56% |
| π‘ | np.expm1 (float64) | float64 | 1,000 | 0.0038 | 0.0039 | 0.98Γ | 102% |
| β | np.expm1 (float64) | float64 | 100,000 | 0.3380 | 0.2746 | 1.23Γ | 81% |
| β | np.expm1 (float64) | float64 | 10,000,000 | 42.0588 | 31.9769 | 1.31Γ | 76% |
| β | np.floor (float16) | float16 | 1,000 | 0.0051 | 0.0039 | 1.32Γ | 76% |
| β | np.floor (float16) | float16 | 100,000 | 0.4141 | 0.3381 | 1.23Γ | 82% |
| β | np.floor (float16) | float16 | 10,000,000 | 43.2932 | 32.6165 | 1.33Γ | 75% |
| β« | np.floor (float32) | float32 | 1,000 | 0.0005 | 0.0019 | 0.29Γ | 350% |
| π | np.floor (float32) | float32 | 100,000 | 0.0063 | 0.0309 | 0.20Γ | 488% |
| β | np.floor (float32) | float32 | 10,000,000 | 7.6079 | 4.1823 | 1.82Γ | 55% |
| β« | np.floor (float64) | float64 | 1,000 | 0.0006 | 0.0048 | 0.12Γ | 833% |
| π΄ | np.floor (float64) | float64 | 100,000 | 0.0117 | 0.0586 | 0.20Γ | 502% |
| β | np.floor (float64) | float64 | 10,000,000 | 14.9548 | 13.8842 | 1.08Γ | 93% |
| π‘ | np.log (float16) | float16 | 1,000 | 0.0050 | 0.0066 | 0.75Γ | 133% |
| π‘ | np.log (float16) | float16 | 100,000 | 0.4253 | 0.6276 | 0.68Γ | 148% |
| β | np.log (float16) | float16 | 10,000,000 | 84.3523 | 62.5962 | 1.35Γ | 74% |
| π | np.log (float32) | float32 | 1,000 | 0.0013 | 0.0039 | 0.34Γ | 290% |
| π | np.log (float32) | float32 | 100,000 | 0.0917 | 0.2125 | 0.43Γ | 232% |
| π‘ | np.log (float32) | float32 | 10,000,000 | 13.6695 | 20.7475 | 0.66Γ | 152% |
| π‘ | np.log (float64) | float64 | 1,000 | 0.0028 | 0.0031 | 0.89Γ | 112% |
| π‘ | np.log (float64) | float64 | 100,000 | 0.2338 | 0.2548 | 0.92Γ | 109% |
| β | np.log (float64) | float64 | 10,000,000 | 31.4221 | 29.8544 | 1.05Γ | 95% |
| π‘ | np.log10 (float16) | float16 | 1,000 | 0.0055 | 0.0067 | 0.81Γ | 123% |
| π‘ | np.log10 (float16) | float16 | 100,000 | 0.4443 | 0.6431 | 0.69Γ | 145% |
| β | np.log10 (float16) | float16 | 10,000,000 | 69.8188 | 63.1013 | 1.11Γ | 90% |
| π‘ | np.log10 (float32) | float32 | 1,000 | 0.0024 | 0.0038 | 0.64Γ | 157% |
| π‘ | np.log10 (float32) | float32 | 100,000 | 0.1944 | 0.2121 | 0.92Γ | 109% |
| β | np.log10 (float32) | float32 | 10,000,000 | 23.1019 | 20.3369 | 1.14Γ | 88% |
| π‘ | np.log10 (float64) | float64 | 1,000 | 0.0029 | 0.0031 | 0.94Γ | 107% |
| π‘ | np.log10 (float64) | float64 | 100,000 | 0.2459 | 0.2616 | 0.94Γ | 106% |
| β | np.log10 (float64) | float64 | 10,000,000 | 32.7819 | 30.4759 | 1.08Γ | 93% |
| π‘ | np.log1p (float16) | float16 | 1,000 | 0.0063 | 0.0082 | 0.77Γ | 130% |
| π‘ | np.log1p (float16) | float16 | 100,000 | 0.5635 | 0.7911 | 0.71Γ | 140% |
| π‘ | np.log1p (float16) | float16 | 10,000,000 | 58.8048 | 77.9264 | 0.76Γ | 132% |
| β | np.log1p (float32) | float32 | 1,000 | 0.0034 | 0.0028 | 1.24Γ | 81% |
| β | np.log1p (float32) | float32 | 100,000 | 0.2895 | 0.2324 | 1.25Γ | 80% |
| β | np.log1p (float32) | float32 | 10,000,000 | 31.9094 | 21.9765 | 1.45Γ | 69% |
| β | np.log1p (float64) | float64 | 1,000 | 0.0037 | 0.0032 | 1.14Γ | 87% |
| β | np.log1p (float64) | float64 | 100,000 | 0.3215 | 0.2717 | 1.18Γ | 84% |
| β | np.log1p (float64) | float64 | 10,000,000 | 39.8056 | 31.3997 | 1.27Γ | 79% |
| π‘ | np.log2 (float16) | float16 | 1,000 | 0.0050 | 0.0067 | 0.74Γ | 134% |
| π‘ | np.log2 (float16) | float16 | 100,000 | 0.4571 | 0.6374 | 0.72Γ | 140% |
| π‘ | np.log2 (float16) | float16 | 10,000,000 | 48.6171 | 62.9314 | 0.77Γ | 129% |
| π‘ | np.log2 (float32) | float32 | 1,000 | 0.0026 | 0.0042 | 0.61Γ | 163% |
| π‘ | np.log2 (float32) | float32 | 100,000 | 0.1889 | 0.1979 | 0.95Γ | 105% |
| β | np.log2 (float32) | float32 | 10,000,000 | 22.7833 | 18.9040 | 1.21Γ | 83% |
| π‘ | np.log2 (float64) | float64 | 1,000 | 0.0041 | 0.0044 | 0.93Γ | 107% |
| π‘ | np.log2 (float64) | float64 | 100,000 | 0.3738 | 0.3897 | 0.96Γ | 104% |
| β | np.log2 (float64) | float64 | 10,000,000 | 45.1058 | 42.4500 | 1.06Γ | 94% |
| β« | np.negative(a) (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.51Γ | 197% |
| β | np.negative(a) (float16) | float16 | 100,000 | 0.0320 | 0.0234 | 1.37Γ | 73% |
| β | np.negative(a) (float16) | float16 | 10,000,000 | 4.7401 | 3.0972 | 1.53Γ | 65% |
| β« | np.negative(a) (float32) | float32 | 1,000 | 0.0005 | 0.0020 | 0.26Γ | 391% |
| π | np.negative(a) (float32) | float32 | 100,000 | 0.0065 | 0.0264 | 0.25Γ | 403% |
| β | np.negative(a) (float32) | float32 | 10,000,000 | 7.8325 | 4.2918 | 1.82Γ | 55% |
| β« | np.negative(a) (float64) | float64 | 1,000 | 0.0005 | 0.0032 | 0.16Γ | 622% |
| π | np.negative(a) (float64) | float64 | 100,000 | 0.0136 | 0.0544 | 0.25Γ | 399% |
| β | np.negative(a) (float64) | float64 | 10,000,000 | 16.3329 | 16.1866 | 1.01Γ | 99% |
| β« | np.positive(a) (float16) | float16 | 1,000 | 0.0007 | 0.0011 | 0.63Γ | 160% |
| β | np.positive(a) (float16) | float16 | 100,000 | 0.0209 | 0.0132 | 1.59Γ | 63% |
| β | np.positive(a) (float16) | float16 | 10,000,000 | 4.2717 | 1.6411 | 2.60Γ | 38% |
| β« | np.positive(a) (float32) | float32 | 1,000 | 0.0007 | 0.0016 | 0.41Γ | 243% |
| π‘ | np.positive(a) (float32) | float32 | 100,000 | 0.0192 | 0.0244 | 0.78Γ | 128% |
| β | np.positive(a) (float32) | float32 | 10,000,000 | 7.8097 | 3.6030 | 2.17Γ | 46% |
| β« | np.positive(a) (float64) | float64 | 1,000 | 0.0006 | 0.0022 | 0.29Γ | 349% |
| π | np.positive(a) (float64) | float64 | 100,000 | 0.0191 | 0.0504 | 0.38Γ | 265% |
| β | np.positive(a) (float64) | float64 | 10,000,000 | 15.2613 | 13.7699 | 1.11Γ | 90% |
| β | np.power(a, 0.5) (float16) | float16 | 1,000 | 0.0091 | 0.0057 | 1.59Γ | 63% |
| β | np.power(a, 0.5) (float16) | float16 | 100,000 | 0.8082 | 0.3429 | 2.36Γ | 42% |
| β | np.power(a, 0.5) (float16) | float16 | 10,000,000 | 85.4485 | 33.5902 | 2.54Γ | 39% |
| π‘ | np.power(a, 0.5) (float32) | float32 | 1,000 | 0.0020 | 0.0028 | 0.70Γ | 143% |
| β | np.power(a, 0.5) (float32) | float32 | 100,000 | 0.1204 | 0.0268 | 4.50Γ | 22% |
| β | np.power(a, 0.5) (float32) | float32 | 10,000,000 | 15.8291 | 4.1517 | 3.81Γ | 26% |
| π‘ | np.power(a, 0.5) (float64) | float64 | 1,000 | 0.0018 | 0.0027 | 0.67Γ | 150% |
| β | np.power(a, 0.5) (float64) | float64 | 100,000 | 0.1208 | 0.0624 | 1.94Γ | 52% |
| β | np.power(a, 0.5) (float64) | float64 | 10,000,000 | 20.4169 | 13.6772 | 1.49Γ | 67% |
| β | np.power(a, 2) (float16) | float16 | 1,000 | 0.0102 | 0.0057 | 1.78Γ | 56% |
| β | np.power(a, 2) (float16) | float16 | 100,000 | 1.0479 | 0.4785 | 2.19Γ | 46% |
| β | np.power(a, 2) (float16) | float16 | 10,000,000 | 106.1243 | 47.3970 | 2.24Γ | 45% |
| π‘ | np.power(a, 2) (float32) | float32 | 1,000 | 0.0023 | 0.0029 | 0.80Γ | 125% |
| β | np.power(a, 2) (float32) | float32 | 100,000 | 0.1497 | 0.0268 | 5.59Γ | 18% |
| β | np.power(a, 2) (float32) | float32 | 10,000,000 | 18.8415 | 4.1425 | 4.55Γ | 22% |
| π‘ | np.power(a, 2) (float64) | float64 | 1,000 | 0.0022 | 0.0035 | 0.65Γ | 155% |
| β | np.power(a, 2) (float64) | float64 | 100,000 | 0.1534 | 0.0578 | 2.65Γ | 38% |
| β | np.power(a, 2) (float64) | float64 | 10,000,000 | 22.8226 | 13.5837 | 1.68Γ | 60% |
| π‘ | np.power(a, 3) (float16) | float16 | 1,000 | 0.0134 | 0.0172 | 0.78Γ | 128% |
| π‘ | np.power(a, 3) (float16) | float16 | 100,000 | 1.4800 | 2.4845 | 0.60Γ | 168% |
| π‘ | np.power(a, 3) (float16) | float16 | 10,000,000 | 162.6844 | 251.6184 | 0.65Γ | 155% |
| π‘ | np.power(a, 3) (float32) | float32 | 1,000 | 0.0058 | 0.0091 | 0.64Γ | 157% |
| π‘ | np.power(a, 3) (float32) | float32 | 100,000 | 0.6605 | 0.6694 | 0.99Γ | 101% |
| β | np.power(a, 3) (float32) | float32 | 10,000,000 | 71.1467 | 66.4474 | 1.07Γ | 93% |
| π‘ | np.power(a, 3) (float64) | float64 | 1,000 | 0.0097 | 0.0110 | 0.88Γ | 113% |
| π‘ | np.power(a, 3) (float64) | float64 | 100,000 | 1.0647 | 1.0958 | 0.97Γ | 103% |
| β | np.power(a, 3) (float64) | float64 | 10,000,000 | 116.0376 | 111.0662 | 1.04Γ | 96% |
| π‘ | np.reciprocal(a) (float16) | float16 | 1,000 | 0.0034 | 0.0045 | 0.74Γ | 134% |
| π‘ | np.reciprocal(a) (float16) | float16 | 100,000 | 0.2055 | 0.4096 | 0.50Γ | 199% |
| π‘ | np.reciprocal(a) (float16) | float16 | 10,000,000 | 22.5069 | 40.3090 | 0.56Γ | 179% |
| β« | np.reciprocal(a) (float32) | float32 | 1,000 | 0.0006 | 0.0016 | 0.36Γ | 275% |
| π‘ | np.reciprocal(a) (float32) | float32 | 100,000 | 0.0142 | 0.0259 | 0.55Γ | 182% |
| β | np.reciprocal(a) (float32) | float32 | 10,000,000 | 7.2180 | 4.1823 | 1.73Γ | 58% |
| β« | np.reciprocal(a) (float64) | float64 | 1,000 | 0.0008 | 0.0026 | 0.31Γ | 322% |
| π‘ | np.reciprocal(a) (float64) | float64 | 100,000 | 0.0376 | 0.0582 | 0.65Γ | 154% |
| π‘ | np.reciprocal(a) (float64) | float64 | 10,000,000 | 14.8973 | 16.0878 | 0.93Γ | 108% |
| β | np.round (float16) | float16 | 1,000 | 0.0058 | 0.0046 | 1.26Γ | 80% |
| β | np.round (float16) | float16 | 100,000 | 0.4702 | 0.4047 | 1.16Γ | 86% |
| β | np.round (float16) | float16 | 10,000,000 | 41.1908 | 39.4955 | 1.04Γ | 96% |
| π‘ | np.round (float32) | float32 | 1,000 | 0.0011 | 0.0016 | 0.74Γ | 136% |
| π | np.round (float32) | float32 | 100,000 | 0.0065 | 0.0269 | 0.24Γ | 411% |
| β | np.round (float32) | float32 | 10,000,000 | 7.6748 | 4.1299 | 1.86Γ | 54% |
| π | np.round (float64) | float64 | 1,000 | 0.0012 | 0.0054 | 0.22Γ | 458% |
| π | np.round (float64) | float64 | 100,000 | 0.0124 | 0.0549 | 0.23Γ | 441% |
| β | np.round (float64) | float64 | 10,000,000 | 14.9249 | 13.9922 | 1.07Γ | 94% |
| π | np.sign (float16) | float16 | 1,000 | 0.0014 | 0.0041 | 0.34Γ | 292% |
| π΄ | np.sign (float16) | float16 | 100,000 | 0.0922 | 0.6486 | 0.14Γ | 704% |
| π | np.sign (float16) | float16 | 10,000,000 | 14.1494 | 63.7746 | 0.22Γ | 451% |
| π | np.sign (float32) | float32 | 1,000 | 0.0011 | 0.0042 | 0.26Γ | 379% |
| π‘ | np.sign (float32) | float32 | 100,000 | 0.2912 | 0.3816 | 0.76Γ | 131% |
| π‘ | np.sign (float32) | float32 | 10,000,000 | 36.3663 | 38.1486 | 0.95Γ | 105% |
| π΄ | np.sign (float64) | float64 | 1,000 | 0.0011 | 0.0055 | 0.20Γ | 504% |
| π‘ | np.sign (float64) | float64 | 100,000 | 0.3016 | 0.3884 | 0.78Γ | 129% |
| π‘ | np.sign (float64) | float64 | 10,000,000 | 40.3152 | 44.8085 | 0.90Γ | 111% |
| π‘ | np.sin (float16) | float16 | 1,000 | 0.0053 | 0.0079 | 0.67Γ | 149% |
| π‘ | np.sin (float16) | float16 | 100,000 | 0.7007 | 1.1071 | 0.63Γ | 158% |
| π‘ | np.sin (float16) | float16 | 10,000,000 | 78.9906 | 111.0622 | 0.71Γ | 141% |
| β | np.sin (float32) | float32 | 1,000 | 0.0047 | 0.0038 | 1.24Γ | 80% |
| π‘ | np.sin (float32) | float32 | 100,000 | 0.7041 | 0.7070 | 1.00Γ | 100% |
| β | np.sin (float32) | float32 | 10,000,000 | 79.5476 | 70.5422 | 1.13Γ | 89% |
| β | np.sin (float64) | float64 | 1,000 | 0.0051 | 0.0041 | 1.25Γ | 80% |
| π‘ | np.sin (float64) | float64 | 100,000 | 0.6997 | 0.7363 | 0.95Γ | 105% |
| β | np.sin (float64) | float64 | 10,000,000 | 78.9810 | 78.7186 | 1.00Γ | 100% |
| β | np.sqrt (float16) | float16 | 1,000 | 0.0046 | 0.0040 | 1.15Γ | 87% |
| β | np.sqrt (float16) | float16 | 100,000 | 0.3887 | 0.3403 | 1.14Γ | 88% |
| β | np.sqrt (float16) | float16 | 10,000,000 | 47.6898 | 32.7937 | 1.45Γ | 69% |
| β« | np.sqrt (float32) | float32 | 1,000 | 0.0007 | 0.0015 | 0.44Γ | 227% |
| π‘ | np.sqrt (float32) | float32 | 100,000 | 0.0151 | 0.0276 | 0.55Γ | 182% |
| β | np.sqrt (float32) | float32 | 10,000,000 | 7.3481 | 4.2392 | 1.73Γ | 58% |
| β« | np.sqrt (float64) | float64 | 1,000 | 0.0010 | 0.0044 | 0.23Γ | 444% |
| π‘ | np.sqrt (float64) | float64 | 100,000 | 0.0558 | 0.0642 | 0.87Γ | 115% |
| β | np.sqrt (float64) | float64 | 10,000,000 | 15.0151 | 13.7258 | 1.09Γ | 91% |
| π‘ | np.square(a) (float16) | float16 | 1,000 | 0.0035 | 0.0049 | 0.72Γ | 138% |
| π | np.square(a) (float16) | float16 | 100,000 | 0.2064 | 0.4497 | 0.46Γ | 218% |
| π‘ | np.square(a) (float16) | float16 | 10,000,000 | 22.6650 | 43.4725 | 0.52Γ | 192% |
| β« | np.square(a) (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.34Γ | 298% |
| π | np.square(a) (float32) | float32 | 100,000 | 0.0058 | 0.0268 | 0.21Γ | 465% |
| β | np.square(a) (float32) | float32 | 10,000,000 | 7.3211 | 4.2896 | 1.71Γ | 59% |
| β« | np.square(a) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.21Γ | 484% |
| π | np.square(a) (float64) | float64 | 100,000 | 0.0123 | 0.0544 | 0.23Γ | 442% |
| π‘ | np.square(a) (float64) | float64 | 10,000,000 | 15.1366 | 16.4735 | 0.92Γ | 109% |
| π‘ | np.tan (float16) | float16 | 1,000 | 0.0048 | 0.0083 | 0.58Γ | 173% |
| π‘ | np.tan (float16) | float16 | 100,000 | 0.8034 | 1.1034 | 0.73Γ | 137% |
| π‘ | np.tan (float16) | float16 | 10,000,000 | 89.8512 | 110.0293 | 0.82Γ | 122% |
| β | np.tan (float32) | float32 | 1,000 | 0.0046 | 0.0037 | 1.23Γ | 81% |
| β | np.tan (float32) | float32 | 100,000 | 0.8164 | 0.6873 | 1.19Γ | 84% |
| β | np.tan (float32) | float32 | 10,000,000 | 90.0943 | 67.8999 | 1.33Γ | 75% |
| π‘ | np.tan (float64) | float64 | 1,000 | 0.0046 | 0.0050 | 0.93Γ | 108% |
| π‘ | np.tan (float64) | float64 | 100,000 | 0.8098 | 0.8479 | 0.95Γ | 105% |
| β | np.tan (float64) | float64 | 10,000,000 | 90.9533 | 89.5086 | 1.02Γ | 98% |
| β | np.trunc(a) (float16) | float16 | 1,000 | 0.0051 | 0.0038 | 1.34Γ | 75% |
| β | np.trunc(a) (float16) | float16 | 100,000 | 0.4499 | 0.3360 | 1.34Γ | 75% |
| β | np.trunc(a) (float16) | float16 | 10,000,000 | 42.5258 | 32.7977 | 1.30Γ | 77% |
| β« | np.trunc(a) (float32) | float32 | 1,000 | 0.0005 | 0.0014 | 0.38Γ | 262% |
| π | np.trunc(a) (float32) | float32 | 100,000 | 0.0058 | 0.0248 | 0.23Γ | 429% |
| β | np.trunc(a) (float32) | float32 | 10,000,000 | 7.3663 | 4.0853 | 1.80Γ | 56% |
| β« | np.trunc(a) (float64) | float64 | 1,000 | 0.0005 | 0.0019 | 0.28Γ | 359% |
| π | np.trunc(a) (float64) | float64 | 100,000 | 0.0124 | 0.0524 | 0.24Γ | 422% |
| π‘ | np.trunc(a) (float64) | float64 | 10,000,000 | 15.0096 | 16.0305 | 0.94Γ | 107% |
Reduction
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β | np.amax (complex128) | complex128 | 1,000 | 0.0030 | 0.0019 | 1.62Γ | 62% |
| β | np.amax (complex128) | complex128 | 100,000 | 0.1566 | 0.1153 | 1.36Γ | 74% |
| β | np.amax (complex128) | complex128 | 10,000,000 | 16.6373 | 13.6040 | 1.22Γ | 82% |
| β | np.amax (float16) | float16 | 1,000 | 0.0039 | 0.0012 | 3.16Γ | 32% |
| β | np.amax (float16) | float16 | 100,000 | 0.5006 | 0.3155 | 1.59Γ | 63% |
| β | np.amax (float16) | float16 | 10,000,000 | 50.1383 | 33.0696 | 1.52Γ | 66% |
| β« | np.amax (float32) | float32 | 1,000 | 0.0016 | 0.0007 | 2.32Γ | 43% |
| π‘ | np.amax (float32) | float32 | 100,000 | 0.0059 | 0.0085 | 0.70Γ | 144% |
| π‘ | np.amax (float32) | float32 | 10,000,000 | 1.4178 | 1.6223 | 0.87Γ | 114% |
| β« | np.amax (float64) | float64 | 1,000 | 0.0016 | 0.0008 | 2.14Γ | 47% |
| π‘ | np.amax (float64) | float64 | 100,000 | 0.0105 | 0.0181 | 0.58Γ | 173% |
| π‘ | np.amax (float64) | float64 | 10,000,000 | 3.2715 | 3.9602 | 0.83Γ | 121% |
| β« | np.amax (int16) | int16 | 1,000 | 0.0015 | 0.0008 | 2.01Γ | 50% |
| β | np.amax (int16) | int16 | 100,000 | 0.0030 | 0.0015 | 1.99Γ | 50% |
| π‘ | np.amax (int16) | int16 | 10,000,000 | 0.2827 | 0.3374 | 0.84Γ | 119% |
| β« | np.amax (int32) | int32 | 1,000 | 0.0016 | 0.0008 | 2.02Γ | 50% |
| β | np.amax (int32) | int32 | 100,000 | 0.0043 | 0.0023 | 1.87Γ | 54% |
| π‘ | np.amax (int32) | int32 | 10,000,000 | 1.0127 | 1.1192 | 0.91Γ | 110% |
| β« | np.amax (int64) | int64 | 1,000 | 0.0016 | 0.0008 | 2.07Γ | 48% |
| β | np.amax (int64) | int64 | 100,000 | 0.0088 | 0.0079 | 1.12Γ | 89% |
| β | np.amax (int64) | int64 | 10,000,000 | 3.8239 | 3.5708 | 1.07Γ | 93% |
| β | np.amax (int8) | int8 | 1,000 | 0.0016 | 0.0011 | 1.41Γ | 71% |
| β | np.amax (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.94Γ | 52% |
| π‘ | np.amax (int8) | int8 | 10,000,000 | 0.1343 | 0.1496 | 0.90Γ | 111% |
| β« | np.amax (uint16) | uint16 | 1,000 | 0.0015 | 0.0007 | 2.08Γ | 48% |
| β | np.amax (uint16) | uint16 | 100,000 | 0.0034 | 0.0015 | 2.20Γ | 45% |
| π‘ | np.amax (uint16) | uint16 | 10,000,000 | 0.2964 | 0.3173 | 0.93Γ | 107% |
| β« | np.amax (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.57Γ | 39% |
| β | np.amax (uint32) | uint32 | 100,000 | 0.0055 | 0.0032 | 1.72Γ | 58% |
| π‘ | np.amax (uint32) | uint32 | 10,000,000 | 1.0003 | 1.0486 | 0.95Γ | 105% |
| β« | np.amax (uint64) | uint64 | 1,000 | 0.0017 | 0.0007 | 2.54Γ | 39% |
| β | np.amax (uint64) | uint64 | 100,000 | 0.0119 | 0.0103 | 1.15Γ | 87% |
| β | np.amax (uint64) | uint64 | 10,000,000 | 3.8010 | 3.6843 | 1.03Γ | 97% |
| β | np.amax (uint8) | uint8 | 1,000 | 0.0016 | 0.0012 | 1.38Γ | 72% |
| β | np.amax (uint8) | uint8 | 100,000 | 0.0024 | 0.0012 | 1.97Γ | 51% |
| β | np.amax (uint8) | uint8 | 10,000,000 | 0.1984 | 0.1471 | 1.35Γ | 74% |
| β | np.amax axis=0 (complex128) | complex128 | 1,000 | 0.0029 | 0.0029 | 1.02Γ | 98% |
| β | np.amax axis=0 (complex128) | complex128 | 100,000 | 0.1417 | 0.1202 | 1.18Γ | 85% |
| β | np.amax axis=0 (complex128) | complex128 | 10,000,000 | 15.7452 | 13.1310 | 1.20Γ | 83% |
| β | np.amax axis=0 (float16) | float16 | 1,000 | 0.0039 | 0.0021 | 1.92Γ | 52% |
| β | np.amax axis=0 (float16) | float16 | 100,000 | 0.5054 | 0.5030 | 1.00Γ | 100% |
| π‘ | np.amax axis=0 (float16) | float16 | 10,000,000 | 49.4449 | 75.7723 | 0.65Γ | 153% |
| β« | np.amax axis=0 (float32) | float32 | 1,000 | 0.0020 | 0.0008 | 2.47Γ | 40% |
| π‘ | np.amax axis=0 (float32) | float32 | 100,000 | 0.0097 | 0.0112 | 0.87Γ | 115% |
| π‘ | np.amax axis=0 (float32) | float32 | 10,000,000 | 1.7638 | 1.9930 | 0.89Γ | 113% |
| β« | np.amax axis=0 (float64) | float64 | 1,000 | 0.0020 | 0.0009 | 2.18Γ | 46% |
| π‘ | np.amax axis=0 (float64) | float64 | 100,000 | 0.0165 | 0.0175 | 0.94Γ | 106% |
| π‘ | np.amax axis=0 (float64) | float64 | 10,000,000 | 4.1500 | 4.2356 | 0.98Γ | 102% |
| β« | np.amax axis=0 (int16) | int16 | 1,000 | 0.0019 | 0.0007 | 2.81Γ | 36% |
| β | np.amax axis=0 (int16) | int16 | 100,000 | 0.0062 | 0.0037 | 1.68Γ | 60% |
| β | np.amax axis=0 (int16) | int16 | 10,000,000 | 0.4174 | 0.3993 | 1.04Γ | 96% |
| β« | np.amax axis=0 (int32) | int32 | 1,000 | 0.0019 | 0.0008 | 2.51Γ | 40% |
| β | np.amax axis=0 (int32) | int32 | 100,000 | 0.0099 | 0.0055 | 1.81Γ | 55% |
| β | np.amax axis=0 (int32) | int32 | 10,000,000 | 1.5302 | 1.4232 | 1.07Γ | 93% |
| β« | np.amax axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0008 | 2.46Γ | 41% |
| β | np.amax axis=0 (int64) | int64 | 100,000 | 0.0139 | 0.0129 | 1.07Γ | 93% |
| β | np.amax axis=0 (int64) | int64 | 10,000,000 | 4.5156 | 3.7700 | 1.20Γ | 84% |
| β | np.amax axis=0 (int8) | int8 | 1,000 | 0.0019 | 0.0014 | 1.44Γ | 70% |
| β | np.amax axis=0 (int8) | int8 | 100,000 | 0.0075 | 0.0038 | 2.00Γ | 50% |
| β | np.amax axis=0 (int8) | int8 | 10,000,000 | 0.1960 | 0.1810 | 1.08Γ | 92% |
| β« | np.amax axis=0 (uint16) | uint16 | 1,000 | 0.0019 | 0.0007 | 2.79Γ | 36% |
| β | np.amax axis=0 (uint16) | uint16 | 100,000 | 0.0062 | 0.0037 | 1.71Γ | 58% |
| β | np.amax axis=0 (uint16) | uint16 | 10,000,000 | 0.4066 | 0.4009 | 1.01Γ | 99% |
| β« | np.amax axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0008 | 2.39Γ | 42% |
| β | np.amax axis=0 (uint32) | uint32 | 100,000 | 0.0105 | 0.0055 | 1.90Γ | 53% |
| β | np.amax axis=0 (uint32) | uint32 | 10,000,000 | 1.5582 | 1.3678 | 1.14Γ | 88% |
| β« | np.amax axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0009 | 2.19Γ | 46% |
| β | np.amax axis=0 (uint64) | uint64 | 100,000 | 0.0165 | 0.0149 | 1.10Γ | 90% |
| β | np.amax axis=0 (uint64) | uint64 | 10,000,000 | 4.8129 | 3.8642 | 1.25Γ | 80% |
| β« | np.amax axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.90Γ | 34% |
| β | np.amax axis=0 (uint8) | uint8 | 100,000 | 0.0079 | 0.0031 | 2.60Γ | 38% |
| β | np.amax axis=0 (uint8) | uint8 | 10,000,000 | 0.1980 | 0.1853 | 1.07Γ | 94% |
| β | np.amin (complex128) | complex128 | 1,000 | 0.0030 | 0.0018 | 1.65Γ | 61% |
| β | np.amin (complex128) | complex128 | 100,000 | 0.1631 | 0.1144 | 1.43Γ | 70% |
| β | np.amin (complex128) | complex128 | 10,000,000 | 16.4507 | 13.7923 | 1.19Γ | 84% |
| β | np.amin (float16) | float16 | 1,000 | 0.0039 | 0.0011 | 3.40Γ | 29% |
| β | np.amin (float16) | float16 | 100,000 | 0.5184 | 0.2957 | 1.75Γ | 57% |
| β | np.amin (float16) | float16 | 10,000,000 | 52.2634 | 30.6378 | 1.71Γ | 59% |
| β« | np.amin (float32) | float32 | 1,000 | 0.0016 | 0.0008 | 1.96Γ | 51% |
| π‘ | np.amin (float32) | float32 | 100,000 | 0.0059 | 0.0085 | 0.70Γ | 144% |
| π‘ | np.amin (float32) | float32 | 10,000,000 | 1.4309 | 1.6079 | 0.89Γ | 112% |
| β« | np.amin (float64) | float64 | 1,000 | 0.0016 | 0.0008 | 2.13Γ | 47% |
| π‘ | np.amin (float64) | float64 | 100,000 | 0.0102 | 0.0160 | 0.64Γ | 157% |
| π‘ | np.amin (float64) | float64 | 10,000,000 | 3.4121 | 3.9668 | 0.86Γ | 116% |
| β« | np.amin (int16) | int16 | 1,000 | 0.0016 | 0.0007 | 2.18Γ | 46% |
| β | np.amin (int16) | int16 | 100,000 | 0.0034 | 0.0015 | 2.24Γ | 45% |
| π‘ | np.amin (int16) | int16 | 10,000,000 | 0.3086 | 0.3322 | 0.93Γ | 108% |
| β« | np.amin (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.23Γ | 45% |
| β | np.amin (int32) | int32 | 100,000 | 0.0043 | 0.0023 | 1.90Γ | 53% |
| β | np.amin (int32) | int32 | 10,000,000 | 1.1001 | 1.0492 | 1.05Γ | 95% |
| β« | np.amin (int64) | int64 | 1,000 | 0.0016 | 0.0007 | 2.32Γ | 43% |
| β | np.amin (int64) | int64 | 100,000 | 0.0105 | 0.0078 | 1.34Γ | 75% |
| π‘ | np.amin (int64) | int64 | 10,000,000 | 3.3743 | 3.5906 | 0.94Γ | 106% |
| β« | np.amin (int8) | int8 | 1,000 | 0.0016 | 0.0007 | 2.21Γ | 45% |
| β | np.amin (int8) | int8 | 100,000 | 0.0027 | 0.0012 | 2.21Γ | 45% |
| π‘ | np.amin (int8) | int8 | 10,000,000 | 0.1287 | 0.1462 | 0.88Γ | 114% |
| β« | np.amin (uint16) | uint16 | 1,000 | 0.0016 | 0.0007 | 2.21Γ | 45% |
| β | np.amin (uint16) | uint16 | 100,000 | 0.0039 | 0.0015 | 2.62Γ | 38% |
| β | np.amin (uint16) | uint16 | 10,000,000 | 0.3188 | 0.3184 | 1.00Γ | 100% |
| β« | np.amin (uint32) | uint32 | 1,000 | 0.0016 | 0.0006 | 2.49Γ | 40% |
| β | np.amin (uint32) | uint32 | 100,000 | 0.0044 | 0.0032 | 1.35Γ | 74% |
| β | np.amin (uint32) | uint32 | 10,000,000 | 1.0969 | 1.0524 | 1.04Γ | 96% |
| β« | np.amin (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.01Γ | 50% |
| β | np.amin (uint64) | uint64 | 100,000 | 0.0118 | 0.0102 | 1.16Γ | 86% |
| β | np.amin (uint64) | uint64 | 10,000,000 | 3.7562 | 3.7107 | 1.01Γ | 99% |
| β« | np.amin (uint8) | uint8 | 1,000 | 0.0016 | 0.0007 | 2.20Γ | 45% |
| β | np.amin (uint8) | uint8 | 100,000 | 0.0028 | 0.0012 | 2.34Γ | 43% |
| π‘ | np.amin (uint8) | uint8 | 10,000,000 | 0.1207 | 0.1490 | 0.81Γ | 124% |
| π‘ | np.amin axis=0 (complex128) | complex128 | 1,000 | 0.0029 | 0.0032 | 0.93Γ | 107% |
| π‘ | np.amin axis=0 (complex128) | complex128 | 100,000 | 0.1390 | 0.1482 | 0.94Γ | 107% |
| β | np.amin axis=0 (complex128) | complex128 | 10,000,000 | 15.7175 | 15.3632 | 1.02Γ | 98% |
| β | np.amin axis=0 (float16) | float16 | 1,000 | 0.0040 | 0.0021 | 1.94Γ | 52% |
| π‘ | np.amin axis=0 (float16) | float16 | 100,000 | 0.4748 | 0.5203 | 0.91Γ | 110% |
| π‘ | np.amin axis=0 (float16) | float16 | 10,000,000 | 47.0860 | 78.8804 | 0.60Γ | 168% |
| β« | np.amin axis=0 (float32) | float32 | 1,000 | 0.0020 | 0.0008 | 2.60Γ | 38% |
| β | np.amin axis=0 (float32) | float32 | 100,000 | 0.0100 | 0.0098 | 1.01Γ | 99% |
| π‘ | np.amin axis=0 (float32) | float32 | 10,000,000 | 1.6982 | 1.8897 | 0.90Γ | 111% |
| β« | np.amin axis=0 (float64) | float64 | 1,000 | 0.0020 | 0.0009 | 2.38Γ | 42% |
| β | np.amin axis=0 (float64) | float64 | 100,000 | 0.0170 | 0.0168 | 1.01Γ | 99% |
| π‘ | np.amin axis=0 (float64) | float64 | 10,000,000 | 4.0838 | 4.2063 | 0.97Γ | 103% |
| β« | np.amin axis=0 (int16) | int16 | 1,000 | 0.0019 | 0.0006 | 3.03Γ | 33% |
| β | np.amin axis=0 (int16) | int16 | 100,000 | 0.0072 | 0.0036 | 1.98Γ | 50% |
| β | np.amin axis=0 (int16) | int16 | 10,000,000 | 0.4065 | 0.3871 | 1.05Γ | 95% |
| β« | np.amin axis=0 (int32) | int32 | 1,000 | 0.0019 | 0.0007 | 2.88Γ | 35% |
| β | np.amin axis=0 (int32) | int32 | 100,000 | 0.0099 | 0.0055 | 1.82Γ | 55% |
| β | np.amin axis=0 (int32) | int32 | 10,000,000 | 1.4950 | 1.3257 | 1.13Γ | 89% |
| β« | np.amin axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0008 | 2.60Γ | 38% |
| β | np.amin axis=0 (int64) | int64 | 100,000 | 0.0151 | 0.0130 | 1.15Γ | 87% |
| β | np.amin axis=0 (int64) | int64 | 10,000,000 | 4.2095 | 3.6711 | 1.15Γ | 87% |
| β« | np.amin axis=0 (int8) | int8 | 1,000 | 0.0021 | 0.0006 | 3.36Γ | 30% |
| β | np.amin axis=0 (int8) | int8 | 100,000 | 0.0070 | 0.0042 | 1.67Γ | 60% |
| β | np.amin axis=0 (int8) | int8 | 10,000,000 | 0.1946 | 0.1865 | 1.04Γ | 96% |
| β« | np.amin axis=0 (uint16) | uint16 | 1,000 | 0.0024 | 0.0007 | 3.58Γ | 28% |
| β | np.amin axis=0 (uint16) | uint16 | 100,000 | 0.0062 | 0.0037 | 1.69Γ | 59% |
| β | np.amin axis=0 (uint16) | uint16 | 10,000,000 | 0.4283 | 0.3837 | 1.12Γ | 90% |
| β« | np.amin axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.68Γ | 37% |
| β | np.amin axis=0 (uint32) | uint32 | 100,000 | 0.0101 | 0.0055 | 1.84Γ | 54% |
| β | np.amin axis=0 (uint32) | uint32 | 10,000,000 | 1.4473 | 1.4195 | 1.02Γ | 98% |
| β« | np.amin axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0008 | 2.51Γ | 40% |
| β | np.amin axis=0 (uint64) | uint64 | 100,000 | 0.0162 | 0.0149 | 1.08Γ | 92% |
| β | np.amin axis=0 (uint64) | uint64 | 10,000,000 | 6.5201 | 3.9728 | 1.64Γ | 61% |
| β« | np.amin axis=0 (uint8) | uint8 | 1,000 | 0.0031 | 0.0006 | 4.95Γ | 20% |
| β | np.amin axis=0 (uint8) | uint8 | 100,000 | 0.0068 | 0.0050 | 1.36Γ | 74% |
| β | np.amin axis=0 (uint8) | uint8 | 10,000,000 | 0.1993 | 0.1898 | 1.05Γ | 95% |
| π‘ | np.argmax (complex128) | complex128 | 1,000 | 0.0019 | 0.0022 | 0.87Γ | 115% |
| π‘ | np.argmax (complex128) | complex128 | 100,000 | 0.1266 | 0.1481 | 0.85Γ | 117% |
| β | np.argmax (complex128) | complex128 | 10,000,000 | 13.9015 | 13.8404 | 1.00Γ | 100% |
| π‘ | np.argmax (float16) | float16 | 1,000 | 0.0029 | 0.0031 | 0.94Γ | 106% |
| β | np.argmax (float16) | float16 | 100,000 | 0.4335 | 0.2184 | 1.98Γ | 50% |
| β | np.argmax (float16) | float16 | 10,000,000 | 43.8671 | 14.1525 | 3.10Γ | 32% |
| β« | np.argmax (float32) | float32 | 1,000 | 0.0009 | 0.0008 | 1.05Γ | 95% |
| π΄ | np.argmax (float32) | float32 | 100,000 | 0.0087 | 0.0580 | 0.15Γ | 669% |
| π | np.argmax (float32) | float32 | 10,000,000 | 1.9137 | 5.7625 | 0.33Γ | 301% |
| β« | np.argmax (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.78Γ | 128% |
| π | np.argmax (float64) | float64 | 100,000 | 0.0167 | 0.0592 | 0.28Γ | 355% |
| π‘ | np.argmax (float64) | float64 | 10,000,000 | 4.2645 | 6.8295 | 0.62Γ | 160% |
| β« | np.argmax (int16) | int16 | 1,000 | 0.0008 | 0.0007 | 1.13Γ | 89% |
| β | np.argmax (int16) | int16 | 100,000 | 0.0035 | 0.0032 | 1.07Γ | 93% |
| β | np.argmax (int16) | int16 | 10,000,000 | 0.4148 | 0.3569 | 1.16Γ | 86% |
| β« | np.argmax (int32) | int32 | 1,000 | 0.0009 | 0.0007 | 1.17Γ | 85% |
| β | np.argmax (int32) | int32 | 100,000 | 0.0060 | 0.0057 | 1.05Γ | 95% |
| β | np.argmax (int32) | int32 | 10,000,000 | 1.6383 | 1.1982 | 1.37Γ | 73% |
| β« | np.argmax (int64) | int64 | 1,000 | 0.0011 | 0.0009 | 1.21Γ | 83% |
| π | np.argmax (int64) | int64 | 100,000 | 0.0156 | 0.0524 | 0.30Γ | 335% |
| π‘ | np.argmax (int64) | int64 | 10,000,000 | 4.3721 | 4.6726 | 0.94Γ | 107% |
| β« | np.argmax (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.23Γ | 82% |
| π‘ | np.argmax (int8) | int8 | 100,000 | 0.0023 | 0.0023 | 1.00Γ | 100% |
| π‘ | np.argmax (int8) | int8 | 10,000,000 | 0.1639 | 0.2730 | 0.60Γ | 167% |
| β« | np.argmax (uint16) | uint16 | 1,000 | 0.0010 | 0.0007 | 1.41Γ | 71% |
| β | np.argmax (uint16) | uint16 | 100,000 | 0.0057 | 0.0033 | 1.74Γ | 58% |
| β | np.argmax (uint16) | uint16 | 10,000,000 | 0.5121 | 0.3437 | 1.49Γ | 67% |
| β« | np.argmax (uint32) | uint32 | 1,000 | 0.0009 | 0.0007 | 1.23Γ | 81% |
| β | np.argmax (uint32) | uint32 | 100,000 | 0.0101 | 0.0057 | 1.76Γ | 57% |
| β | np.argmax (uint32) | uint32 | 10,000,000 | 1.8813 | 1.2228 | 1.54Γ | 65% |
| β« | np.argmax (uint64) | uint64 | 1,000 | 0.0010 | 0.0010 | 0.97Γ | 103% |
| π | np.argmax (uint64) | uint64 | 100,000 | 0.0173 | 0.0601 | 0.29Γ | 347% |
| π‘ | np.argmax (uint64) | uint64 | 10,000,000 | 4.6673 | 4.9980 | 0.93Γ | 107% |
| β« | np.argmax (uint8) | uint8 | 1,000 | 0.0009 | 0.0007 | 1.27Γ | 79% |
| β | np.argmax (uint8) | uint8 | 100,000 | 0.0034 | 0.0023 | 1.47Γ | 68% |
| β | np.argmax (uint8) | uint8 | 10,000,000 | 0.2183 | 0.1747 | 1.25Γ | 80% |
| β | np.argmin (complex128) | complex128 | 1,000 | 0.0021 | 0.0017 | 1.21Γ | 83% |
| β | np.argmin (complex128) | complex128 | 100,000 | 0.1271 | 0.1146 | 1.11Γ | 90% |
| π‘ | np.argmin (complex128) | complex128 | 10,000,000 | 14.2050 | 20.0184 | 0.71Γ | 141% |
| β | np.argmin (float16) | float16 | 1,000 | 0.0030 | 0.0021 | 1.42Γ | 70% |
| β | np.argmin (float16) | float16 | 100,000 | 0.4183 | 0.1428 | 2.93Γ | 34% |
| β | np.argmin (float16) | float16 | 10,000,000 | 42.0779 | 21.9963 | 1.91Γ | 52% |
| β« | np.argmin (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.74Γ | 136% |
| π΄ | np.argmin (float32) | float32 | 100,000 | 0.0085 | 0.0566 | 0.15Γ | 666% |
| π | np.argmin (float32) | float32 | 10,000,000 | 1.9936 | 6.5124 | 0.31Γ | 327% |
| β« | np.argmin (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.81Γ | 124% |
| π | np.argmin (float64) | float64 | 100,000 | 0.0172 | 0.0571 | 0.30Γ | 332% |
| π | np.argmin (float64) | float64 | 10,000,000 | 4.2683 | 9.2928 | 0.46Γ | 218% |
| β« | np.argmin (int16) | int16 | 1,000 | 0.0009 | 0.0007 | 1.22Γ | 82% |
| β | np.argmin (int16) | int16 | 100,000 | 0.0041 | 0.0017 | 2.43Γ | 41% |
| π | np.argmin (int16) | int16 | 10,000,000 | 0.3710 | 0.7659 | 0.48Γ | 206% |
| β« | np.argmin (int32) | int32 | 1,000 | 0.0009 | 0.0007 | 1.18Γ | 85% |
| β | np.argmin (int32) | int32 | 100,000 | 0.0064 | 0.0027 | 2.42Γ | 41% |
| π | np.argmin (int32) | int32 | 10,000,000 | 1.5661 | 3.8037 | 0.41Γ | 243% |
| β« | np.argmin (int64) | int64 | 1,000 | 0.0009 | 0.0009 | 1.05Γ | 95% |
| π | np.argmin (int64) | int64 | 100,000 | 0.0141 | 0.0285 | 0.49Γ | 202% |
| π | np.argmin (int64) | int64 | 10,000,000 | 4.6382 | 10.1031 | 0.46Γ | 218% |
| β« | np.argmin (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.23Γ | 82% |
| β« | np.argmin (int8) | int8 | 100,000 | 0.0025 | 0.0010 | 2.51Γ | 40% |
| π‘ | np.argmin (int8) | int8 | 10,000,000 | 0.1575 | 0.1631 | 0.97Γ | 104% |
| β« | np.argmin (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.26Γ | 80% |
| β | np.argmin (uint16) | uint16 | 100,000 | 0.0057 | 0.0017 | 3.38Γ | 30% |
| π‘ | np.argmin (uint16) | uint16 | 10,000,000 | 0.5604 | 0.7560 | 0.74Γ | 135% |
| β« | np.argmin (uint32) | uint32 | 1,000 | 0.0009 | 0.0007 | 1.17Γ | 86% |
| β | np.argmin (uint32) | uint32 | 100,000 | 0.0104 | 0.0036 | 2.85Γ | 35% |
| π | np.argmin (uint32) | uint32 | 10,000,000 | 1.8309 | 4.1115 | 0.45Γ | 225% |
| β« | np.argmin (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.06Γ | 94% |
| π‘ | np.argmin (uint64) | uint64 | 100,000 | 0.0172 | 0.0334 | 0.52Γ | 194% |
| π | np.argmin (uint64) | uint64 | 10,000,000 | 4.5163 | 9.1975 | 0.49Γ | 204% |
| β« | np.argmin (uint8) | uint8 | 1,000 | 0.0009 | 0.0007 | 1.22Γ | 82% |
| β« | np.argmin (uint8) | uint8 | 100,000 | 0.0031 | 0.0010 | 3.17Γ | 32% |
| β | np.argmin (uint8) | uint8 | 10,000,000 | 0.2245 | 0.1651 | 1.36Γ | 74% |
| π‘ | np.cumprod(a) (float16) | float16 | 1,000 | 0.0063 | 0.0099 | 0.64Γ | 157% |
| π | np.cumprod(a) (float16) | float16 | 100,000 | 0.4134 | 0.9650 | 0.43Γ | 233% |
| π | np.cumprod(a) (float16) | float16 | 10,000,000 | 44.2839 | 94.7772 | 0.47Γ | 214% |
| β | np.cumprod(a) (float32) | float32 | 1,000 | 0.0038 | 0.0031 | 1.23Γ | 81% |
| β | np.cumprod(a) (float32) | float32 | 100,000 | 0.1696 | 0.1138 | 1.49Γ | 67% |
| β | np.cumprod(a) (float32) | float32 | 10,000,000 | 20.7899 | 10.2126 | 2.04Γ | 49% |
| π‘ | np.cumprod(a) (float64) | float64 | 1,000 | 0.0039 | 0.0046 | 0.84Γ | 119% |
| β | np.cumprod(a) (float64) | float64 | 100,000 | 0.1674 | 0.1473 | 1.14Γ | 88% |
| β | np.cumprod(a) (float64) | float64 | 10,000,000 | 25.0159 | 14.1834 | 1.76Γ | 57% |
| π‘ | np.cumsum (complex128) | complex128 | 1,000 | 0.0030 | 0.0032 | 0.95Γ | 105% |
| β | np.cumsum (complex128) | complex128 | 100,000 | 0.3630 | 0.2362 | 1.54Γ | 65% |
| β | np.cumsum (complex128) | complex128 | 10,000,000 | 52.8389 | 25.0336 | 2.11Γ | 47% |
| π‘ | np.cumsum (float16) | float16 | 1,000 | 0.0072 | 0.0095 | 0.76Γ | 131% |
| π‘ | np.cumsum (float16) | float16 | 100,000 | 0.4668 | 0.9169 | 0.51Γ | 196% |
| π‘ | np.cumsum (float16) | float16 | 10,000,000 | 49.2891 | 91.6228 | 0.54Γ | 186% |
| β | np.cumsum (float32) | float32 | 1,000 | 0.0028 | 0.0017 | 1.60Γ | 62% |
| β | np.cumsum (float32) | float32 | 100,000 | 0.1619 | 0.0784 | 2.06Γ | 48% |
| β | np.cumsum (float32) | float32 | 10,000,000 | 19.8910 | 7.4357 | 2.67Γ | 37% |
| β | np.cumsum (float64) | float64 | 1,000 | 0.0029 | 0.0021 | 1.39Γ | 72% |
| β | np.cumsum (float64) | float64 | 100,000 | 0.1686 | 0.1272 | 1.33Γ | 75% |
| β | np.cumsum (float64) | float64 | 10,000,000 | 24.4835 | 14.3123 | 1.71Γ | 58% |
| β | np.cumsum (int16) | int16 | 1,000 | 0.0025 | 0.0019 | 1.30Γ | 77% |
| β | np.cumsum (int16) | int16 | 100,000 | 0.3268 | 0.1215 | 2.69Γ | 37% |
| β | np.cumsum (int16) | int16 | 10,000,000 | 28.8643 | 11.0684 | 2.61Γ | 38% |
| β | np.cumsum (int32) | int32 | 1,000 | 0.0025 | 0.0017 | 1.48Γ | 67% |
| β | np.cumsum (int32) | int32 | 100,000 | 0.3144 | 0.1209 | 2.60Γ | 38% |
| β | np.cumsum (int32) | int32 | 10,000,000 | 29.3769 | 11.6781 | 2.52Γ | 40% |
| π‘ | np.cumsum (int64) | int64 | 1,000 | 0.0017 | 0.0020 | 0.87Γ | 115% |
| π | np.cumsum (int64) | int64 | 100,000 | 0.0298 | 0.1205 | 0.25Γ | 404% |
| β | np.cumsum (int64) | int64 | 10,000,000 | 15.7029 | 15.3993 | 1.02Γ | 98% |
| β | np.cumsum (int8) | int8 | 1,000 | 0.0033 | 0.0019 | 1.71Γ | 58% |
| β | np.cumsum (int8) | int8 | 100,000 | 0.3408 | 0.1194 | 2.85Γ | 35% |
| β | np.cumsum (int8) | int8 | 10,000,000 | 28.6022 | 10.6443 | 2.69Γ | 37% |
| β | np.cumsum (uint16) | uint16 | 1,000 | 0.0025 | 0.0019 | 1.28Γ | 78% |
| β | np.cumsum (uint16) | uint16 | 100,000 | 0.3213 | 0.1183 | 2.72Γ | 37% |
| β | np.cumsum (uint16) | uint16 | 10,000,000 | 29.1560 | 11.1585 | 2.61Γ | 38% |
| β | np.cumsum (uint32) | uint32 | 1,000 | 0.0025 | 0.0021 | 1.17Γ | 86% |
| β | np.cumsum (uint32) | uint32 | 100,000 | 0.3202 | 0.1199 | 2.67Γ | 38% |
| β | np.cumsum (uint32) | uint32 | 10,000,000 | 29.2400 | 12.9004 | 2.27Γ | 44% |
| π‘ | np.cumsum (uint64) | uint64 | 1,000 | 0.0017 | 0.0019 | 0.93Γ | 108% |
| π | np.cumsum (uint64) | uint64 | 100,000 | 0.0335 | 0.1206 | 0.28Γ | 359% |
| β | np.cumsum (uint64) | uint64 | 10,000,000 | 16.3669 | 14.9772 | 1.09Γ | 92% |
| β | np.cumsum (uint8) | uint8 | 1,000 | 0.0024 | 0.0021 | 1.15Γ | 87% |
| β | np.cumsum (uint8) | uint8 | 100,000 | 0.3392 | 0.1173 | 2.89Γ | 35% |
| β | np.cumsum (uint8) | uint8 | 10,000,000 | 29.4047 | 10.6918 | 2.75Γ | 36% |
| β | np.mean (complex128) | complex128 | 1,000 | 0.0026 | 0.0010 | 2.58Γ | 39% |
| β | np.mean (complex128) | complex128 | 100,000 | 0.0303 | 0.0116 | 2.62Γ | 38% |
| β | np.mean (complex128) | complex128 | 10,000,000 | 8.5271 | 6.8972 | 1.24Γ | 81% |
| β | np.mean (float16) | float16 | 1,000 | 0.0047 | 0.0012 | 3.86Γ | 26% |
| β | np.mean (float16) | float16 | 100,000 | 0.1029 | 0.0804 | 1.28Γ | 78% |
| β | np.mean (float16) | float16 | 10,000,000 | 10.3777 | 8.0110 | 1.29Γ | 77% |
| β« | np.mean (float32) | float32 | 1,000 | 0.0037 | 0.0007 | 5.29Γ | 19% |
| β | np.mean (float32) | float32 | 100,000 | 0.0170 | 0.0032 | 5.22Γ | 19% |
| β | np.mean (float32) | float32 | 10,000,000 | 2.8795 | 1.1770 | 2.45Γ | 41% |
| β« | np.mean (float64) | float64 | 1,000 | 0.0024 | 0.0008 | 2.98Γ | 34% |
| β | np.mean (float64) | float64 | 100,000 | 0.0167 | 0.0062 | 2.70Γ | 37% |
| β | np.mean (float64) | float64 | 10,000,000 | 4.8035 | 3.0818 | 1.56Γ | 64% |
| β« | np.mean (int16) | int16 | 1,000 | 0.0030 | 0.0008 | 3.63Γ | 28% |
| β | np.mean (int16) | int16 | 100,000 | 0.0520 | 0.0191 | 2.73Γ | 37% |
| β | np.mean (int16) | int16 | 10,000,000 | 5.0434 | 3.6523 | 1.38Γ | 72% |
| β« | np.mean (int32) | int32 | 1,000 | 0.0031 | 0.0008 | 3.70Γ | 27% |
| β | np.mean (int32) | int32 | 100,000 | 0.0384 | 0.0192 | 2.00Γ | 50% |
| β | np.mean (int32) | int32 | 10,000,000 | 4.5473 | 2.8394 | 1.60Γ | 62% |
| β« | np.mean (int64) | int64 | 1,000 | 0.0029 | 0.0007 | 4.32Γ | 23% |
| β | np.mean (int64) | int64 | 100,000 | 0.0342 | 0.0064 | 5.37Γ | 19% |
| β | np.mean (int64) | int64 | 10,000,000 | 6.1407 | 3.0443 | 2.02Γ | 50% |
| β« | np.mean (int8) | int8 | 1,000 | 0.0044 | 0.0009 | 5.05Γ | 20% |
| β | np.mean (int8) | int8 | 100,000 | 0.0521 | 0.0188 | 2.78Γ | 36% |
| β | np.mean (int8) | int8 | 10,000,000 | 5.0129 | 1.8465 | 2.71Γ | 37% |
| β« | np.mean (uint16) | uint16 | 1,000 | 0.0029 | 0.0008 | 3.55Γ | 28% |
| β | np.mean (uint16) | uint16 | 100,000 | 0.0542 | 0.0191 | 2.84Γ | 35% |
| β | np.mean (uint16) | uint16 | 10,000,000 | 5.1089 | 2.2867 | 2.23Γ | 45% |
| β« | np.mean (uint32) | uint32 | 1,000 | 0.0030 | 0.0008 | 3.59Γ | 28% |
| β | np.mean (uint32) | uint32 | 100,000 | 0.0399 | 0.0192 | 2.08Γ | 48% |
| β | np.mean (uint32) | uint32 | 10,000,000 | 4.6300 | 2.8166 | 1.64Γ | 61% |
| β« | np.mean (uint64) | uint64 | 1,000 | 0.0030 | 0.0008 | 3.81Γ | 26% |
| β | np.mean (uint64) | uint64 | 100,000 | 0.0521 | 0.0064 | 8.16Γ | 12% |
| β | np.mean (uint64) | uint64 | 10,000,000 | 7.8297 | 3.0240 | 2.59Γ | 39% |
| β« | np.mean (uint8) | uint8 | 1,000 | 0.0031 | 0.0009 | 3.54Γ | 28% |
| β | np.mean (uint8) | uint8 | 100,000 | 0.0570 | 0.0190 | 3.01Γ | 33% |
| β | np.mean (uint8) | uint8 | 10,000,000 | 5.2869 | 1.8522 | 2.85Γ | 35% |
| β | np.mean axis=0 (complex128) | complex128 | 1,000 | 0.0031 | 0.0025 | 1.23Γ | 81% |
| π‘ | np.mean axis=0 (complex128) | complex128 | 100,000 | 0.0174 | 0.0243 | 0.71Γ | 140% |
| β | np.mean axis=0 (complex128) | complex128 | 10,000,000 | 7.4300 | 7.1318 | 1.04Γ | 96% |
| β | np.mean axis=0 (float16) | float16 | 1,000 | 0.0056 | 0.0035 | 1.59Γ | 63% |
| π‘ | np.mean axis=0 (float16) | float16 | 100,000 | 0.0793 | 0.1507 | 0.53Γ | 190% |
| π | np.mean axis=0 (float16) | float16 | 10,000,000 | 7.0247 | 14.1582 | 0.50Γ | 202% |
| β | np.mean axis=0 (float32) | float32 | 1,000 | 0.0036 | 0.0021 | 1.71Γ | 59% |
| π‘ | np.mean axis=0 (float32) | float32 | 100,000 | 0.0098 | 0.0101 | 0.97Γ | 103% |
| π‘ | np.mean axis=0 (float32) | float32 | 10,000,000 | 1.3927 | 1.4838 | 0.94Γ | 106% |
| β | np.mean axis=0 (float64) | float64 | 1,000 | 0.0029 | 0.0022 | 1.34Γ | 75% |
| β | np.mean axis=0 (float64) | float64 | 100,000 | 0.0155 | 0.0150 | 1.03Γ | 97% |
| β | np.mean axis=0 (float64) | float64 | 10,000,000 | 3.7262 | 3.5836 | 1.04Γ | 96% |
| β« | np.mean axis=0 (int16) | int16 | 1,000 | 0.0035 | 0.0008 | 4.58Γ | 22% |
| β | np.mean axis=0 (int16) | int16 | 100,000 | 0.0573 | 0.0084 | 6.79Γ | 15% |
| β | np.mean axis=0 (int16) | int16 | 10,000,000 | 5.1418 | 0.9907 | 5.19Γ | 19% |
| β« | np.mean axis=0 (int32) | int32 | 1,000 | 0.0036 | 0.0008 | 4.45Γ | 22% |
| β | np.mean axis=0 (int32) | int32 | 100,000 | 0.0399 | 0.0078 | 5.11Γ | 20% |
| β | np.mean axis=0 (int32) | int32 | 10,000,000 | 4.4363 | 1.9084 | 2.33Γ | 43% |
| β | np.mean axis=0 (int64) | int64 | 1,000 | 0.0034 | 0.0013 | 2.61Γ | 38% |
| π | np.mean axis=0 (int64) | int64 | 100,000 | 0.0298 | 0.0620 | 0.48Γ | 208% |
| π΄ | np.mean axis=0 (int64) | int64 | 10,000,000 | 6.0028 | 36.4496 | 0.17Γ | 607% |
| β« | np.mean axis=0 (int8) | int8 | 1,000 | 0.0040 | 0.0008 | 5.10Γ | 20% |
| β | np.mean axis=0 (int8) | int8 | 100,000 | 0.0481 | 0.0107 | 4.49Γ | 22% |
| β | np.mean axis=0 (int8) | int8 | 10,000,000 | 5.1002 | 0.8293 | 6.15Γ | 16% |
| β« | np.mean axis=0 (uint16) | uint16 | 1,000 | 0.0036 | 0.0008 | 4.56Γ | 22% |
| β | np.mean axis=0 (uint16) | uint16 | 100,000 | 0.0487 | 0.0085 | 5.73Γ | 18% |
| β | np.mean axis=0 (uint16) | uint16 | 10,000,000 | 5.1212 | 0.9833 | 5.21Γ | 19% |
| β« | np.mean axis=0 (uint32) | uint32 | 1,000 | 0.0035 | 0.0008 | 4.29Γ | 23% |
| β | np.mean axis=0 (uint32) | uint32 | 100,000 | 0.0362 | 0.0094 | 3.85Γ | 26% |
| β | np.mean axis=0 (uint32) | uint32 | 10,000,000 | 4.6000 | 2.1895 | 2.10Γ | 48% |
| β | np.mean axis=0 (uint64) | uint64 | 1,000 | 0.0036 | 0.0017 | 2.09Γ | 48% |
| π‘ | np.mean axis=0 (uint64) | uint64 | 100,000 | 0.0463 | 0.0898 | 0.52Γ | 194% |
| π΄ | np.mean axis=0 (uint64) | uint64 | 10,000,000 | 7.2856 | 41.5410 | 0.17Γ | 570% |
| β« | np.mean axis=0 (uint8) | uint8 | 1,000 | 0.0038 | 0.0008 | 4.73Γ | 21% |
| β | np.mean axis=0 (uint8) | uint8 | 100,000 | 0.0497 | 0.0082 | 6.03Γ | 17% |
| β | np.mean axis=0 (uint8) | uint8 | 10,000,000 | 5.1578 | 0.8219 | 6.28Γ | 16% |
| β | np.mean axis=1 (complex128) | complex128 | 1,000 | 0.0031 | 0.0026 | 1.21Γ | 83% |
| π‘ | np.mean axis=1 (complex128) | complex128 | 100,000 | 0.0348 | 0.0349 | 1.00Γ | 100% |
| β | np.mean axis=1 (complex128) | complex128 | 10,000,000 | 8.6206 | 8.5984 | 1.00Γ | 100% |
| β | np.mean axis=1 (float16) | float16 | 1,000 | 0.0049 | 0.0040 | 1.23Γ | 82% |
| π‘ | np.mean axis=1 (float16) | float16 | 100,000 | 0.0957 | 0.1374 | 0.70Γ | 144% |
| π‘ | np.mean axis=1 (float16) | float16 | 10,000,000 | 8.1108 | 13.0257 | 0.62Γ | 161% |
| β | np.mean axis=1 (float32) | float32 | 1,000 | 0.0035 | 0.0021 | 1.69Γ | 59% |
| β | np.mean axis=1 (float32) | float32 | 100,000 | 0.0178 | 0.0143 | 1.25Γ | 80% |
| β | np.mean axis=1 (float32) | float32 | 10,000,000 | 3.1620 | 1.9854 | 1.59Γ | 63% |
| β | np.mean axis=1 (float64) | float64 | 1,000 | 0.0031 | 0.0022 | 1.43Γ | 70% |
| β | np.mean axis=1 (float64) | float64 | 100,000 | 0.0210 | 0.0152 | 1.38Γ | 72% |
| β | np.mean axis=1 (float64) | float64 | 10,000,000 | 5.5001 | 3.8569 | 1.43Γ | 70% |
| β« | np.mean axis=1 (int16) | int16 | 1,000 | 0.0035 | 0.0008 | 4.26Γ | 24% |
| β | np.mean axis=1 (int16) | int16 | 100,000 | 0.0579 | 0.0080 | 7.25Γ | 14% |
| β | np.mean axis=1 (int16) | int16 | 10,000,000 | 5.2057 | 0.8685 | 5.99Γ | 17% |
| β« | np.mean axis=1 (int32) | int32 | 1,000 | 0.0035 | 0.0008 | 4.47Γ | 22% |
| β | np.mean axis=1 (int32) | int32 | 100,000 | 0.0424 | 0.0049 | 8.69Γ | 12% |
| β | np.mean axis=1 (int32) | int32 | 10,000,000 | 4.6015 | 1.5143 | 3.04Γ | 33% |
| β | np.mean axis=1 (int64) | int64 | 1,000 | 0.0034 | 0.0013 | 2.60Γ | 38% |
| π‘ | np.mean axis=1 (int64) | int64 | 100,000 | 0.0412 | 0.0600 | 0.69Γ | 146% |
| π‘ | np.mean axis=1 (int64) | int64 | 10,000,000 | 6.5756 | 7.1615 | 0.92Γ | 109% |
| β« | np.mean axis=1 (int8) | int8 | 1,000 | 0.0035 | 0.0009 | 4.11Γ | 24% |
| β | np.mean axis=1 (int8) | int8 | 100,000 | 0.0560 | 0.0089 | 6.29Γ | 16% |
| β | np.mean axis=1 (int8) | int8 | 10,000,000 | 5.1060 | 0.7330 | 6.97Γ | 14% |
| β« | np.mean axis=1 (uint16) | uint16 | 1,000 | 0.0035 | 0.0009 | 4.00Γ | 25% |
| β | np.mean axis=1 (uint16) | uint16 | 100,000 | 0.0571 | 0.0079 | 7.18Γ | 14% |
| β | np.mean axis=1 (uint16) | uint16 | 10,000,000 | 5.2099 | 0.8763 | 5.95Γ | 17% |
| β« | np.mean axis=1 (uint32) | uint32 | 1,000 | 0.0034 | 0.0008 | 4.22Γ | 24% |
| β | np.mean axis=1 (uint32) | uint32 | 100,000 | 0.0462 | 0.0092 | 5.01Γ | 20% |
| β | np.mean axis=1 (uint32) | uint32 | 10,000,000 | 4.8969 | 1.9956 | 2.45Γ | 41% |
| β | np.mean axis=1 (uint64) | uint64 | 1,000 | 0.0037 | 0.0017 | 2.14Γ | 47% |
| π‘ | np.mean axis=1 (uint64) | uint64 | 100,000 | 0.0536 | 0.0873 | 0.61Γ | 163% |
| β | np.mean axis=1 (uint64) | uint64 | 10,000,000 | 11.1462 | 9.3389 | 1.19Γ | 84% |
| β« | np.mean axis=1 (uint8) | uint8 | 1,000 | 0.0035 | 0.0008 | 4.44Γ | 22% |
| β | np.mean axis=1 (uint8) | uint8 | 100,000 | 0.0617 | 0.0079 | 7.80Γ | 13% |
| β | np.mean axis=1 (uint8) | uint8 | 10,000,000 | 5.1481 | 0.7363 | 6.99Γ | 14% |
| β | np.nanmax(a) (float16) | float16 | 1,000 | 0.0053 | 0.0011 | 4.74Γ | 21% |
| β | np.nanmax(a) (float16) | float16 | 100,000 | 0.5135 | 0.3094 | 1.66Γ | 60% |
| β | np.nanmax(a) (float16) | float16 | 10,000,000 | 50.3872 | 31.6489 | 1.59Γ | 63% |
| β« | np.nanmax(a) (float32) | float32 | 1,000 | 0.0029 | 0.0008 | 3.50Γ | 29% |
| π | np.nanmax(a) (float32) | float32 | 100,000 | 0.0071 | 0.0288 | 0.25Γ | 407% |
| π | np.nanmax(a) (float32) | float32 | 10,000,000 | 1.4848 | 3.2658 | 0.46Γ | 220% |
| β | np.nanmax(a) (float64) | float64 | 1,000 | 0.0037 | 0.0012 | 3.02Γ | 33% |
| π | np.nanmax(a) (float64) | float64 | 100,000 | 0.0155 | 0.0603 | 0.26Γ | 390% |
| π | np.nanmax(a) (float64) | float64 | 10,000,000 | 3.4599 | 7.0157 | 0.49Γ | 203% |
| β | np.nanmean(a) (float16) | float16 | 1,000 | 0.0128 | 0.0017 | 7.46Γ | 13% |
| β | np.nanmean(a) (float16) | float16 | 100,000 | 0.3311 | 0.1059 | 3.12Γ | 32% |
| β | np.nanmean(a) (float16) | float16 | 10,000,000 | 37.1950 | 10.5785 | 3.52Γ | 28% |
| β | np.nanmean(a) (float32) | float32 | 1,000 | 0.0096 | 0.0012 | 7.87Γ | 13% |
| β | np.nanmean(a) (float32) | float32 | 100,000 | 0.0749 | 0.0383 | 1.96Γ | 51% |
| β | np.nanmean(a) (float32) | float32 | 10,000,000 | 19.4404 | 4.1632 | 4.67Γ | 21% |
| β | np.nanmean(a) (float64) | float64 | 1,000 | 0.0097 | 0.0012 | 7.97Γ | 12% |
| β | np.nanmean(a) (float64) | float64 | 100,000 | 0.3257 | 0.0387 | 8.42Γ | 12% |
| β | np.nanmean(a) (float64) | float64 | 10,000,000 | 31.3597 | 5.6141 | 5.59Γ | 18% |
| β | np.nanmedian(a) (float16) | float16 | 1,000 | 0.0183 | 0.0044 | 4.15Γ | 24% |
| π‘ | np.nanmedian(a) (float16) | float16 | 100,000 | 0.9708 | 1.3140 | 0.74Γ | 135% |
| β | np.nanmedian(a) (float16) | float16 | 10,000,000 | 116.3105 | 93.3718 | 1.25Γ | 80% |
| β | np.nanmedian(a) (float32) | float32 | 1,000 | 0.0137 | 0.0023 | 5.84Γ | 17% |
| π‘ | np.nanmedian(a) (float32) | float32 | 100,000 | 0.4951 | 0.7126 | 0.69Γ | 144% |
| π‘ | np.nanmedian(a) (float32) | float32 | 10,000,000 | 76.8994 | 80.3683 | 0.96Γ | 104% |
| β | np.nanmedian(a) (float64) | float64 | 1,000 | 0.0116 | 0.0026 | 4.42Γ | 23% |
| π‘ | np.nanmedian(a) (float64) | float64 | 100,000 | 0.5300 | 0.7595 | 0.70Γ | 143% |
| π‘ | np.nanmedian(a) (float64) | float64 | 10,000,000 | 91.1907 | 92.5204 | 0.99Γ | 102% |
| β | np.nanmin(a) (float16) | float16 | 1,000 | 0.0054 | 0.0011 | 4.89Γ | 20% |
| β | np.nanmin(a) (float16) | float16 | 100,000 | 0.5116 | 0.3033 | 1.69Γ | 59% |
| β | np.nanmin(a) (float16) | float16 | 10,000,000 | 60.5488 | 31.1541 | 1.94Γ | 52% |
| β« | np.nanmin(a) (float32) | float32 | 1,000 | 0.0029 | 0.0009 | 3.15Γ | 32% |
| π | np.nanmin(a) (float32) | float32 | 100,000 | 0.0070 | 0.0287 | 0.24Γ | 408% |
| π | np.nanmin(a) (float32) | float32 | 10,000,000 | 1.5149 | 3.2889 | 0.46Γ | 217% |
| β | np.nanmin(a) (float64) | float64 | 1,000 | 0.0030 | 0.0012 | 2.43Γ | 41% |
| π΄ | np.nanmin(a) (float64) | float64 | 100,000 | 0.0112 | 0.0589 | 0.19Γ | 525% |
| π‘ | np.nanmin(a) (float64) | float64 | 10,000,000 | 3.5942 | 6.8799 | 0.52Γ | 191% |
| β | np.nanpercentile(a, 50) (float16) | float16 | 1,000 | 0.0316 | 0.0044 | 7.16Γ | 14% |
| β | np.nanpercentile(a, 50) (float16) | float16 | 100,000 | 1.8767 | 1.3135 | 1.43Γ | 70% |
| β | np.nanpercentile(a, 50) (float16) | float16 | 10,000,000 | 122.7941 | 94.3214 | 1.30Γ | 77% |
| β | np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.0269 | 0.0023 | 11.51Γ | 9% |
| β | np.nanpercentile(a, 50) (float32) | float32 | 100,000 | 0.7245 | 0.7038 | 1.03Γ | 97% |
| π‘ | np.nanpercentile(a, 50) (float32) | float32 | 10,000,000 | 51.3261 | 80.6873 | 0.64Γ | 157% |
| β | np.nanpercentile(a, 50) (float64) | float64 | 1,000 | 0.0303 | 0.0027 | 11.42Γ | 9% |
| β | np.nanpercentile(a, 50) (float64) | float64 | 100,000 | 0.7650 | 0.7593 | 1.01Γ | 99% |
| π‘ | np.nanpercentile(a, 50) (float64) | float64 | 10,000,000 | 63.5936 | 93.0204 | 0.68Γ | 146% |
| β | np.nanprod(a) (float16) | float16 | 1,000 | 0.0057 | 0.0013 | 4.38Γ | 23% |
| β | np.nanprod(a) (float16) | float16 | 100,000 | 0.1646 | 0.0888 | 1.85Γ | 54% |
| β | np.nanprod(a) (float16) | float16 | 10,000,000 | 21.9118 | 9.1189 | 2.40Γ | 42% |
| β« | np.nanprod(a) (float32) | float32 | 1,000 | 0.0050 | 0.0007 | 7.58Γ | 13% |
| β | np.nanprod(a) (float32) | float32 | 100,000 | 0.0981 | 0.0120 | 8.18Γ | 12% |
| β | np.nanprod(a) (float32) | float32 | 10,000,000 | 17.9167 | 1.8087 | 9.91Γ | 10% |
| β« | np.nanprod(a) (float64) | float64 | 1,000 | 0.0050 | 0.0009 | 5.45Γ | 18% |
| β | np.nanprod(a) (float64) | float64 | 100,000 | 0.1075 | 0.0235 | 4.57Γ | 22% |
| β | np.nanprod(a) (float64) | float64 | 10,000,000 | 29.1353 | 4.0320 | 7.23Γ | 14% |
| β | np.nanquantile(a, 0.5) (float16) | float16 | 1,000 | 0.0317 | 0.0044 | 7.18Γ | 14% |
| β | np.nanquantile(a, 0.5) (float16) | float16 | 100,000 | 1.8705 | 1.3153 | 1.42Γ | 70% |
| β | np.nanquantile(a, 0.5) (float16) | float16 | 10,000,000 | 123.5395 | 92.3417 | 1.34Γ | 75% |
| β | np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.0277 | 0.0023 | 11.86Γ | 8% |
| β | np.nanquantile(a, 0.5) (float32) | float32 | 100,000 | 0.7317 | 0.7122 | 1.03Γ | 97% |
| π‘ | np.nanquantile(a, 0.5) (float32) | float32 | 10,000,000 | 51.3567 | 80.5913 | 0.64Γ | 157% |
| β | np.nanquantile(a, 0.5) (float64) | float64 | 1,000 | 0.0256 | 0.0027 | 9.59Γ | 10% |
| π‘ | np.nanquantile(a, 0.5) (float64) | float64 | 100,000 | 0.7457 | 0.7589 | 0.98Γ | 102% |
| π‘ | np.nanquantile(a, 0.5) (float64) | float64 | 10,000,000 | 64.0411 | 92.7650 | 0.69Γ | 145% |
| β | np.nanstd(a) (float16) | float16 | 1,000 | 0.0342 | 0.0027 | 12.50Γ | 8% |
| β | np.nanstd(a) (float16) | float16 | 100,000 | 1.1469 | 0.2160 | 5.31Γ | 19% |
| β | np.nanstd(a) (float16) | float16 | 10,000,000 | 156.8616 | 21.7440 | 7.21Γ | 14% |
| β | np.nanstd(a) (float32) | float32 | 1,000 | 0.0195 | 0.0017 | 11.39Γ | 9% |
| β | np.nanstd(a) (float32) | float32 | 100,000 | 0.1736 | 0.0865 | 2.01Γ | 50% |
| β | np.nanstd(a) (float32) | float32 | 10,000,000 | 32.1553 | 9.2600 | 3.47Γ | 29% |
| β | np.nanstd(a) (float64) | float64 | 1,000 | 0.0202 | 0.0015 | 13.33Γ | 8% |
| β | np.nanstd(a) (float64) | float64 | 100,000 | 0.4571 | 0.0760 | 6.01Γ | 17% |
| β | np.nanstd(a) (float64) | float64 | 10,000,000 | 50.9740 | 11.3108 | 4.51Γ | 22% |
| β | np.nansum(a) (float16) | float16 | 1,000 | 0.0063 | 0.0013 | 4.79Γ | 21% |
| β | np.nansum(a) (float16) | float16 | 100,000 | 0.2764 | 0.0898 | 3.08Γ | 32% |
| β | np.nansum(a) (float16) | float16 | 10,000,000 | 31.6873 | 8.9186 | 3.55Γ | 28% |
| β« | np.nansum(a) (float32) | float32 | 1,000 | 0.0036 | 0.0007 | 5.42Γ | 18% |
| β | np.nansum(a) (float32) | float32 | 100,000 | 0.0337 | 0.0049 | 6.81Γ | 15% |
| β | np.nansum(a) (float32) | float32 | 10,000,000 | 13.4916 | 1.4504 | 9.30Γ | 11% |
| β« | np.nansum(a) (float64) | float64 | 1,000 | 0.0036 | 0.0007 | 5.52Γ | 18% |
| β | np.nansum(a) (float64) | float64 | 100,000 | 0.0425 | 0.0098 | 4.36Γ | 23% |
| β | np.nansum(a) (float64) | float64 | 10,000,000 | 24.4520 | 3.4763 | 7.03Γ | 14% |
| β | np.nanvar(a) (float16) | float16 | 1,000 | 0.0320 | 0.0027 | 11.67Γ | 9% |
| β | np.nanvar(a) (float16) | float16 | 100,000 | 1.1778 | 0.2157 | 5.46Γ | 18% |
| β | np.nanvar(a) (float16) | float16 | 10,000,000 | 121.9127 | 21.5319 | 5.66Γ | 18% |
| β | np.nanvar(a) (float32) | float32 | 1,000 | 0.0189 | 0.0017 | 11.19Γ | 9% |
| β | np.nanvar(a) (float32) | float32 | 100,000 | 0.1775 | 0.0878 | 2.02Γ | 50% |
| β | np.nanvar(a) (float32) | float32 | 10,000,000 | 32.2343 | 9.2642 | 3.48Γ | 29% |
| β | np.nanvar(a) (float64) | float64 | 1,000 | 0.0173 | 0.0015 | 11.42Γ | 9% |
| β | np.nanvar(a) (float64) | float64 | 100,000 | 0.4650 | 0.0759 | 6.13Γ | 16% |
| β | np.nanvar(a) (float64) | float64 | 10,000,000 | 51.7630 | 11.4041 | 4.54Γ | 22% |
| β« | np.prod (float64) | float64 | 1,000 | 0.0022 | 0.0008 | 2.84Γ | 35% |
| β | np.prod (float64) | float64 | 100,000 | 2.3362 | 0.1699 | 13.75Γ | 7% |
| β | np.prod (float64) | float64 | 10,000,000 | 240.6877 | 60.9344 | 3.95Γ | 25% |
| β« | np.prod (int64) | int64 | 1,000 | 0.0023 | 0.0008 | 3.04Γ | 33% |
| β | np.prod (int64) | int64 | 100,000 | 0.0655 | 0.0144 | 4.54Γ | 22% |
| β | np.prod (int64) | int64 | 10,000,000 | 6.4666 | 3.8559 | 1.68Γ | 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.0140 | 0.0099 | 1.41Γ | 71% |
| β | np.prod axis=0 (float64) | float64 | 10,000,000 | 22.2109 | 19.6546 | 1.13Γ | 88% |
| β« | np.prod axis=0 (int64) | int64 | 1,000 | 0.0019 | 0.0008 | 2.35Γ | 43% |
| β | np.prod axis=0 (int64) | int64 | 100,000 | 0.0285 | 0.0149 | 1.91Γ | 52% |
| β | np.prod axis=0 (int64) | int64 | 10,000,000 | 5.8931 | 4.2660 | 1.38Γ | 72% |
| β« | np.prod axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0008 | 2.41Γ | 42% |
| β | np.prod axis=1 (float64) | float64 | 100,000 | 0.0576 | 0.0071 | 8.14Γ | 12% |
| β« | np.prod axis=1 (float64) | float64 | 10,000,000 | 70.8781 | 2.9565 | 23.97Γ | 4% |
| β« | np.prod axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0010 | 1.98Γ | 50% |
| β | np.prod axis=1 (int64) | int64 | 100,000 | 0.0457 | 0.0171 | 2.67Γ | 37% |
| β | np.prod axis=1 (int64) | int64 | 10,000,000 | 6.2300 | 3.8578 | 1.61Γ | 62% |
| β | np.std (float16) | float16 | 1,000 | 0.0198 | 0.0021 | 9.46Γ | 11% |
| β | np.std (float16) | float16 | 100,000 | 0.9087 | 0.1873 | 4.85Γ | 21% |
| β | np.std (float16) | float16 | 10,000,000 | 98.8955 | 18.9743 | 5.21Γ | 19% |
| β« | np.std (float32) | float32 | 1,000 | 0.0107 | 0.0008 | 12.79Γ | 8% |
| β | np.std (float32) | float32 | 100,000 | 0.0453 | 0.0100 | 4.54Γ | 22% |
| β | np.std (float32) | float32 | 10,000,000 | 16.0146 | 3.3593 | 4.77Γ | 21% |
| β« | np.std (float64) | float64 | 1,000 | 0.0066 | 0.0010 | 6.74Γ | 15% |
| β | np.std (float64) | float64 | 100,000 | 0.0575 | 0.0202 | 2.84Γ | 35% |
| β | np.std (float64) | float64 | 10,000,000 | 30.5191 | 7.2652 | 4.20Γ | 24% |
| β | np.std axis=0 (float16) | float16 | 1,000 | 0.0196 | 0.0047 | 4.14Γ | 24% |
| β | np.std axis=0 (float16) | float16 | 100,000 | 1.0975 | 0.3754 | 2.92Γ | 34% |
| β | np.std axis=0 (float16) | float16 | 10,000,000 | 107.7057 | 88.6112 | 1.22Γ | 82% |
| β | np.std axis=0 (float32) | float32 | 1,000 | 0.0085 | 0.0017 | 4.90Γ | 20% |
| β | np.std axis=0 (float32) | float32 | 100,000 | 0.0373 | 0.0237 | 1.57Γ | 64% |
| β | np.std axis=0 (float32) | float32 | 10,000,000 | 14.4059 | 5.5122 | 2.61Γ | 38% |
| β« | np.std axis=0 (float64) | float64 | 1,000 | 0.0074 | 0.0010 | 7.55Γ | 13% |
| β | np.std axis=0 (float64) | float64 | 100,000 | 0.0685 | 0.0221 | 3.10Γ | 32% |
| β | np.std axis=0 (float64) | float64 | 10,000,000 | 39.8234 | 8.1253 | 4.90Γ | 20% |
| β« | np.sum (complex128) | complex128 | 1,000 | 0.0018 | 0.0010 | 1.84Γ | 54% |
| β | np.sum (complex128) | complex128 | 100,000 | 0.0306 | 0.0104 | 2.93Γ | 34% |
| β | np.sum (complex128) | complex128 | 10,000,000 | 8.5843 | 7.2562 | 1.18Γ | 84% |
| β | np.sum (float16) | float16 | 1,000 | 0.0036 | 0.0012 | 3.02Γ | 33% |
| β | np.sum (float16) | float16 | 100,000 | 0.2020 | 0.0835 | 2.42Γ | 41% |
| β | np.sum (float16) | float16 | 10,000,000 | 19.9349 | 8.2364 | 2.42Γ | 41% |
| β« | np.sum (float32) | float32 | 1,000 | 0.0016 | 0.0008 | 2.04Γ | 49% |
| β | np.sum (float32) | float32 | 100,000 | 0.0152 | 0.0032 | 4.72Γ | 21% |
| β | np.sum (float32) | float32 | 10,000,000 | 2.8487 | 1.3964 | 2.04Γ | 49% |
| β« | np.sum (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.12Γ | 47% |
| π΄ | np.sum (float64) | float64 | 100,000 | 0.0159 | 0.2139 | 0.074Γ | 1345% |
| β | np.sum (float64) | float64 | 10,000,000 | 4.8472 | 3.6648 | 1.32Γ | 76% |
| β« | np.sum (int16) | int16 | 1,000 | 0.0020 | 0.0009 | 2.21Γ | 45% |
| β | np.sum (int16) | int16 | 100,000 | 0.0328 | 0.0193 | 1.70Γ | 59% |
| β | np.sum (int16) | int16 | 10,000,000 | 3.2851 | 2.1615 | 1.52Γ | 66% |
| β« | np.sum (int32) | int32 | 1,000 | 0.0022 | 0.0009 | 2.61Γ | 38% |
| β | np.sum (int32) | int32 | 100,000 | 0.0377 | 0.0193 | 1.96Γ | 51% |
| β | np.sum (int32) | int32 | 10,000,000 | 3.9883 | 2.8904 | 1.38Γ | 72% |
| β« | np.sum (int64) | int64 | 1,000 | 0.0017 | 0.0007 | 2.48Γ | 40% |
| β | np.sum (int64) | int64 | 100,000 | 0.0181 | 0.0065 | 2.79Γ | 36% |
| β | np.sum (int64) | int64 | 10,000,000 | 4.3268 | 3.2874 | 1.32Γ | 76% |
| β« | np.sum (int8) | int8 | 1,000 | 0.0021 | 0.0008 | 2.51Γ | 40% |
| β | np.sum (int8) | int8 | 100,000 | 0.0333 | 0.0188 | 1.77Γ | 56% |
| β | np.sum (int8) | int8 | 10,000,000 | 3.1769 | 1.8950 | 1.68Γ | 60% |
| β« | np.sum (uint16) | uint16 | 1,000 | 0.0020 | 0.0010 | 2.09Γ | 48% |
| β | np.sum (uint16) | uint16 | 100,000 | 0.0334 | 0.0193 | 1.73Γ | 58% |
| β | np.sum (uint16) | uint16 | 10,000,000 | 3.3411 | 2.0295 | 1.65Γ | 61% |
| β« | np.sum (uint32) | uint32 | 1,000 | 0.0021 | 0.0008 | 2.47Γ | 40% |
| β | np.sum (uint32) | uint32 | 100,000 | 0.0328 | 0.0194 | 1.69Γ | 59% |
| β | np.sum (uint32) | uint32 | 10,000,000 | 4.0355 | 2.9673 | 1.36Γ | 74% |
| β« | np.sum (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.29Γ | 44% |
| β | np.sum (uint64) | uint64 | 100,000 | 0.0200 | 0.0064 | 3.12Γ | 32% |
| β | np.sum (uint64) | uint64 | 10,000,000 | 4.8125 | 3.4080 | 1.41Γ | 71% |
| β« | np.sum (uint8) | uint8 | 1,000 | 0.0023 | 0.0009 | 2.56Γ | 39% |
| β | np.sum (uint8) | uint8 | 100,000 | 0.0349 | 0.0189 | 1.85Γ | 54% |
| β | np.sum (uint8) | uint8 | 10,000,000 | 3.1844 | 1.9225 | 1.66Γ | 60% |
| β | np.sum axis=0 (complex128) | complex128 | 1,000 | 0.0020 | 0.0017 | 1.19Γ | 84% |
| π‘ | np.sum axis=0 (complex128) | complex128 | 100,000 | 0.0174 | 0.0207 | 0.84Γ | 119% |
| π‘ | np.sum axis=0 (complex128) | complex128 | 10,000,000 | 7.4801 | 7.6616 | 0.98Γ | 102% |
| β | np.sum axis=0 (float16) | float16 | 1,000 | 0.0049 | 0.0040 | 1.22Γ | 82% |
| β | np.sum axis=0 (float16) | float16 | 100,000 | 0.2901 | 0.1489 | 1.95Γ | 51% |
| β | np.sum axis=0 (float16) | float16 | 10,000,000 | 29.7526 | 14.4612 | 2.06Γ | 49% |
| π‘ | np.sum axis=0 (float32) | float32 | 1,000 | 0.0019 | 0.0019 | 0.98Γ | 102% |
| β | np.sum axis=0 (float32) | float32 | 100,000 | 0.0081 | 0.0079 | 1.02Γ | 98% |
| π‘ | np.sum axis=0 (float32) | float32 | 10,000,000 | 1.3909 | 1.4413 | 0.96Γ | 104% |
| π‘ | np.sum axis=0 (float64) | float64 | 1,000 | 0.0019 | 0.0020 | 0.97Γ | 103% |
| π‘ | np.sum axis=0 (float64) | float64 | 100,000 | 0.0122 | 0.0129 | 0.95Γ | 106% |
| β | np.sum axis=0 (float64) | float64 | 10,000,000 | 3.6033 | 3.5571 | 1.01Γ | 99% |
| β | np.sum axis=0 (int16) | int16 | 1,000 | 0.0024 | 0.0010 | 2.33Γ | 43% |
| β | np.sum axis=0 (int16) | int16 | 100,000 | 0.0484 | 0.0047 | 10.34Γ | 10% |
| β | np.sum axis=0 (int16) | int16 | 10,000,000 | 4.6103 | 0.7373 | 6.25Γ | 16% |
| β« | np.sum axis=0 (int32) | int32 | 1,000 | 0.0025 | 0.0007 | 3.51Γ | 28% |
| β | np.sum axis=0 (int32) | int32 | 100,000 | 0.0479 | 0.0086 | 5.59Γ | 18% |
| β | np.sum axis=0 (int32) | int32 | 10,000,000 | 5.3488 | 1.9895 | 2.69Γ | 37% |
| β« | np.sum axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0007 | 2.72Γ | 37% |
| β | np.sum axis=0 (int64) | int64 | 100,000 | 0.0294 | 0.0104 | 2.84Γ | 35% |
| β | np.sum axis=0 (int64) | int64 | 10,000,000 | 5.9812 | 3.4043 | 1.76Γ | 57% |
| β« | np.sum axis=0 (int8) | int8 | 1,000 | 0.0024 | 0.0009 | 2.72Γ | 37% |
| β | np.sum axis=0 (int8) | int8 | 100,000 | 0.0467 | 0.0043 | 10.78Γ | 9% |
| β | np.sum axis=0 (int8) | int8 | 10,000,000 | 4.4559 | 0.3992 | 11.16Γ | 9% |
| β« | np.sum axis=0 (uint16) | uint16 | 1,000 | 0.0024 | 0.0010 | 2.48Γ | 40% |
| β | np.sum axis=0 (uint16) | uint16 | 100,000 | 0.0471 | 0.0047 | 10.03Γ | 10% |
| β | np.sum axis=0 (uint16) | uint16 | 10,000,000 | 4.6567 | 0.7216 | 6.45Γ | 16% |
| β« | np.sum axis=0 (uint32) | uint32 | 1,000 | 0.0024 | 0.0007 | 3.63Γ | 28% |
| β | np.sum axis=0 (uint32) | uint32 | 100,000 | 0.0475 | 0.0086 | 5.52Γ | 18% |
| β | np.sum axis=0 (uint32) | uint32 | 10,000,000 | 5.3266 | 1.9748 | 2.70Γ | 37% |
| β« | np.sum axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0007 | 2.88Γ | 35% |
| β | np.sum axis=0 (uint64) | uint64 | 100,000 | 0.0277 | 0.0104 | 2.67Γ | 37% |
| β | np.sum axis=0 (uint64) | uint64 | 10,000,000 | 5.3910 | 3.4393 | 1.57Γ | 64% |
| β« | np.sum axis=0 (uint8) | uint8 | 1,000 | 0.0026 | 0.0010 | 2.63Γ | 38% |
| β | np.sum axis=0 (uint8) | uint8 | 100,000 | 0.0474 | 0.0050 | 9.40Γ | 11% |
| β | np.sum axis=0 (uint8) | uint8 | 10,000,000 | 4.4480 | 0.5649 | 7.87Γ | 13% |
| β | np.sum axis=1 (complex128) | complex128 | 1,000 | 0.0021 | 0.0018 | 1.11Γ | 90% |
| β | np.sum axis=1 (complex128) | complex128 | 100,000 | 0.0324 | 0.0313 | 1.03Γ | 97% |
| π‘ | np.sum axis=1 (complex128) | complex128 | 10,000,000 | 8.5166 | 8.9144 | 0.95Γ | 105% |
| β | np.sum axis=1 (float16) | float16 | 1,000 | 0.0038 | 0.0038 | 1.02Γ | 98% |
| β | np.sum axis=1 (float16) | float16 | 100,000 | 0.2099 | 0.1355 | 1.55Γ | 64% |
| β | np.sum axis=1 (float16) | float16 | 10,000,000 | 19.3738 | 13.2482 | 1.46Γ | 68% |
| π‘ | np.sum axis=1 (float32) | float32 | 1,000 | 0.0018 | 0.0020 | 0.94Γ | 106% |
| β | np.sum axis=1 (float32) | float32 | 100,000 | 0.0168 | 0.0128 | 1.32Γ | 76% |
| β | np.sum axis=1 (float32) | float32 | 10,000,000 | 3.1793 | 2.0144 | 1.58Γ | 63% |
| π‘ | np.sum axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0019 | 0.96Γ | 104% |
| β | np.sum axis=1 (float64) | float64 | 100,000 | 0.0175 | 0.0132 | 1.33Γ | 75% |
| β | np.sum axis=1 (float64) | float64 | 10,000,000 | 5.1383 | 3.9398 | 1.30Γ | 77% |
| β« | np.sum axis=1 (int16) | int16 | 1,000 | 0.0023 | 0.0007 | 3.34Γ | 30% |
| β | np.sum axis=1 (int16) | int16 | 100,000 | 0.0372 | 0.0038 | 9.75Γ | 10% |
| β | np.sum axis=1 (int16) | int16 | 10,000,000 | 3.3329 | 0.6803 | 4.90Γ | 20% |
| β« | np.sum axis=1 (int32) | int32 | 1,000 | 0.0025 | 0.0007 | 3.60Γ | 28% |
| β | np.sum axis=1 (int32) | int32 | 100,000 | 0.0364 | 0.0053 | 6.86Γ | 15% |
| β | np.sum axis=1 (int32) | int32 | 10,000,000 | 4.0800 | 1.7611 | 2.32Γ | 43% |
| β« | np.sum axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0007 | 2.60Γ | 38% |
| β | np.sum axis=1 (int64) | int64 | 100,000 | 0.0182 | 0.0075 | 2.41Γ | 42% |
| β | np.sum axis=1 (int64) | int64 | 10,000,000 | 4.5921 | 3.0301 | 1.52Γ | 66% |
| β« | np.sum axis=1 (int8) | int8 | 1,000 | 0.0028 | 0.0008 | 3.60Γ | 28% |
| β | np.sum axis=1 (int8) | int8 | 100,000 | 0.0367 | 0.0038 | 9.66Γ | 10% |
| β | np.sum axis=1 (int8) | int8 | 10,000,000 | 3.1418 | 0.3053 | 10.29Γ | 10% |
| β« | np.sum axis=1 (uint16) | uint16 | 1,000 | 0.0023 | 0.0007 | 3.49Γ | 29% |
| β | np.sum axis=1 (uint16) | uint16 | 100,000 | 0.0378 | 0.0037 | 10.17Γ | 10% |
| β | np.sum axis=1 (uint16) | uint16 | 10,000,000 | 3.3093 | 0.4828 | 6.85Γ | 15% |
| β« | np.sum axis=1 (uint32) | uint32 | 1,000 | 0.0023 | 0.0007 | 3.52Γ | 28% |
| β | np.sum axis=1 (uint32) | uint32 | 100,000 | 0.0363 | 0.0053 | 6.84Γ | 15% |
| β | np.sum axis=1 (uint32) | uint32 | 10,000,000 | 4.0964 | 1.7182 | 2.38Γ | 42% |
| β« | np.sum axis=1 (uint64) | uint64 | 1,000 | 0.0019 | 0.0008 | 2.51Γ | 40% |
| β | np.sum axis=1 (uint64) | uint64 | 100,000 | 0.0182 | 0.0076 | 2.40Γ | 42% |
| β | np.sum axis=1 (uint64) | uint64 | 10,000,000 | 5.0124 | 2.9323 | 1.71Γ | 58% |
| β« | np.sum axis=1 (uint8) | uint8 | 1,000 | 0.0026 | 0.0007 | 3.91Γ | 26% |
| β | np.sum axis=1 (uint8) | uint8 | 100,000 | 0.0377 | 0.0037 | 10.22Γ | 10% |
| β | np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.1519 | 0.3047 | 10.34Γ | 10% |
| β | np.var (float16) | float16 | 1,000 | 0.0196 | 0.0022 | 9.03Γ | 11% |
| β | np.var (float16) | float16 | 100,000 | 0.8945 | 0.1898 | 4.71Γ | 21% |
| β | np.var (float16) | float16 | 10,000,000 | 90.2053 | 18.7450 | 4.81Γ | 21% |
| β« | np.var (float32) | float32 | 1,000 | 0.0077 | 0.0010 | 7.83Γ | 13% |
| β | np.var (float32) | float32 | 100,000 | 0.0460 | 0.0122 | 3.77Γ | 26% |
| β | np.var (float32) | float32 | 10,000,000 | 16.3933 | 3.3367 | 4.91Γ | 20% |
| β« | np.var (float64) | float64 | 1,000 | 0.0085 | 0.0010 | 8.62Γ | 12% |
| β | np.var (float64) | float64 | 100,000 | 0.0651 | 0.0197 | 3.30Γ | 30% |
| β | np.var (float64) | float64 | 10,000,000 | 30.9039 | 10.2952 | 3.00Γ | 33% |
| β | np.var axis=0 (float16) | float16 | 1,000 | 0.0191 | 0.0047 | 4.09Γ | 24% |
| β | np.var axis=0 (float16) | float16 | 100,000 | 1.0938 | 0.3838 | 2.85Γ | 35% |
| β | np.var axis=0 (float16) | float16 | 10,000,000 | 107.4462 | 86.2534 | 1.25Γ | 80% |
| β | np.var axis=0 (float32) | float32 | 1,000 | 0.0082 | 0.0019 | 4.18Γ | 24% |
| β | np.var axis=0 (float32) | float32 | 100,000 | 0.0367 | 0.0235 | 1.56Γ | 64% |
| β | np.var axis=0 (float32) | float32 | 10,000,000 | 13.9379 | 5.6308 | 2.48Γ | 40% |
| β« | np.var axis=0 (float64) | float64 | 1,000 | 0.0071 | 0.0010 | 7.21Γ | 14% |
| β | np.var axis=0 (float64) | float64 | 100,000 | 0.0665 | 0.0227 | 2.93Γ | 34% |
| β | np.var axis=0 (float64) | float64 | 10,000,000 | 44.1983 | 8.6817 | 5.09Γ | 20% |
Broadcasting
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| βͺ | matrix + col_vector (N,M)+(N,1) | float64 | 1,000 | 0.0012 | - | - | - |
| βͺ | matrix + col_vector (N,M)+(N,1) | float64 | 100,000 | 0.0282 | - | - | - |
| β | matrix + col_vector (N,M)+(N,1) | float64 | 10,000,000 | 16.1367 | 14.9780 | 1.08Γ | 93% |
| βͺ | matrix + row_vector (N,M)+(M,) | float64 | 1,000 | 0.0012 | - | - | - |
| βͺ | matrix + row_vector (N,M)+(M,) | float64 | 100,000 | 0.0268 | - | - | - |
| β | matrix + row_vector (N,M)+(M,) | float64 | 10,000,000 | 16.5907 | 14.7614 | 1.12Γ | 89% |
| βͺ | matrix + scalar | float64 | 1,000 | 0.0007 | - | - | - |
| βͺ | matrix + scalar | float64 | 100,000 | 0.0127 | - | - | - |
| β | matrix + scalar | float64 | 10,000,000 | 16.0746 | 14.6726 | 1.10Γ | 91% |
| βͺ | np.broadcast_to(row, (N,M)) | float64 | 1,000 | 0.0019 | - | - | - |
| βͺ | np.broadcast_to(row, (N,M)) | float64 | 100,000 | 0.0018 | - | - | - |
| β« | np.broadcast_to(row, (N,M)) | float64 | 10,000,000 | 0.0018 | 0.0007 | 2.68Γ | 37% |
Creation
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.copy (float32) | float32 | 1,000 | 0.0006 | 0.0107 | 0.056Γ | 1785% |
| π‘ | np.copy (float32) | float32 | 100,000 | 0.0060 | 0.0072 | 0.84Γ | 119% |
| β | np.copy (float32) | float32 | 10,000,000 | 6.3236 | 2.8506 | 2.22Γ | 45% |
| β« | np.copy (float64) | float64 | 1,000 | 0.0006 | 0.0146 | 0.041Γ | 2444% |
| π‘ | np.copy (float64) | float64 | 100,000 | 0.0115 | 0.0133 | 0.86Γ | 116% |
| π‘ | np.copy (float64) | float64 | 10,000,000 | 13.1481 | 14.2102 | 0.93Γ | 108% |
| β« | np.copy (int32) | int32 | 1,000 | 0.0006 | 0.0101 | 0.057Γ | 1765% |
| π‘ | np.copy (int32) | int32 | 100,000 | 0.0068 | 0.0070 | 0.97Γ | 103% |
| β | np.copy (int32) | int32 | 10,000,000 | 6.4479 | 2.3947 | 2.69Γ | 37% |
| β« | np.copy (int64) | int64 | 1,000 | 0.0006 | 0.0155 | 0.040Γ | 2479% |
| π‘ | np.copy (int64) | int64 | 100,000 | 0.0116 | 0.0133 | 0.87Γ | 114% |
| π‘ | np.copy (int64) | int64 | 10,000,000 | 13.0440 | 13.5955 | 0.96Γ | 104% |
| β« | np.empty (float32) | float32 | 1,000 | 0.0003 | 0.0079 | 0.041Γ | 2410% |
| β« | np.empty (float32) | float32 | 100,000 | 0.0003 | 0.0123 | 0.026Γ | 3788% |
| π‘ | np.empty (float32) | float32 | 10,000,000 | 0.0136 | 0.0154 | 0.89Γ | 113% |
| β« | np.empty (float64) | float64 | 1,000 | 0.0003 | 0.0141 | 0.021Γ | 4785% |
| β« | np.empty (float64) | float64 | 100,000 | 0.0003 | 0.0118 | 0.024Γ | 4137% |
| π‘ | np.empty (float64) | float64 | 10,000,000 | 0.0102 | 0.0143 | 0.72Γ | 139% |
| β« | np.empty (int32) | int32 | 1,000 | 0.0003 | 0.0104 | 0.031Γ | 3239% |
| β« | np.empty (int32) | int32 | 100,000 | 0.0003 | 0.0141 | 0.021Γ | 4659% |
| β | np.empty (int32) | int32 | 10,000,000 | 0.0167 | 0.0132 | 1.26Γ | 79% |
| β« | np.empty (int64) | int64 | 1,000 | 0.0003 | 0.0121 | 0.026Γ | 3888% |
| β« | np.empty (int64) | int64 | 100,000 | 0.0003 | 0.0139 | 0.023Γ | 4389% |
| π‘ | np.empty (int64) | int64 | 10,000,000 | 0.0108 | 0.0174 | 0.62Γ | 162% |
| β« | np.full (float32) | float32 | 1,000 | 0.0009 | 0.0106 | 0.083Γ | 1199% |
| π | np.full (float32) | float32 | 100,000 | 0.0057 | 0.0129 | 0.44Γ | 228% |
| β | np.full (float32) | float32 | 10,000,000 | 7.2846 | 2.6587 | 2.74Γ | 36% |
| β« | np.full (float64) | float64 | 1,000 | 0.0009 | 0.0106 | 0.082Γ | 1218% |
| π‘ | np.full (float64) | float64 | 100,000 | 0.0100 | 0.0144 | 0.69Γ | 145% |
| β | np.full (float64) | float64 | 10,000,000 | 14.8069 | 13.2111 | 1.12Γ | 89% |
| β« | np.full (int32) | int32 | 1,000 | 0.0009 | 0.0088 | 0.11Γ | 925% |
| π | np.full (int32) | int32 | 100,000 | 0.0054 | 0.0127 | 0.43Γ | 235% |
| β | np.full (int32) | int32 | 10,000,000 | 7.2671 | 2.6612 | 2.73Γ | 37% |
| β« | np.full (int64) | int64 | 1,000 | 0.0009 | 0.0124 | 0.069Γ | 1448% |
| π‘ | np.full (int64) | int64 | 100,000 | 0.0099 | 0.0152 | 0.65Γ | 154% |
| β | np.full (int64) | int64 | 10,000,000 | 14.7618 | 13.5495 | 1.09Γ | 92% |
| β« | np.ones (float32) | float32 | 1,000 | 0.0009 | 0.0097 | 0.093Γ | 1080% |
| π | np.ones (float32) | float32 | 100,000 | 0.0053 | 0.0125 | 0.42Γ | 236% |
| β | np.ones (float32) | float32 | 10,000,000 | 7.4168 | 2.5871 | 2.87Γ | 35% |
| β« | np.ones (float64) | float64 | 1,000 | 0.0009 | 0.0140 | 0.062Γ | 1605% |
| π‘ | np.ones (float64) | float64 | 100,000 | 0.0098 | 0.0153 | 0.64Γ | 156% |
| β | np.ones (float64) | float64 | 10,000,000 | 14.7708 | 13.0423 | 1.13Γ | 88% |
| β« | np.ones (int32) | int32 | 1,000 | 0.0009 | 0.0088 | 0.10Γ | 1004% |
| π‘ | np.ones (int32) | int32 | 100,000 | 0.0076 | 0.0124 | 0.61Γ | 164% |
| β | np.ones (int32) | int32 | 10,000,000 | 7.3873 | 2.6333 | 2.81Γ | 36% |
| β« | np.ones (int64) | int64 | 1,000 | 0.0008 | 0.0139 | 0.061Γ | 1638% |
| π‘ | np.ones (int64) | int64 | 100,000 | 0.0098 | 0.0149 | 0.66Γ | 152% |
| β | np.ones (int64) | int64 | 10,000,000 | 14.7014 | 13.3927 | 1.10Γ | 91% |
| β« | np.zeros (float32) | float32 | 1,000 | 0.0005 | 0.0105 | 0.051Γ | 1958% |
| β | np.zeros (float32) | float32 | 100,000 | 0.0048 | 0.0021 | 2.31Γ | 43% |
| β | np.zeros (float32) | float32 | 10,000,000 | 0.0110 | 0.0068 | 1.62Γ | 62% |
| β« | np.zeros (float64) | float64 | 1,000 | 0.0004 | 0.0130 | 0.028Γ | 3535% |
| β | np.zeros (float64) | float64 | 100,000 | 0.0093 | 0.0026 | 3.57Γ | 28% |
| β | np.zeros (float64) | float64 | 10,000,000 | 0.0120 | 0.0068 | 1.76Γ | 57% |
| β« | np.zeros (int32) | int32 | 1,000 | 0.0004 | 0.0114 | 0.035Γ | 2881% |
| β | np.zeros (int32) | int32 | 100,000 | 0.0048 | 0.0020 | 2.44Γ | 41% |
| β | np.zeros (int32) | int32 | 10,000,000 | 0.0139 | 0.0058 | 2.39Γ | 42% |
| β« | np.zeros (int64) | int64 | 1,000 | 0.0004 | 0.0084 | 0.046Γ | 2187% |
| β | np.zeros (int64) | int64 | 100,000 | 0.0096 | 0.0026 | 3.63Γ | 28% |
| β | np.zeros (int64) | int64 | 10,000,000 | 0.0112 | 0.0091 | 1.23Γ | 81% |
| π΄ | np.zeros_like (float32) | float32 | 1,000 | 0.0011 | 0.0088 | 0.12Γ | 826% |
| β | np.zeros_like (float32) | float32 | 100,000 | 0.0056 | 0.0022 | 2.59Γ | 39% |
| β« | np.zeros_like (float32) | float32 | 10,000,000 | 7.3581 | 0.0069 | 1061.51Γ | 0% |
| π΄ | np.zeros_like (float64) | float64 | 1,000 | 0.0010 | 0.0148 | 0.068Γ | 1471% |
| β | np.zeros_like (float64) | float64 | 100,000 | 0.0101 | 0.0027 | 3.69Γ | 27% |
| β« | np.zeros_like (float64) | float64 | 10,000,000 | 14.7410 | 0.0069 | 2150.69Γ | 0% |
| π΄ | np.zeros_like (int32) | int32 | 1,000 | 0.0011 | 0.0111 | 0.095Γ | 1052% |
| β | np.zeros_like (int32) | int32 | 100,000 | 0.0054 | 0.0021 | 2.58Γ | 39% |
| β« | np.zeros_like (int32) | int32 | 10,000,000 | 7.4489 | 0.0061 | 1230.61Γ | 0% |
| π΄ | np.zeros_like (int64) | int64 | 1,000 | 0.0011 | 0.0118 | 0.095Γ | 1056% |
| β | np.zeros_like (int64) | int64 | 100,000 | 0.0100 | 0.0028 | 3.55Γ | 28% |
| β« | np.zeros_like (int64) | int64 | 10,000,000 | 14.7656 | 0.0093 | 1585.88Γ | 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.0152 | 0.0997 | 0.15Γ | 657% |
| β | a.flatten | float64 | 10,000,000 | 13.1072 | 12.5501 | 1.04Γ | 96% |
| βͺ | np.concatenate | float64 | 1,000 | 0.0010 | - | - | - |
| βͺ | np.concatenate | float64 | 100,000 | 0.3267 | - | - | - |
| βͺ | np.concatenate | float64 | 10,000,000 | 34.0246 | - | - | - |
| βͺ | np.ravel | float64 | 1,000 | 0.0003 | - | - | - |
| β« | np.ravel | float64 | 100,000 | 0.0003 | 0.0006 | 0.55Γ | 181% |
| β« | np.ravel | float64 | 10,000,000 | 0.0004 | 0.0006 | 0.59Γ | 168% |
| βͺ | np.stack | float64 | 1,000 | 0.0021 | - | - | - |
| βͺ | np.stack | float64 | 100,000 | 0.3333 | - | - | - |
| βͺ | np.stack | float64 | 10,000,000 | 33.5715 | - | - | - |
| βͺ | 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.0006 | 0.29Γ | 349% |
| β« | reshape 2D->1D | float64 | 10,000,000 | 0.0002 | 0.0007 | 0.25Γ | 405% |
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.0002 | - | - | - |
| βͺ | a[100:1000] (contiguous) | float64 | 10,000,000 | 0.0002 | - | - | - |
| βͺ | a[::-1] (reversed) | float64 | 1,000 | 0.0001 | - | - | - |
| β« | a[::-1] (reversed) | float64 | 100,000 | 0.0002 | 0.0015 | 0.11Γ | 937% |
| β« | a[::-1] (reversed) | float64 | 10,000,000 | 0.0001 | 0.0013 | 0.092Γ | 1091% |
| βͺ | a[::2] (strided) | float64 | 1,000 | 0.0001 | - | - | - |
| βͺ | a[::2] (strided) | float64 | 100,000 | 0.0001 | - | - | - |
| βͺ | a[::2] (strided) | float64 | 10,000,000 | 0.0002 | - | - | - |
| βͺ | np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - |
| βͺ | np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - |
| βͺ | np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - |
| βͺ | np.sum(strided_slice) | float64 | 500 | 0.0016 | - | - | - |
| βͺ | np.sum(strided_slice) | float64 | 50,000 | 0.0097 | - | - | - |
| βͺ | np.sum(strided_slice) | float64 | 5,000,000 | 4.3559 | - | - | - |
Comparison
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | a != b (float32) | float32 | 1,000 | 0.0005 | 0.0008 | 0.66Γ | 151% |
| π | a != b (float32) | float32 | 100,000 | 0.0055 | 0.0210 | 0.26Γ | 385% |
| β | a != b (float32) | float32 | 10,000,000 | 4.0035 | 3.8343 | 1.04Γ | 96% |
| β« | a != b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.53Γ | 188% |
| π | a != b (float64) | float64 | 100,000 | 0.0099 | 0.0261 | 0.38Γ | 264% |
| π‘ | a != b (float64) | float64 | 10,000,000 | 6.8612 | 6.8679 | 1.00Γ | 100% |
| β« | a != b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54Γ | 184% |
| π | a != b (int32) | int32 | 100,000 | 0.0070 | 0.0195 | 0.36Γ | 280% |
| β | a != b (int32) | int32 | 10,000,000 | 4.4415 | 3.8892 | 1.14Γ | 88% |
| β« | a != b (int64) | int64 | 1,000 | 0.0005 | 0.0009 | 0.56Γ | 177% |
| π | a != b (int64) | int64 | 100,000 | 0.0126 | 0.0280 | 0.45Γ | 222% |
| β | a != b (int64) | int64 | 10,000,000 | 7.4973 | 6.9054 | 1.09Γ | 92% |
| β« | a < b (float32) | float32 | 1,000 | 0.0005 | 0.0008 | 0.62Γ | 160% |
| π | a < b (float32) | float32 | 100,000 | 0.0054 | 0.0215 | 0.25Γ | 396% |
| π‘ | a < b (float32) | float32 | 10,000,000 | 3.9556 | 3.9752 | 0.99Γ | 100% |
| β« | a < b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.55Γ | 183% |
| π | a < b (float64) | float64 | 100,000 | 0.0102 | 0.0287 | 0.36Γ | 280% |
| π‘ | a < b (float64) | float64 | 10,000,000 | 6.7457 | 6.7981 | 0.99Γ | 101% |
| β« | a < b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.52Γ | 191% |
| π | a < b (int32) | int32 | 100,000 | 0.0070 | 0.0175 | 0.40Γ | 249% |
| β | a < b (int32) | int32 | 10,000,000 | 4.2024 | 3.8654 | 1.09Γ | 92% |
| β« | a < b (int64) | int64 | 1,000 | 0.0005 | 0.0010 | 0.55Γ | 182% |
| π‘ | a < b (int64) | int64 | 100,000 | 0.0178 | 0.0271 | 0.66Γ | 152% |
| β | a < b (int64) | int64 | 10,000,000 | 7.2004 | 6.6980 | 1.07Γ | 93% |
| β« | a <= b (float32) | float32 | 1,000 | 0.0004 | 0.0009 | 0.43Γ | 231% |
| π | a <= b (float32) | float32 | 100,000 | 0.0058 | 0.0206 | 0.28Γ | 355% |
| β | a <= b (float32) | float32 | 10,000,000 | 4.0141 | 3.9178 | 1.02Γ | 98% |
| β« | a <= b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.56Γ | 180% |
| π | a <= b (float64) | float64 | 100,000 | 0.0102 | 0.0279 | 0.37Γ | 274% |
| π‘ | a <= b (float64) | float64 | 10,000,000 | 6.9314 | 7.5527 | 0.92Γ | 109% |
| β« | a <= b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.53Γ | 190% |
| π | a <= b (int32) | int32 | 100,000 | 0.0070 | 0.0183 | 0.39Γ | 260% |
| β | a <= b (int32) | int32 | 10,000,000 | 4.3206 | 3.9855 | 1.08Γ | 92% |
| β« | a <= b (int64) | int64 | 1,000 | 0.0033 | 0.0008 | 4.37Γ | 23% |
| π‘ | a <= b (int64) | int64 | 100,000 | 0.0179 | 0.0277 | 0.65Γ | 155% |
| β | a <= b (int64) | int64 | 10,000,000 | 7.3167 | 6.8152 | 1.07Γ | 93% |
| β« | a == b (float32) | float32 | 1,000 | 0.0005 | 0.0008 | 0.60Γ | 167% |
| π | a == b (float32) | float32 | 100,000 | 0.0057 | 0.0222 | 0.26Γ | 391% |
| β | a == b (float32) | float32 | 10,000,000 | 4.2784 | 3.8917 | 1.10Γ | 91% |
| β« | a == b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.53Γ | 190% |
| π | a == b (float64) | float64 | 100,000 | 0.0102 | 0.0256 | 0.40Γ | 250% |
| β | a == b (float64) | float64 | 10,000,000 | 6.7360 | 6.6513 | 1.01Γ | 99% |
| β« | a == b (int32) | int32 | 1,000 | 0.0005 | 0.0008 | 0.65Γ | 153% |
| π | a == b (int32) | int32 | 100,000 | 0.0070 | 0.0179 | 0.39Γ | 257% |
| β | a == b (int32) | int32 | 10,000,000 | 4.3115 | 3.8389 | 1.12Γ | 89% |
| β« | a == b (int64) | int64 | 1,000 | 0.0004 | 0.0008 | 0.53Γ | 189% |
| π | a == b (int64) | int64 | 100,000 | 0.0124 | 0.0277 | 0.45Γ | 223% |
| β | a == b (int64) | int64 | 10,000,000 | 7.1056 | 6.8700 | 1.03Γ | 97% |
| β« | a > b (float32) | float32 | 1,000 | 0.0004 | 0.0008 | 0.54Γ | 184% |
| π | a > b (float32) | float32 | 100,000 | 0.0057 | 0.0211 | 0.27Γ | 369% |
| β | a > b (float32) | float32 | 10,000,000 | 4.0557 | 4.0290 | 1.01Γ | 99% |
| β« | a > b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.53Γ | 189% |
| π | a > b (float64) | float64 | 100,000 | 0.0100 | 0.0257 | 0.39Γ | 256% |
| π‘ | a > b (float64) | float64 | 10,000,000 | 6.7723 | 6.8430 | 0.99Γ | 101% |
| β« | a > b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.52Γ | 192% |
| π | a > b (int32) | int32 | 100,000 | 0.0070 | 0.0199 | 0.35Γ | 284% |
| β | a > b (int32) | int32 | 10,000,000 | 4.3282 | 3.9012 | 1.11Γ | 90% |
| β« | a > b (int64) | int64 | 1,000 | 0.0005 | 0.0008 | 0.66Γ | 151% |
| π‘ | a > b (int64) | int64 | 100,000 | 0.0189 | 0.0269 | 0.70Γ | 142% |
| β | a > b (int64) | int64 | 10,000,000 | 7.3191 | 6.5042 | 1.12Γ | 89% |
| β« | a >= b (float32) | float32 | 1,000 | 0.0004 | 0.0008 | 0.50Γ | 200% |
| π | a >= b (float32) | float32 | 100,000 | 0.0059 | 0.0205 | 0.29Γ | 349% |
| π‘ | a >= b (float32) | float32 | 10,000,000 | 3.9175 | 3.9675 | 0.99Γ | 101% |
| β« | a >= b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.53Γ | 190% |
| π | a >= b (float64) | float64 | 100,000 | 0.0103 | 0.0262 | 0.39Γ | 256% |
| π‘ | a >= b (float64) | float64 | 10,000,000 | 6.7369 | 7.2300 | 0.93Γ | 107% |
| β« | a >= b (int32) | int32 | 1,000 | 0.0005 | 0.0008 | 0.56Γ | 179% |
| π | a >= b (int32) | int32 | 100,000 | 0.0069 | 0.0191 | 0.36Γ | 275% |
| β | a >= b (int32) | int32 | 10,000,000 | 4.4423 | 3.9289 | 1.13Γ | 88% |
| β« | a >= b (int64) | int64 | 1,000 | 0.0005 | 0.0008 | 0.68Γ | 148% |
| π‘ | a >= b (int64) | int64 | 100,000 | 0.0178 | 0.0284 | 0.63Γ | 160% |
| β | a >= b (int64) | int64 | 10,000,000 | 7.5761 | 6.8095 | 1.11Γ | 90% |
Bitwise
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | ||
|---|---|---|---|---|---|---|---|---|
| β« | a & b (bool) | bool | 1,000 | 0.0004 | 0.0016 | 0.24Γ | 418% | |
| π΄ | a & b (bool) | bool | 100,000 | 0.0029 | 0.0240 | 0.12Γ | 815% | |
| π‘ | a & b (bool) | bool | 10,000,000 | 1.9362 | 2.3708 | 0.82Γ | 122% | |
| β« | a & b (int16) | int16 | 1,000 | 0.0008 | 0.0021 | 0.36Γ | 275% | |
| β | a & b (int16) | int16 | 100,000 | 0.0369 | 0.0131 | 2.81Γ | 36% | |
| β | a & b (int16) | int16 | 10,000,000 | 5.1340 | 3.0763 | 1.67Γ | 60% | |
| β« | a & b (int32) | int32 | 1,000 | 0.0008 | 0.0069 | 0.11Γ | 876% | |
| π‘ | a & b (int32) | int32 | 100,000 | 0.0291 | 0.0311 | 0.94Γ | 107% | |
| β | a & b (int32) | int32 | 10,000,000 | 9.2134 | 6.2718 | 1.47Γ | 68% | |
| β« | a & b (int64) | int64 | 1,000 | 0.0008 | 0.0120 | 0.065Γ | 1544% | |
| π‘ | a & b (int64) | int64 | 100,000 | 0.0328 | 0.0569 | 0.57Γ | 174% | |
| π‘ | a & b (int64) | int64 | 10,000,000 | 18.5987 | 19.4528 | 0.96Γ | 105% | |
| β« | a & b (int8) | int8 | 1,000 | 0.0007 | 0.0013 | 0.58Γ | 172% | |
| β | a & b (int8) | int8 | 100,000 | 0.0288 | 0.0085 | 3.39Γ | 30% | |
| β | a & b (int8) | int8 | 10,000,000 | 3.8601 | 1.5868 | 2.43Γ | 41% | |
| β« | a & b (uint16) | uint16 | 1,000 | 0.0008 | 0.0022 | 0.35Γ | 283% | |
| β | a & b (uint16) | uint16 | 100,000 | 0.0291 | 0.0138 | 2.11Γ | 48% | |
| β | a & b (uint16) | uint16 | 10,000,000 | 7.4077 | 2.9658 | 2.50Γ | 40% | |
| β« | a & b (uint32) | uint32 | 1,000 | 0.0008 | 0.0023 | 0.37Γ | 270% | |
| β | a & b (uint32) | uint32 | 100,000 | 0.0337 | 0.0278 | 1.21Γ | 82% | |
| β | a & b (uint32) | uint32 | 10,000,000 | 9.0297 | 5.8148 | 1.55Γ | 64% | |
| β« | a & b (uint64) | uint64 | 1,000 | 0.0008 | 0.0066 | 0.12Γ | 856% | |
| π‘ | a & b (uint64) | uint64 | 100,000 | 0.0353 | 0.0608 | 0.58Γ | 172% | |
| π‘ | a & b (uint64) | uint64 | 10,000,000 | 17.0949 | 18.1468 | 0.94Γ | 106% | |
| β« | a & b (uint8) | uint8 | 1,000 | 0.0006 | 0.0013 | 0.50Γ | 201% | |
| β | a & b (uint8) | uint8 | 100,000 | 0.0285 | 0.0080 | 3.58Γ | 28% | |
| β | a & b (uint8) | uint8 | 10,000,000 | 3.8145 | 1.5470 | 2.47Γ | 41% | |
| β« | a ^ b (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.25Γ | 401% | |
| π΄ | a ^ b (bool) | bool | 100,000 | 0.0030 | 0.0228 | 0.13Γ | 752% | |
| π‘ | a ^ b (bool) | bool | 10,000,000 | 1.9149 | 2.4520 | 0.78Γ | 128% | |
| β« | a ^ b (int16) | int16 | 1,000 | 0.0008 | 0.0022 | 0.35Γ | 281% | |
| β | a ^ b (int16) | int16 | 100,000 | 0.0285 | 0.0144 | 1.98Γ | 50% | |
| β | a ^ b (int16) | int16 | 10,000,000 | 5.2473 | 2.9006 | 1.81Γ | 55% | |
| π | a ^ b (int32) | int32 | 1,000 | 0.0019 | 0.0073 | 0.26Γ | 381% | |
| π‘ | a ^ b (int32) | int32 | 100,000 | 0.0289 | 0.0304 | 0.95Γ | 105% | |
| β | a ^ b (int32) | int32 | 10,000,000 | 8.9648 | 6.1135 | 1.47Γ | 68% | |
| β« | a ^ b (int64) | int64 | 1,000 | 0.0008 | 0.0123 | 0.064Γ | 1554% | |
| π‘ | a ^ b (int64) | int64 | 100,000 | 0.0311 | 0.0617 | 0.50Γ | 198% | |
| β | a ^ b (int64) | int64 | 10,000,000 | 20.4191 | 19.7104 | 1.04Γ | 96% | |
| β« | a ^ b (int8) | int8 | 1,000 | 0.0006 | 0.0014 | 0.47Γ | 215% | |
| β | a ^ b (int8) | int8 | 100,000 | 0.0285 | 0.0083 | 3.43Γ | 29% | |
| β | a ^ b (int8) | int8 | 10,000,000 | 3.8174 | 1.6025 | 2.38Γ | 42% | |
| β« | a ^ b (uint16) | uint16 | 1,000 | 0.0008 | 0.0023 | 0.33Γ | 302% | |
| β | a ^ b (uint16) | uint16 | 100,000 | 0.0287 | 0.0146 | 1.97Γ | 51% | |
| β | a ^ b (uint16) | uint16 | 10,000,000 | 5.8436 | 2.9363 | 1.99Γ | 50% | |
| β« | a ^ b (uint32) | uint32 | 1,000 | 0.0008 | 0.0035 | 0.22Γ | 446% | |
| β | a ^ b (uint32) | uint32 | 100,000 | 0.0286 | 0.0274 | 1.04Γ | 96% | |
| β | a ^ b (uint32) | uint32 | 10,000,000 | 8.8120 | 5.8908 | 1.50Γ | 67% | |
| β« | a ^ b (uint64) | uint64 | 1,000 | 0.0009 | 0.0128 | 0.069Γ | 1457% | |
| π‘ | a ^ b (uint64) | uint64 | 100,000 | 0.0300 | 0.0587 | 0.51Γ | 196% | |
| π‘ | a ^ b (uint64) | uint64 | 10,000,000 | 17.2203 | 17.4055 | 0.99Γ | 101% | |
| β« | a ^ b (uint8) | uint8 | 1,000 | 0.0007 | 0.0013 | 0.50Γ | 200% | |
| β | a ^ b (uint8) | uint8 | 100,000 | 0.0286 | 0.0097 | 2.94Γ | 34% | |
| β | a ^ b (uint8) | uint8 | 10,000,000 | 4.0447 | 1.4824 | 2.73Γ | 37% | |
| β« | a | b (bool) | bool | 1,000 | 0.0004 | 0.0014 | 0.27Γ | 377% |
| π΄ | a | b (bool) | bool | 100,000 | 0.0029 | 0.0244 | 0.12Γ | 852% |
| π‘ | a | b (bool) | bool | 10,000,000 | 2.0040 | 2.5681 | 0.78Γ | 128% |
| β« | a | b (int16) | int16 | 1,000 | 0.0009 | 0.0022 | 0.40Γ | 251% |
| β | a | b (int16) | int16 | 100,000 | 0.0286 | 0.0138 | 2.08Γ | 48% |
| β | a | b (int16) | int16 | 10,000,000 | 5.2591 | 2.9088 | 1.81Γ | 55% |
| β« | a | b (int32) | int32 | 1,000 | 0.0008 | 0.0052 | 0.15Γ | 654% |
| π‘ | a | b (int32) | int32 | 100,000 | 0.0287 | 0.0301 | 0.95Γ | 105% |
| β | a | b (int32) | int32 | 10,000,000 | 10.1933 | 6.1209 | 1.67Γ | 60% |
| β« | a | b (int64) | int64 | 1,000 | 0.0008 | 0.0116 | 0.069Γ | 1454% |
| π‘ | a | b (int64) | int64 | 100,000 | 0.0325 | 0.0643 | 0.51Γ | 198% |
| π‘ | a | b (int64) | int64 | 10,000,000 | 17.4904 | 19.2407 | 0.91Γ | 110% |
| β« | a | b (int8) | int8 | 1,000 | 0.0007 | 0.0013 | 0.53Γ | 188% |
| β | a | b (int8) | int8 | 100,000 | 0.0298 | 0.0093 | 3.20Γ | 31% |
| β | a | b (int8) | int8 | 10,000,000 | 4.0815 | 1.7639 | 2.31Γ | 43% |
| β« | a | b (uint16) | uint16 | 1,000 | 0.0008 | 0.0026 | 0.30Γ | 332% |
| β | a | b (uint16) | uint16 | 100,000 | 0.0300 | 0.0151 | 1.98Γ | 50% |
| β | a | b (uint16) | uint16 | 10,000,000 | 5.8621 | 2.8445 | 2.06Γ | 48% |
| β« | a | b (uint32) | uint32 | 1,000 | 0.0009 | 0.0040 | 0.22Γ | 461% |
| π‘ | a | b (uint32) | uint32 | 100,000 | 0.0287 | 0.0292 | 0.98Γ | 102% |
| β | a | b (uint32) | uint32 | 10,000,000 | 8.7585 | 5.7854 | 1.51Γ | 66% |
| β« | a | b (uint64) | uint64 | 1,000 | 0.0008 | 0.0087 | 0.091Γ | 1094% |
| π‘ | a | b (uint64) | uint64 | 100,000 | 0.0383 | 0.0625 | 0.61Γ | 163% |
| β | a | b (uint64) | uint64 | 10,000,000 | 17.6590 | 17.4118 | 1.01Γ | 99% |
| β« | a | b (uint8) | uint8 | 1,000 | 0.0007 | 0.0012 | 0.57Γ | 176% |
| β | a | b (uint8) | uint8 | 100,000 | 0.0292 | 0.0107 | 2.73Γ | 37% |
| β | a | b (uint8) | uint8 | 10,000,000 | 4.0708 | 1.5442 | 2.64Γ | 38% |
| β« | np.invert(a) (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.24Γ | 412% | |
| π΄ | np.invert(a) (bool) | bool | 100,000 | 0.0022 | 0.0237 | 0.094Γ | 1068% | |
| π‘ | np.invert(a) (bool) | bool | 10,000,000 | 1.7472 | 2.4556 | 0.71Γ | 140% | |
| β« | np.invert(a) (int16) | int16 | 1,000 | 0.0009 | 0.0021 | 0.43Γ | 230% | |
| β | np.invert(a) (int16) | int16 | 100,000 | 0.0257 | 0.0133 | 1.94Γ | 52% | |
| β | np.invert(a) (int16) | int16 | 10,000,000 | 4.6982 | 2.3993 | 1.96Γ | 51% | |
| β« | np.invert(a) (int32) | int32 | 1,000 | 0.0008 | 0.0024 | 0.32Γ | 309% | |
| π‘ | np.invert(a) (int32) | int32 | 100,000 | 0.0261 | 0.0327 | 0.80Γ | 125% | |
| β | np.invert(a) (int32) | int32 | 10,000,000 | 8.1259 | 5.3159 | 1.53Γ | 65% | |
| β« | np.invert(a) (int64) | int64 | 1,000 | 0.0007 | 0.0071 | 0.10Γ | 969% | |
| π | np.invert(a) (int64) | int64 | 100,000 | 0.0269 | 0.0565 | 0.48Γ | 210% | |
| π‘ | np.invert(a) (int64) | int64 | 10,000,000 | 15.5655 | 20.8043 | 0.75Γ | 134% | |
| β« | np.invert(a) (int8) | int8 | 1,000 | 0.0006 | 0.0010 | 0.60Γ | 165% | |
| β | np.invert(a) (int8) | int8 | 100,000 | 0.0257 | 0.0086 | 2.98Γ | 34% | |
| β | np.invert(a) (int8) | int8 | 10,000,000 | 3.5401 | 1.3515 | 2.62Γ | 38% | |
| β« | np.invert(a) (uint16) | uint16 | 1,000 | 0.0007 | 0.0026 | 0.28Γ | 354% | |
| β | np.invert(a) (uint16) | uint16 | 100,000 | 0.0258 | 0.0152 | 1.70Γ | 59% | |
| β | np.invert(a) (uint16) | uint16 | 10,000,000 | 4.7607 | 2.5025 | 1.90Γ | 53% | |
| β« | np.invert(a) (uint32) | uint32 | 1,000 | 0.0007 | 0.0052 | 0.14Γ | 699% | |
| β | np.invert(a) (uint32) | uint32 | 100,000 | 0.0347 | 0.0255 | 1.36Γ | 73% | |
| β | np.invert(a) (uint32) | uint32 | 10,000,000 | 7.9103 | 4.3619 | 1.81Γ | 55% | |
| β« | np.invert(a) (uint64) | uint64 | 1,000 | 0.0007 | 0.0084 | 0.086Γ | 1162% | |
| π | np.invert(a) (uint64) | uint64 | 100,000 | 0.0261 | 0.0561 | 0.47Γ | 215% | |
| π‘ | np.invert(a) (uint64) | uint64 | 10,000,000 | 15.3698 | 16.1587 | 0.95Γ | 105% | |
| β« | np.invert(a) (uint8) | uint8 | 1,000 | 0.0006 | 0.0012 | 0.52Γ | 193% | |
| β | np.invert(a) (uint8) | uint8 | 100,000 | 0.0268 | 0.0072 | 3.73Γ | 27% | |
| β | np.invert(a) (uint8) | uint8 | 10,000,000 | 3.5368 | 1.2344 | 2.87Γ | 35% | |
| βͺ | np.left_shift(a, 2) (bool) | bool | 1,000 | 0.0015 | - | - | - | |
| βͺ | np.left_shift(a, 2) (bool) | bool | 100,000 | 0.0449 | - | - | - | |
| βͺ | np.left_shift(a, 2) (bool) | bool | 10,000,000 | 15.2171 | - | - | - | |
| π΄ | np.left_shift(a, 2) (int16) | int16 | 1,000 | 0.0010 | 0.0053 | 0.20Γ | 510% | |
| π΄ | np.left_shift(a, 2) (int16) | int16 | 100,000 | 0.0282 | 0.3813 | 0.074Γ | 1350% | |
| π΄ | np.left_shift(a, 2) (int16) | int16 | 10,000,000 | 4.9430 | 37.1258 | 0.13Γ | 751% | |
| β« | np.left_shift(a, 2) (int32) | int32 | 1,000 | 0.0010 | 0.0089 | 0.11Γ | 897% | |
| π΄ | np.left_shift(a, 2) (int32) | int32 | 100,000 | 0.0192 | 0.3904 | 0.049Γ | 2035% | |
| π | np.left_shift(a, 2) (int32) | int32 | 10,000,000 | 7.7457 | 37.0641 | 0.21Γ | 478% | |
| β« | np.left_shift(a, 2) (int64) | int64 | 1,000 | 0.0010 | 0.0133 | 0.075Γ | 1342% | |
| π΄ | np.left_shift(a, 2) (int64) | int64 | 100,000 | 0.0202 | 0.3924 | 0.051Γ | 1945% | |
| π | np.left_shift(a, 2) (int64) | int64 | 10,000,000 | 15.1483 | 48.2592 | 0.31Γ | 319% | |
| β« | np.left_shift(a, 2) (int8) | int8 | 1,000 | 0.0009 | 0.0054 | 0.17Γ | 584% | |
| π΄ | np.left_shift(a, 2) (int8) | int8 | 100,000 | 0.0305 | 0.3768 | 0.081Γ | 1236% | |
| π΄ | np.left_shift(a, 2) (int8) | int8 | 10,000,000 | 3.7550 | 37.7355 | 0.10Γ | 1005% | |
| π΄ | np.left_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0053 | 0.20Γ | 503% | |
| π΄ | np.left_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0293 | 0.3879 | 0.076Γ | 1322% | |
| π΄ | np.left_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.3824 | 37.4437 | 0.14Γ | 696% | |
| π΄ | np.left_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0014 | 0.0072 | 0.20Γ | 503% | |
| π΄ | np.left_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0201 | 0.3908 | 0.051Γ | 1944% | |
| π | np.left_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.7136 | 37.4067 | 0.21Γ | 485% | |
| β« | np.left_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0122 | 0.079Γ | 1264% | |
| π΄ | np.left_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0197 | 0.3923 | 0.050Γ | 1992% | |
| π | np.left_shift(a, 2) (uint64) | uint64 | 10,000,000 | 15.1562 | 43.8575 | 0.35Γ | 289% | |
| β« | np.left_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0053 | 0.17Γ | 579% | |
| π΄ | np.left_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0282 | 0.3753 | 0.075Γ | 1330% | |
| π΄ | np.left_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.7382 | 37.0483 | 0.10Γ | 991% | |
| βͺ | np.right_shift(a, 2) (bool) | bool | 1,000 | 0.0016 | - | - | - | |
| βͺ | np.right_shift(a, 2) (bool) | bool | 100,000 | 0.0562 | - | - | - | |
| βͺ | np.right_shift(a, 2) (bool) | bool | 10,000,000 | 15.4174 | - | - | - | |
| π | np.right_shift(a, 2) (int16) | int16 | 1,000 | 0.0012 | 0.0054 | 0.22Γ | 460% | |
| π΄ | np.right_shift(a, 2) (int16) | int16 | 100,000 | 0.0374 | 0.3824 | 0.098Γ | 1021% | |
| π΄ | np.right_shift(a, 2) (int16) | int16 | 10,000,000 | 5.7902 | 37.1819 | 0.16Γ | 642% | |
| π΄ | np.right_shift(a, 2) (int32) | int32 | 1,000 | 0.0013 | 0.0090 | 0.15Γ | 676% | |
| π΄ | np.right_shift(a, 2) (int32) | int32 | 100,000 | 0.0288 | 0.3903 | 0.074Γ | 1353% | |
| π | np.right_shift(a, 2) (int32) | int32 | 10,000,000 | 7.9852 | 37.4325 | 0.21Γ | 469% | |
| π΄ | np.right_shift(a, 2) (int64) | int64 | 1,000 | 0.0010 | 0.0127 | 0.080Γ | 1249% | |
| π΄ | np.right_shift(a, 2) (int64) | int64 | 100,000 | 0.0289 | 0.3926 | 0.074Γ | 1357% | |
| π | np.right_shift(a, 2) (int64) | int64 | 10,000,000 | 15.2694 | 46.0316 | 0.33Γ | 302% | |
| π | np.right_shift(a, 2) (int8) | int8 | 1,000 | 0.0011 | 0.0054 | 0.20Γ | 487% | |
| π΄ | np.right_shift(a, 2) (int8) | int8 | 100,000 | 0.0383 | 0.3764 | 0.10Γ | 982% | |
| π΄ | np.right_shift(a, 2) (int8) | int8 | 10,000,000 | 4.6221 | 37.4222 | 0.12Γ | 810% | |
| π΄ | np.right_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0054 | 0.20Γ | 512% | |
| π΄ | np.right_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0285 | 0.3868 | 0.074Γ | 1355% | |
| π΄ | np.right_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.2827 | 37.5630 | 0.14Γ | 711% | |
| β« | np.right_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0135 | 0.073Γ | 1366% | |
| π΄ | np.right_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0202 | 0.3900 | 0.052Γ | 1930% | |
| π | np.right_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.8598 | 37.2613 | 0.21Γ | 474% | |
| β« | np.right_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0136 | 0.072Γ | 1384% | |
| π΄ | np.right_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0206 | 0.3933 | 0.052Γ | 1908% | |
| π | np.right_shift(a, 2) (uint64) | uint64 | 10,000,000 | 15.2120 | 44.4632 | 0.34Γ | 292% | |
| β« | np.right_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0054 | 0.17Γ | 583% | |
| π΄ | np.right_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0286 | 0.3756 | 0.076Γ | 1315% | |
| π΄ | np.right_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.7457 | 37.0296 | 0.10Γ | 989% |
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.0015 | - | - | - |
| βͺ | np.all(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - |
| βͺ | np.allclose(a, b) (float16) | float16 | 1,000 | 0.0332 | - | - | - |
| βͺ | np.allclose(a, b) (float16) | float16 | 100,000 | 1.7625 | - | - | - |
| βͺ | np.allclose(a, b) (float16) | float16 | 10,000,000 | 192.9437 | - | - | - |
| βͺ | np.allclose(a, b) (float32) | float32 | 1,000 | 0.0130 | - | - | - |
| βͺ | np.allclose(a, b) (float32) | float32 | 100,000 | 0.3409 | - | - | - |
| βͺ | np.allclose(a, b) (float32) | float32 | 10,000,000 | 54.6204 | - | - | - |
| βͺ | np.allclose(a, b) (float64) | float64 | 1,000 | 0.0132 | - | - | - |
| βͺ | np.allclose(a, b) (float64) | float64 | 100,000 | 0.6240 | - | - | - |
| βͺ | np.allclose(a, b) (float64) | float64 | 10,000,000 | 107.6998 | - | - | - |
| βͺ | np.any(a) (bool) | bool | 1,000 | 0.0016 | - | - | - |
| βͺ | np.any(a) (bool) | bool | 100,000 | 0.0014 | - | - | - |
| βͺ | np.any(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - |
| β | np.array_equal(a, b) (float16) | float16 | 1,000 | 0.0025 | 0.0011 | 2.26Γ | 44% |
| β | np.array_equal(a, b) (float16) | float16 | 100,000 | 0.0956 | 0.0710 | 1.35Γ | 74% |
| β | np.array_equal(a, b) (float16) | float16 | 10,000,000 | 9.4225 | 6.3415 | 1.49Γ | 67% |
| β« | np.array_equal(a, b) (float32) | float32 | 1,000 | 0.0015 | 0.0007 | 2.14Γ | 47% |
| π‘ | np.array_equal(a, b) (float32) | float32 | 100,000 | 0.0087 | 0.0166 | 0.52Γ | 191% |
| π‘ | np.array_equal(a, b) (float32) | float32 | 10,000,000 | 3.8713 | 3.8855 | 1.00Γ | 100% |
| β« | np.array_equal(a, b) (float64) | float64 | 1,000 | 0.0016 | 0.0008 | 2.01Γ | 50% |
| π | np.array_equal(a, b) (float64) | float64 | 100,000 | 0.0121 | 0.0297 | 0.41Γ | 245% |
| β | np.array_equal(a, b) (float64) | float64 | 10,000,000 | 7.0010 | 6.4820 | 1.08Γ | 93% |
| βͺ | np.isclose(a, b) (float16) | float16 | 1,000 | 0.0296 | - | - | - |
| βͺ | np.isclose(a, b) (float16) | float16 | 100,000 | 1.7611 | - | - | - |
| βͺ | np.isclose(a, b) (float16) | float16 | 10,000,000 | 199.5655 | - | - | - |
| βͺ | np.isclose(a, b) (float32) | float32 | 1,000 | 0.0116 | - | - | - |
| βͺ | np.isclose(a, b) (float32) | float32 | 100,000 | 0.3355 | - | - | - |
| βͺ | np.isclose(a, b) (float32) | float32 | 10,000,000 | 55.8382 | - | - | - |
| βͺ | np.isclose(a, b) (float64) | float64 | 1,000 | 0.0116 | - | - | - |
| βͺ | np.isclose(a, b) (float64) | float64 | 100,000 | 0.6394 | - | - | - |
| βͺ | np.isclose(a, b) (float64) | float64 | 10,000,000 | 102.1851 | - | - | - |
| β« | np.isfinite(a) (float16) | float16 | 1,000 | 0.0009 | 0.0010 | 0.86Γ | 116% |
| π‘ | np.isfinite(a) (float16) | float16 | 100,000 | 0.0482 | 0.0528 | 0.91Γ | 110% |
| β | np.isfinite(a) (float16) | float16 | 10,000,000 | 5.7788 | 3.3303 | 1.74Γ | 58% |
| β« | np.isfinite(a) (float32) | float32 | 1,000 | 0.0004 | 0.0011 | 0.36Γ | 281% |
| π΄ | np.isfinite(a) (float32) | float32 | 100,000 | 0.0053 | 0.0362 | 0.14Γ | 688% |
| π‘ | np.isfinite(a) (float32) | float32 | 10,000,000 | 3.2475 | 4.1421 | 0.78Γ | 128% |
| β« | np.isfinite(a) (float64) | float64 | 1,000 | 0.0004 | 0.0011 | 0.39Γ | 256% |
| π | np.isfinite(a) (float64) | float64 | 100,000 | 0.0098 | 0.0395 | 0.25Γ | 405% |
| π‘ | np.isfinite(a) (float64) | float64 | 10,000,000 | 5.1256 | 6.2088 | 0.83Γ | 121% |
| β« | np.isinf(a) (float16) | float16 | 1,000 | 0.0009 | 0.0011 | 0.85Γ | 118% |
| π‘ | np.isinf(a) (float16) | float16 | 100,000 | 0.0498 | 0.0543 | 0.92Γ | 109% |
| β | np.isinf(a) (float16) | float16 | 10,000,000 | 5.9810 | 3.2027 | 1.87Γ | 54% |
| β« | np.isinf(a) (float32) | float32 | 1,000 | 0.0005 | 0.0012 | 0.46Γ | 219% |
| π΄ | np.isinf(a) (float32) | float32 | 100,000 | 0.0054 | 0.0421 | 0.13Γ | 780% |
| π‘ | np.isinf(a) (float32) | float32 | 10,000,000 | 3.4097 | 4.4158 | 0.77Γ | 130% |
| β« | np.isinf(a) (float64) | float64 | 1,000 | 0.0005 | 0.0012 | 0.39Γ | 259% |
| π | np.isinf(a) (float64) | float64 | 100,000 | 0.0101 | 0.0483 | 0.21Γ | 480% |
| π‘ | np.isinf(a) (float64) | float64 | 10,000,000 | 4.9636 | 6.7550 | 0.73Γ | 136% |
| β« | np.isnan(a) (float16) | float16 | 1,000 | 0.0012 | 0.0010 | 1.18Γ | 85% |
| β | np.isnan(a) (float16) | float16 | 100,000 | 0.0678 | 0.0500 | 1.36Γ | 74% |
| β | np.isnan(a) (float16) | float16 | 10,000,000 | 7.7367 | 3.2338 | 2.39Γ | 42% |
| β« | np.isnan(a) (float32) | float32 | 1,000 | 0.0005 | 0.0010 | 0.51Γ | 197% |
| π΄ | np.isnan(a) (float32) | float32 | 100,000 | 0.0041 | 0.0486 | 0.085Γ | 1177% |
| π‘ | np.isnan(a) (float32) | float32 | 10,000,000 | 3.1759 | 4.6187 | 0.69Γ | 145% |
| β« | np.isnan(a) (float64) | float64 | 1,000 | 0.0004 | 0.0013 | 0.33Γ | 304% |
| π΄ | np.isnan(a) (float64) | float64 | 100,000 | 0.0086 | 0.0490 | 0.18Γ | 566% |
| π‘ | np.isnan(a) (float64) | float64 | 10,000,000 | 4.9428 | 6.3496 | 0.78Γ | 128% |
| π‘ | np.maximum(a, b) (float16) | float16 | 1,000 | 0.0031 | 0.0040 | 0.79Γ | 127% |
| β | np.maximum(a, b) (float16) | float16 | 100,000 | 0.7598 | 0.6773 | 1.12Γ | 89% |
| β | np.maximum(a, b) (float16) | float16 | 10,000,000 | 80.6049 | 65.8783 | 1.22Γ | 82% |
| β« | np.maximum(a, b) (float32) | float32 | 1,000 | 0.0006 | 0.0027 | 0.21Γ | 478% |
| π | np.maximum(a, b) (float32) | float32 | 100,000 | 0.0085 | 0.0375 | 0.23Γ | 439% |
| β | np.maximum(a, b) (float32) | float32 | 10,000,000 | 8.4970 | 5.1052 | 1.66Γ | 60% |
| β« | np.maximum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0033 | 0.18Γ | 557% |
| π | np.maximum(a, b) (float64) | float64 | 100,000 | 0.0291 | 0.0937 | 0.31Γ | 322% |
| π‘ | np.maximum(a, b) (float64) | float64 | 10,000,000 | 16.6866 | 21.8878 | 0.76Γ | 131% |
| π‘ | np.minimum(a, b) (float16) | float16 | 1,000 | 0.0034 | 0.0039 | 0.87Γ | 116% |
| β | np.minimum(a, b) (float16) | float16 | 100,000 | 0.7651 | 0.6905 | 1.11Γ | 90% |
| β | np.minimum(a, b) (float16) | float16 | 10,000,000 | 81.5912 | 66.2103 | 1.23Γ | 81% |
| β« | np.minimum(a, b) (float32) | float32 | 1,000 | 0.0006 | 0.0026 | 0.21Γ | 468% |
| π | np.minimum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0380 | 0.22Γ | 450% |
| β | np.minimum(a, b) (float32) | float32 | 10,000,000 | 8.4896 | 4.9888 | 1.70Γ | 59% |
| β« | np.minimum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0027 | 0.22Γ | 454% |
| π | np.minimum(a, b) (float64) | float64 | 100,000 | 0.0294 | 0.0879 | 0.33Γ | 300% |
| π‘ | np.minimum(a, b) (float64) | float64 | 10,000,000 | 16.7333 | 22.1221 | 0.76Γ | 132% |
Statistics
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β | np.average(a) (float16) | float16 | 1,000 | 0.0055 | 0.0013 | 4.13Γ | 24% |
| β | np.average(a) (float16) | float16 | 100,000 | 0.1051 | 0.0820 | 1.28Γ | 78% |
| β | np.average(a) (float16) | float16 | 10,000,000 | 17.2176 | 8.1660 | 2.11Γ | 47% |
| β« | np.average(a) (float32) | float32 | 1,000 | 0.0050 | 0.0007 | 6.67Γ | 15% |
| β | np.average(a) (float32) | float32 | 100,000 | 0.0174 | 0.0022 | 7.92Γ | 13% |
| β | np.average(a) (float32) | float32 | 10,000,000 | 10.2401 | 1.2354 | 8.29Γ | 12% |
| β« | np.average(a) (float64) | float64 | 1,000 | 0.0035 | 0.0009 | 3.81Γ | 26% |
| β | np.average(a) (float64) | float64 | 100,000 | 0.0171 | 0.0064 | 2.69Γ | 37% |
| β | np.average(a) (float64) | float64 | 10,000,000 | 15.3117 | 3.1971 | 4.79Γ | 21% |
| β« | np.count_nonzero(a) (float16) | float16 | 1,000 | 0.0018 | 0.0005 | 3.72Γ | 27% |
| β | np.count_nonzero(a) (float16) | float16 | 100,000 | 0.1526 | 0.0451 | 3.39Γ | 30% |
| β | np.count_nonzero(a) (float16) | float16 | 10,000,000 | 25.1066 | 4.3725 | 5.74Γ | 17% |
| β« | np.count_nonzero(a) (float32) | float32 | 1,000 | 0.0008 | 0.0001 | 9.41Γ | 11% |
| β | np.count_nonzero(a) (float32) | float32 | 100,000 | 0.0376 | 0.0048 | 7.77Γ | 13% |
| β | np.count_nonzero(a) (float32) | float32 | 10,000,000 | 8.0489 | 2.0107 | 4.00Γ | 25% |
| β« | np.count_nonzero(a) (float64) | float64 | 1,000 | 0.0010 | 0.0001 | 7.20Γ | 14% |
| β | np.count_nonzero(a) (float64) | float64 | 100,000 | 0.0405 | 0.0102 | 3.98Γ | 25% |
| β | np.count_nonzero(a) (float64) | float64 | 10,000,000 | 10.1563 | 4.2387 | 2.40Γ | 42% |
| β | np.median(a) (float16) | float16 | 1,000 | 0.0136 | 0.0042 | 3.26Γ | 31% |
| π‘ | np.median(a) (float16) | float16 | 100,000 | 0.9048 | 1.2881 | 0.70Γ | 142% |
| β | np.median(a) (float16) | float16 | 10,000,000 | 134.8925 | 92.0448 | 1.47Γ | 68% |
| β | np.median(a) (float32) | float32 | 1,000 | 0.0109 | 0.0023 | 4.77Γ | 21% |
| π‘ | np.median(a) (float32) | float32 | 100,000 | 0.4875 | 0.7182 | 0.68Γ | 147% |
| β | np.median(a) (float32) | float32 | 10,000,000 | 96.5370 | 82.6295 | 1.17Γ | 86% |
| β | np.median(a) (float64) | float64 | 1,000 | 0.0110 | 0.0024 | 4.53Γ | 22% |
| π‘ | np.median(a) (float64) | float64 | 100,000 | 0.4789 | 0.7222 | 0.66Γ | 151% |
| β | np.median(a) (float64) | float64 | 10,000,000 | 112.1137 | 92.2792 | 1.22Γ | 82% |
| β | np.percentile(a, 50) (float16) | float16 | 1,000 | 0.0323 | 0.0042 | 7.69Γ | 13% |
| β | np.percentile(a, 50) (float16) | float16 | 100,000 | 1.8092 | 1.2858 | 1.41Γ | 71% |
| β | np.percentile(a, 50) (float16) | float16 | 10,000,000 | 156.5275 | 91.5503 | 1.71Γ | 58% |
| β | np.percentile(a, 50) (float32) | float32 | 1,000 | 0.0241 | 0.0023 | 10.51Γ | 10% |
| β | np.percentile(a, 50) (float32) | float32 | 100,000 | 0.7427 | 0.7156 | 1.04Γ | 96% |
| π‘ | np.percentile(a, 50) (float32) | float32 | 10,000,000 | 63.9717 | 81.0735 | 0.79Γ | 127% |
| β | np.percentile(a, 50) (float64) | float64 | 1,000 | 0.0300 | 0.0025 | 12.18Γ | 8% |
| β | np.percentile(a, 50) (float64) | float64 | 100,000 | 0.7387 | 0.7299 | 1.01Γ | 99% |
| π‘ | np.percentile(a, 50) (float64) | float64 | 10,000,000 | 80.6078 | 93.3931 | 0.86Γ | 116% |
| β | np.ptp(a) (float16) | float16 | 1,000 | 0.0073 | 0.0032 | 2.28Γ | 44% |
| β | np.ptp(a) (float16) | float16 | 100,000 | 1.0217 | 0.6418 | 1.59Γ | 63% |
| β | np.ptp(a) (float16) | float16 | 10,000,000 | 130.8630 | 65.0541 | 2.01Γ | 50% |
| β | np.ptp(a) (float32) | float32 | 1,000 | 0.0034 | 0.0024 | 1.45Γ | 69% |
| π‘ | np.ptp(a) (float32) | float32 | 100,000 | 0.0119 | 0.0176 | 0.68Γ | 147% |
| β | np.ptp(a) (float32) | float32 | 10,000,000 | 8.0532 | 3.5153 | 2.29Γ | 44% |
| β | np.ptp(a) (float64) | float64 | 1,000 | 0.0041 | 0.0027 | 1.50Γ | 67% |
| π‘ | np.ptp(a) (float64) | float64 | 100,000 | 0.0194 | 0.0330 | 0.59Γ | 170% |
| β | np.ptp(a) (float64) | float64 | 10,000,000 | 17.0859 | 8.6509 | 1.98Γ | 51% |
| β | np.quantile(a, 0.5) (float16) | float16 | 1,000 | 0.0287 | 0.0042 | 6.76Γ | 15% |
| β | np.quantile(a, 0.5) (float16) | float16 | 100,000 | 1.7839 | 1.3025 | 1.37Γ | 73% |
| β | np.quantile(a, 0.5) (float16) | float16 | 10,000,000 | 156.4810 | 91.1789 | 1.72Γ | 58% |
| β | np.quantile(a, 0.5) (float32) | float32 | 1,000 | 0.0234 | 0.0023 | 10.31Γ | 10% |
| β | np.quantile(a, 0.5) (float32) | float32 | 100,000 | 0.7177 | 0.7119 | 1.01Γ | 99% |
| π‘ | np.quantile(a, 0.5) (float32) | float32 | 10,000,000 | 63.5667 | 80.9988 | 0.79Γ | 127% |
| β | np.quantile(a, 0.5) (float64) | float64 | 1,000 | 0.0233 | 0.0025 | 9.44Γ | 11% |
| π‘ | np.quantile(a, 0.5) (float64) | float64 | 100,000 | 0.7353 | 0.7477 | 0.98Γ | 102% |
| π‘ | np.quantile(a, 0.5) (float64) | float64 | 10,000,000 | 81.6003 | 91.1410 | 0.90Γ | 112% |
Sorting
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| π‘ | np.argsort(a) (float32) | float32 | 1,000 | 0.0121 | 0.0163 | 0.74Γ | 135% |
| β | np.argsort(a) (float32) | float32 | 100,000 | 1.5773 | 1.3462 | 1.17Γ | 85% |
| β | np.argsort(a) (float32) | float32 | 10,000,000 | 657.2035 | 164.2182 | 4.00Γ | 25% |
| π | np.argsort(a) (float64) | float64 | 1,000 | 0.0101 | 0.0229 | 0.44Γ | 228% |
| π‘ | np.argsort(a) (float64) | float64 | 100,000 | 1.4552 | 2.6803 | 0.54Γ | 184% |
| β | np.argsort(a) (float64) | float64 | 10,000,000 | 612.9057 | 305.7646 | 2.00Γ | 50% |
| π‘ | np.argsort(a) (int32) | int32 | 1,000 | 0.0122 | 0.0150 | 0.81Γ | 123% |
| π | np.argsort(a) (int32) | int32 | 100,000 | 0.4357 | 1.1883 | 0.37Γ | 273% |
| β | np.argsort(a) (int32) | int32 | 10,000,000 | 306.9013 | 130.5309 | 2.35Γ | 42% |
| π‘ | np.argsort(a) (int64) | int64 | 1,000 | 0.0133 | 0.0204 | 0.65Γ | 154% |
| π΄ | np.argsort(a) (int64) | int64 | 100,000 | 0.5113 | 2.9221 | 0.17Γ | 572% |
| β | np.argsort(a) (int64) | int64 | 10,000,000 | 390.5333 | 240.1491 | 1.63Γ | 62% |
| β | np.nonzero(a) (float32) | float32 | 1,000 | 0.0025 | 0.0021 | 1.20Γ | 84% |
| π‘ | np.nonzero(a) (float32) | float32 | 100,000 | 0.1872 | 0.2217 | 0.84Γ | 118% |
| β | np.nonzero(a) (float32) | float32 | 10,000,000 | 25.5561 | 15.7379 | 1.62Γ | 62% |
| β | np.nonzero(a) (float64) | float64 | 1,000 | 0.0028 | 0.0019 | 1.50Γ | 66% |
| π‘ | np.nonzero(a) (float64) | float64 | 100,000 | 0.1789 | 0.2447 | 0.73Γ | 137% |
| β | np.nonzero(a) (float64) | float64 | 10,000,000 | 32.2888 | 18.0774 | 1.79Γ | 56% |
| π‘ | np.nonzero(a) (int32) | int32 | 1,000 | 0.0017 | 0.0030 | 0.56Γ | 178% |
| π | np.nonzero(a) (int32) | int32 | 100,000 | 0.1019 | 0.2350 | 0.43Γ | 231% |
| β | np.nonzero(a) (int32) | int32 | 10,000,000 | 29.9222 | 27.4282 | 1.09Γ | 92% |
| π‘ | np.nonzero(a) (int64) | int64 | 1,000 | 0.0018 | 0.0031 | 0.57Γ | 176% |
| π | np.nonzero(a) (int64) | int64 | 100,000 | 0.1143 | 0.2499 | 0.46Γ | 219% |
| β | np.nonzero(a) (int64) | int64 | 10,000,000 | 29.8745 | 19.8804 | 1.50Γ | 66% |
| β | np.searchsorted(a, v) (float32) | float32 | 1,000 | 0.0074 | 0.0056 | 1.31Γ | 76% |
| β | np.searchsorted(a, v) (float32) | float32 | 100,000 | 2.0207 | 1.7645 | 1.15Γ | 87% |
| β | np.searchsorted(a, v) (float32) | float32 | 10,000,000 | 239.6437 | 195.4530 | 1.23Γ | 82% |
| β | np.searchsorted(a, v) (float64) | float64 | 1,000 | 0.0079 | 0.0055 | 1.45Γ | 69% |
| β | np.searchsorted(a, v) (float64) | float64 | 100,000 | 2.0950 | 1.7708 | 1.18Γ | 84% |
| β | np.searchsorted(a, v) (float64) | float64 | 10,000,000 | 249.7088 | 192.5328 | 1.30Γ | 77% |
| β | np.searchsorted(a, v) (int32) | int32 | 1,000 | 0.0204 | 0.0077 | 2.65Γ | 38% |
| β | np.searchsorted(a, v) (int32) | int32 | 100,000 | 2.8565 | 2.2922 | 1.25Γ | 80% |
| β | np.searchsorted(a, v) (int32) | int32 | 10,000,000 | 578.2002 | 253.6528 | 2.28Γ | 44% |
| β | np.searchsorted(a, v) (int64) | int64 | 1,000 | 0.0202 | 0.0073 | 2.77Γ | 36% |
| β | np.searchsorted(a, v) (int64) | int64 | 100,000 | 2.8969 | 2.2836 | 1.27Γ | 79% |
| β | np.searchsorted(a, v) (int64) | int64 | 10,000,000 | 559.5927 | 247.0748 | 2.27Γ | 44% |
LinearAlgebra
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| β« | np.dot(a, b) (float64) | float64 | 1,000 | 0.0007 | 0.0006 | 1.13Γ | 89% |
| β | np.dot(a, b) (float64) | float64 | 100,000 | 0.0994 | 0.0070 | 14.17Γ | 7% |
| π | np.dot(a, b) (float64) | float64 | 10,000,000 | 0.9192 | 3.1020 | 0.30Γ | 338% |
| π | np.matmul(A, B) (float64) | float64 | 1,000 | 0.0027 | 0.0062 | 0.43Γ | 234% |
| π΄ | np.matmul(A, B) (float64) | float64 | 100,000 | 0.5265 | 3.0608 | 0.17Γ | 581% |
| π΄ | np.matmul(A, B) (float64) | float64 | 10,000,000 | 0.7113 | 4.2590 | 0.17Γ | 599% |
| π | np.outer(a, b) (float64) | float64 | 1,000 | 0.0022 | 0.0057 | 0.38Γ | 262% |
| π | np.outer(a, b) (float64) | float64 | 100,000 | 0.0365 | 0.0742 | 0.49Γ | 204% |
| β | np.outer(a, b) (float64) | float64 | 10,000,000 | 13.5041 | 11.9438 | 1.13Γ | 88% |
Selection
| Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPyπ | |
|---|---|---|---|---|---|---|---|
| π‘ | np.where(cond) (float64) | float64 | 1,000 | 0.0010 | 0.0014 | 0.74Γ | 134% |
| π | np.where(cond) (float64) | float64 | 100,000 | 0.0309 | 0.1016 | 0.30Γ | 329% |
| β | np.where(cond) (float64) | float64 | 10,000,000 | 7.9232 | 7.3884 | 1.07Γ | 93% |
| π‘ | np.where(cond, a, b) (float64) | float64 | 1,000 | 0.0017 | 0.0020 | 0.84Γ | 119% |
| π‘ | np.where(cond, a, b) (float64) | float64 | 100,000 | 0.0542 | 0.0678 | 0.80Γ | 125% |
| β | np.where(cond, a, b) (float64) | float64 | 10,000,000 | 17.9453 | 15.2212 | 1.18Γ | 85% |
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-23 Β· 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.18Γ geomean Β· 85%π of NumPy's time Β· 72 win / 58 lose over 130 cells
OPERATIONS β BY SIZE TIER (geomean over all families)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
scalar βββββββββββ ........ 1.10Γ 91%π ( 12 win / 14 lose)
1K ββββββββββββ ....... 1.19Γ 84%π ( 15 win / 11 lose)
100K βββββββββββ ........ 1.08Γ 93%π ( 12 win / 14 lose)
1M βββββββββββββ ...... 1.31Γ 77%π ( 17 win / 9 lose)
10M βββββββββββββ ...... 1.23Γ 81%π ( 16 win / 10 lose)
ALL ββββββββββββ ....... 1.18Γ 85%π ( 72 win / 58 lose)
OPERATIONS β BY CATEGORY (geomean over its families, all sizes)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
elementwiseββββββββββββ ....... 1.18Γ 85%π ( 28 win / 12 lose)
reductions ββββββββββββββββββ 1.75Γ 57%π ( 28 win / 12 lose)
selection (no data)
copy/cast ββββββββ ........... 0.73Γ 137%π ( 8 win / 17 lose) β SLOWER
index-math ββββββββ ........... 0.75Γ 133%π ( 3 win / 7 lose) β SLOWER
dtypes βββββββββββββ ...... 1.22Γ 82%π ( 5 win / 10 lose)
CATEGORY Γ TIER geomean
category scalar 1K 100K 1M 10M
elementwise 1.05Γ 1.54Γ 1.18Γ 1.09Γ 1.11Γ
reductions 2.67Γ 1.99Γ 1.51Γ 1.44Γ 1.42Γ
selection - - - - -
copy/cast 0.61Γ 0.59Γ 0.40Γ 1.39Γ 1.06Γ
index-math 0.32Γ 0.51Γ 0.97Γ 1.22Γ 1.22Γ
dtypes 0.71Γ 0.85Γ 1.97Γ 1.54Γ 1.47Γ
PER-FAMILY Γ TIER (NumPy Γ· NumSharp; >1.0 = NumSharp faster)
family scalar 1K 100K 1M 10M geomean
-- elementwise
add 1.01Γ 1.48Γ 1.03Γ 0.88Γ 1.01Γ 1.06Γ
sqrt 0.85Γ 1.15Γ 1.00Γ 1.01Γ 1.02Γ 1.00Γ
copy 0.88Γ 2.59Γ 1.78Γ 1.33Γ 1.72Γ 1.56Γ
strided 0.89Γ 1.12Γ 1.00Γ 1.02Γ 0.99Γ 1.00Γ
bcast 0.89Γ 1.13Γ 1.02Γ 0.98Γ 1.03Γ 1.01Γ
reversed 0.85Γ 1.28Γ 0.90Γ 0.99Γ 1.00Γ 0.99Γ
castbuf 1.98Γ 2.29Γ 1.65Γ 1.35Γ 1.16Γ 1.64Γ
mixbuf 1.49Γ 1.94Γ 1.40Γ 1.24Γ 1.09Γ 1.40Γ
-- reductions
sum 1.84Γ 1.78Γ 2.79Γ 2.21Γ 1.76Γ 2.04Γ
sum ax0 1.90Γ 0.86Γ 0.96Γ 1.00Γ 0.94Γ 1.08Γ
sum ax1 1.85Γ 0.86Γ 1.51Γ 1.83Γ 1.57Γ 1.47Γ
sum dt= 1.97Γ 1.47Γ 0.49Γ 0.47Γ 0.55Γ 0.82Γ
amin 1.70Γ 1.61Γ 0.71Γ 0.70Γ 0.82Γ 1.02Γ
cumsum 1.47Γ 1.09Γ 1.06Γ 1.80Γ 1.68Γ 1.39Γ
any(F) 8.89Γ 8.41Γ 2.12Γ 0.98Γ 1.00Γ 2.74Γ
any(hit) 9.01Γ 8.50Γ 8.50Γ 7.87Γ 8.22Γ 8.41Γ
-- 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.43Γ 0.44Γ 0.17Γ 2.17Γ 0.90Γ 0.57Γ
astype 0.30Γ 0.53Γ 0.59Γ 1.97Γ 1.90Γ 0.81Γ
ravel.T 0.45Γ 0.73Γ 0.48Γ 2.11Γ 1.01Γ 0.80Γ
in-place 1.77Γ 0.81Γ 0.81Γ 1.06Γ 1.02Γ 1.05Γ
less->b 0.81Γ 0.52Γ 0.26Γ 0.54Γ 0.76Γ 0.54Γ
-- index-math
unravel 0.33Γ 0.50Γ 0.95Γ 1.01Γ 0.97Γ 0.68Γ
ravel_mi 0.32Γ 0.52Γ 0.99Γ 1.49Γ 1.53Γ 0.82Γ
-- dtypes
complex 0.74Γ 0.63Γ 1.01Γ 0.76Γ 0.89Γ 0.80Γ
float16 0.72Γ 0.65Γ 0.62Γ 0.62Γ 0.62Γ 0.65Γ
int8 0.67Γ 1.47Γ 12.09Γ 7.70Γ 5.78Γ 3.51Γ
CONSTRUCTION β iterator build+dispose vs np.nditer (size-invariant, 1K)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
1op βββββββββββββββββββ 1.86Γ 54%π ( 1 win / 0 lose)
3op_exl ββββββββββββββββββββΆ 4.43Γ 23%π ( 1 win / 0 lose)
ufunc ββββββββββββββββββββΆ 4.98Γ 20%π ( 1 win / 0 lose)
bufcast ββββββββββββββββββββΆ 3.49Γ 29%π ( 1 win / 0 lose)
multiindex ββββββββββββββββββββΆ 2.56Γ 39%π ( 1 win / 0 lose)
8op ββββββββββββββββββββΆ 5.26Γ 19%π ( 1 win / 0 lose)
4d ββββββββββββββββββββΆ 2.94Γ 34%π ( 1 win / 0 lose)
8d ββββββββββββββββββββΆ 2.65Γ 38%π ( 1 win / 0 lose)
strided2d ββββββββββββββββββββΆ 3.35Γ 30%π ( 1 win / 0 lose)
geomean ββββββββββββββββββββΆ 3.33Γ 30%π ( 9 win / 0 lose)
CHUNK-WIDTH dispatch β strided rows, 2M total, inner width w (NumPy = np.positive)
slower ββββββββββ 1.0 (parity) ββββββββββΊ faster
w=4 βββββββ ............ 0.71Γ 141%π ( 0 win / 1 lose) β SLOWER
w=16 βββββββββββ ........ 1.02Γ 98%π ( 1 win / 0 lose) β PARITY
w=64 ββββββββββββ ....... 1.15Γ 87%π ( 1 win / 0 lose)
w=256 ββββββββββββββ ..... 1.34Γ 75%π ( 1 win / 0 lose)
w=1024 βββββββββββββββ .... 1.51Γ 66%π ( 1 win / 0 lose)
PATHOLOGY canaries β known taxes/losses to track (NumPy Γ· NumSharp)
bcast_reduce 538.56Γ (538.6Γ faster, faster)
allocate 1.10Γ (1.1Γ faster, faster)
overlap_copy 1.78Γ (1.8Γ faster, faster)
forder_out 1.28Γ (1.3Γ faster, faster)
zerodim 1.26Γ (1.3Γ faster, faster)
DIVIDENDS β NumSharp-only machinery (NumPy baseline = closest it can do)
scalar 1K 100K 1M 10M note
fuse7 12.65Γ 3.80Γ 1.39Γ 1.62Γ 2.01Γ vs chained 6Γ add
reuse 5.63Γ 5.30Γ 0.97Γ 1.04Γ 1.06Γ vs rebuild each call
par8 - 0.66Γ 2.70Γ 3.09Γ 4.25Γ vs single-thread
biggest NumSharp wins: i8@100K 12.09Γ Β· anyeh@1 9.01Γ Β· anyff@1 8.89Γ Β· anyeh@100K 8.50Γ Β· anyeh@1K 8.50Γ
most behind: flatten@100K 0.17Γ Β· lessbool@100K 0.26Γ Β· astype@1 0.30Γ Β· ravelmi@1 0.32Γ Β· unravel@1 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 | 1.01 β | 1.05 β | 1.04 β | 0.49 π | 0.61 π‘ | 0.56 π‘ | 0.68 π‘ | 0.59 π‘ |
| 1M | 0.92 π‘ | 0.94 π‘ | 0.94 π‘ | 0.56 π‘ | 0.76 π‘ | 0.58 π‘ | 0.70 π‘ | 0.50 π‘ |
Geomean by dt
| size | f64 | f32 | c128 | dec | f16 | i32 | i64 |
|---|---|---|---|---|---|---|---|
| 100K | 0.78 π‘ | 0.85 π‘ | 1.01 β | 0.08 π΄ | 1.04 β | 0.89 π‘ | 1.15 β |
| 1M | 0.88 π‘ | 1.05 β | 1.02 β | 0.07 π΄ | 1.00 β | 0.80 π‘ | 1.02 β |
Geomean by op
| size | sum | min | max | prod |
|---|---|---|---|---|
| 100K | 0.72 π‘ | 0.61 π‘ | 0.61 π‘ | 1.06 β |
| 1M | 0.74 π‘ | 0.59 π‘ | 0.58 π‘ | 1.14 β |
Worst 15 cells (NumSharp slowest vs NumPy)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| 1M|dec|bcast|sum|ax0 | 5.3741 | 0.0657 | 0.01 π΄ |
| 100K|dec|bcast|sum|ax0 | 0.5412 | 0.0101 | 0.02 π΄ |
| 1M|dec|sliced|sum|ax0 | 5.4381 | 0.1108 | 0.02 π΄ |
| 100K|dec|C|sum|ax0 | 0.5494 | 0.0114 | 0.02 π΄ |
| 1M|dec|negrow|sum|ax0 | 5.4461 | 0.1134 | 0.02 π΄ |
| 100K|dec|negrow|sum|ax0 | 0.5371 | 0.0114 | 0.02 π΄ |
| 100K|dec|T|sum|ax1 | 0.5356 | 0.0114 | 0.02 π΄ |
| 1M|dec|F|sum|ax1 | 5.3609 | 0.1202 | 0.02 π΄ |
| 1M|dec|T|sum|ax1 | 5.5377 | 0.1270 | 0.02 π΄ |
| 100K|dec|sliced|sum|ax0 | 0.5332 | 0.0123 | 0.02 π΄ |
| 100K|dec|F|sum|ax1 | 0.5381 | 0.0126 | 0.02 π΄ |
| 1M|dec|C|sum|ax0 | 5.4777 | 0.1298 | 0.02 π΄ |
| 1M|i32|bcast|sum|ax1 | 4.1105 | 0.1203 | 0.03 π΄ |
| 100K|i32|bcast|sum|ax1 | 0.4050 | 0.0168 | 0.04 π΄ |
| 100K|dec|C|max|ax0 | 0.2871 | 0.0137 | 0.05 π΄ |
Copy / identity-ufunc (np.positive)
Geomean by lay
| size | C | F | T | strided | sliced | negrow | negcol | bcast |
|---|---|---|---|---|---|---|---|---|
| 100K | 1.16 β | 1.47 β | 1.25 β | 0.86 π‘ | 1.56 β | 1.63 β | 2.22 β | 1.57 β |
| 1M | 2.87 β | 2.95 β | 2.89 β | 1.96 β | 2.67 β | 2.62 β | 3.24 β | 2.67 β |
Geomean by dt
| size | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 100K | 0.93 π‘ | 1.41 β | 1.75 β | 1.80 β | 0.99 π‘ | 1.09 β | 1.66 β | 1.03 β | 2.44 β | 2.15 β | 1.06 β | 0.84 π‘ | 2.60 β |
| 1M | 4.51 β | 4.77 β | 2.15 β | 2.11 β | 2.11 β | 2.22 β | 2.61 β | 2.64 β | 2.15 β | 2.14 β | 2.14 β | 2.57 β | 5.31 β |
Worst 15 cells (NumSharp slowest vs NumPy)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| 100K|i64|strided|pos | 0.0257 | 0.0110 | 0.43 π |
| 100K|f64|strided|pos | 0.0232 | 0.0105 | 0.45 π |
| 100K|u64|strided|pos | 0.0240 | 0.0109 | 0.45 π |
| 100K|i64|C|pos | 0.0441 | 0.0208 | 0.47 π |
| 100K|f32|strided|pos | 0.0202 | 0.0103 | 0.51 π‘ |
| 100K|i32|strided|pos | 0.0200 | 0.0109 | 0.54 π‘ |
| 100K|i64|T|pos | 0.0376 | 0.0208 | 0.55 π‘ |
| 100K|u8|negrow|pos | 0.0419 | 0.0232 | 0.56 π‘ |
| 100K|u8|sliced|pos | 0.0410 | 0.0230 | 0.56 π‘ |
| 100K|u8|bcast|pos | 0.0409 | 0.0231 | 0.56 π‘ |
| 100K|f64|C|pos | 0.0418 | 0.0242 | 0.58 π‘ |
| 100K|f64|F|pos | 0.0388 | 0.0227 | 0.58 π‘ |
| 100K|u32|strided|pos | 0.0180 | 0.0112 | 0.62 π‘ |
| 100K|f64|T|pos | 0.0364 | 0.0230 | 0.63 π‘ |
| 100K|u64|T|pos | 0.0358 | 0.0290 | 0.81 π‘ |
Elementwise (add/mul/neg/abs/sqrt/less/copy)
Geomean by lay
| size | C | F | T | strided | sliced | negrow | negcol | bcast |
|---|---|---|---|---|---|---|---|---|
| 100K | 0.54 π‘ | 0.75 π‘ | 0.68 π‘ | 0.53 π‘ | 0.84 π‘ | 0.81 π‘ | 1.16 β | 0.84 π‘ |
| 1M | 1.57 β | 1.54 β | 1.53 β | 1.15 β | 1.66 β | 1.65 β | 1.80 β | 1.67 β |
Geomean by dt
| size | f64 | f32 | c128 | f16 | i32 | i64 |
|---|---|---|---|---|---|---|
| 100K | 0.58 π‘ | 0.53 π‘ | 1.18 β | 0.75 π‘ | 0.79 π‘ | 0.81 π‘ |
| 1M | 1.91 β | 1.59 β | 1.74 β | 0.96 π‘ | 1.55 β | 1.82 β |
Geomean by op
| size | add | mul | neg | abs | sqrt | less | copy |
|---|---|---|---|---|---|---|---|
| 100K | 0.97 π‘ | 0.93 π‘ | 0.71 π‘ | 0.70 π‘ | 0.94 π‘ | 0.61 π‘ | 0.50 π‘ |
| 1M | 1.81 β | 1.80 β | 2.12 β | 1.66 β | 1.55 β | 0.69 π‘ | 1.82 β |
Worst 15 cells (NumSharp slowest vs NumPy)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| 100K|f64|strided|abs | 0.0481 | 0.0075 | 0.16 π΄ |
| 100K|f64|C|copy | 0.0700 | 0.0112 | 0.16 π΄ |
| 100K|f64|strided|neg | 0.0502 | 0.0082 | 0.16 π΄ |
| 100K|f64|C|abs | 0.0653 | 0.0113 | 0.17 π΄ |
| 100K|f32|C|abs | 0.0310 | 0.0056 | 0.18 π΄ |
| 100K|f16|C|copy | 0.0169 | 0.0031 | 0.18 π΄ |
| 100K|f64|C|mul | 0.0690 | 0.0129 | 0.19 π΄ |
| 100K|f64|C|neg | 0.0649 | 0.0129 | 0.20 π΄ |
| 100K|f64|C|add | 0.0638 | 0.0130 | 0.20 π |
| 100K|f16|negrow|copy | 0.0178 | 0.0038 | 0.21 π |
| 100K|f32|C|mul | 0.0316 | 0.0069 | 0.22 π |
| 100K|i32|bcast|copy | 0.0224 | 0.0050 | 0.22 π |
| 100K|f32|C|add | 0.0311 | 0.0069 | 0.22 π |
| 100K|f32|T|neg | 0.0270 | 0.0060 | 0.22 π |
| 100K|f32|T|add | 0.0302 | 0.0068 | 0.23 π |
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.55 β | 2.18 β | 0.62 π‘ | 2.04 β | 2.54 β | 2.38 β | 1.87 β |
| 1-D strided a[::2] | 1.83 β | 1.36 β | 0.52 π‘ | 1.37 β | 1.77 β | 1.86 β | 1.34 β |
| 1-D reversed a[::-1] | 2.26 β | 2.09 β | 0.56 π‘ | 2.00 β | 2.14 β | 2.23 β | 1.71 β |
| array + scalar | 2.63 β | 2.11 β | 0.63 π‘ | 1.80 β | 2.17 β | 2.58 β | 1.81 β |
| scalar + array | 2.35 β | 2.10 β | 0.64 π‘ | 1.98 β | 2.48 β | 2.59 β | 1.85 β |
| mixed C + F | 2.12 β | 2.01 β | 0.62 π‘ | 1.98 β | 2.02 β | 2.26 β | 1.70 β |
| mixed C + T | 2.59 β | 2.13 β | 0.62 π‘ | 2.04 β | 2.20 β | 2.51 β | 1.84 β |
| binary broadcast +row(1,C) | 2.72 β | 2.28 β | 0.63 π‘ | 2.00 β | 2.42 β | 2.42 β | 1.89 β |
| binary broadcast +col(R,1) | 2.68 β | 2.14 β | 0.56 π‘ | 1.99 β | 2.45 β | 2.82 β | 1.88 β |
| col-broadcast unary (inner stride-0) | 2.55 β | 1.76 β | 0.86 π‘ | 1.69 β | 2.66 β | 6.09 β | 2.18 β |
Worst 12 cells
| key | NumSharp ms | NumPy ms | ratio | |
|---|---|---|---|---|
| 1d_strided | f16 | 2.6414 | 1.3865 | 0.52 π‘ |
| 1d_rev | f16 | 5.3054 | 2.9810 | 0.56 π‘ |
| bcast_col | f16 | 5.2996 | 2.9861 | 0.56 π‘ |
| mix_C_T | f16 | 5.3156 | 3.2865 | 0.62 π‘ |
| 1d_C | f16 | 4.7503 | 2.9588 | 0.62 π‘ |
| mix_C_F | f16 | 5.3110 | 3.3155 | 0.62 π‘ |
| bcast_row | f16 | 4.7682 | 2.9983 | 0.63 π‘ |
| scalar_rhs | f16 | 4.7137 | 2.9711 | 0.63 π‘ |
| scalar_lhs | f16 | 4.6575 | 2.9643 | 0.64 π‘ |
| colbcast_unary | f16 | 0.4898 | 0.4232 | 0.86 π‘ |
| 1d_strided | f32 | 0.2652 | 0.3608 | 1.36 β |
| 1d_strided | i32 | 0.2798 | 0.3832 | 1.37 β |
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
- 129 / 1568 comparable cells lag (<1.0); 1439 win (β₯1.0).
- π΄ <0.2 β 5 cells. Top: 3Γ * β bool; 2Γ same-type diagonal (copy)
- π 0.2β0.5 β 10 cells. Top: 8Γ same-type diagonal (copy); 2Γ * β bool
- π‘ 0.5β1.0 β 114 cells. Top: 29Γ float/cplx β narrow-int (bool/u8/i8/i16/u16/char); 20Γ int β sub-word (narrow); 8Γ f32 β u64
float/complex β narrow-int geomean by src (the historical cliff): f32βnarrow 1.95, f64βnarrow 1.39, f16βnarrow 3.77, c128βnarrow 1.01.
Geomean by layout (all srcΓdst, excl. Decimal)
| C | F | T | sliced | negrow | negcol | strided | bcast |
|---|---|---|---|---|---|---|---|
| 1.82 β | 1.97 β | 1.88 β | 1.87 β | 1.89 β | 1.81 β | 1.47 β | 2.21 β |
Geomean by src dtype (all layoutsΓdst)
| bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2.06 β | 1.99 β | 2.02 β | 2.26 β | 2.21 β | 1.96 β | 1.94 β | 1.64 β | 1.58 β | 1.98 β | 2.41 β | 1.75 β | 1.45 β | nan ? | 1.16 β |
Geomean by dst dtype (all layoutsΓsrc)
| bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1.95 β | 1.76 β | 1.80 β | 1.63 β | 1.61 β | 1.82 β | 1.66 β | 1.93 β | 1.76 β | 1.63 β | 2.48 β | 1.63 β | 2.04 β | nan ? | 2.55 β |
Layout: C (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 0.16π΄ | 1.50β | 1.74β | 2.01β | 1.99β | 1.49β | 1.50β | 2.33β | 2.41β | 1.91β | 3.43β | 1.73β | 2.74β | β | 2.95β |
| u8 | 2.13β | 0.20π | 2.40β | 1.71β | 1.79β | 1.98β | 2.10β | 2.43β | 2.57β | 1.78β | 4.04β | 1.41β | 2.60β | β | 3.03β |
| i8 | 3.06β | 2.41β | 0.26π | 1.91β | 1.73β | 2.29β | 1.98β | 2.30β | 2.45β | 1.72β | 3.93β | 1.77β | 2.53β | β | 3.15β |
| i16 | 3.33β | 4.04β | 3.46β | 1.50β | 1.97β | 1.95β | 2.16β | 2.31β | 2.43β | 1.67β | 3.85β | 2.09β | 2.47β | β | 2.95β |
| u16 | 3.02β | 2.65β | 2.69β | 2.15β | 1.36β | 1.90β | 2.08β | 2.38β | 2.43β | 1.06β | 3.75β | 2.10β | 2.45β | β | 2.85β |
| i32 | 1.85β | 1.27β | 1.20β | 1.50β | 1.54β | 1.73β | 2.25β | 2.17β | 2.47β | 1.52β | 3.64β | 1.74β | 2.36β | β | 2.48β |
| u32 | 1.76β | 1.07β | 1.12β | 1.50β | 1.63β | 2.35β | 1.69β | 2.57β | 2.36β | 1.44β | 3.80β | 1.52β | 2.35β | β | 2.73β |
| i64 | 1.10β | 1.10β | 0.94π‘ | 1.24β | 1.31β | 1.77β | 1.79β | 2.09β | 2.77β | 1.39β | 1.74β | 1.63β | 2.52β | β | 2.42β |
| u64 | 1.29β | 0.90π‘ | 0.99π‘ | 1.30β | 1.25β | 1.80β | 1.91β | 2.51β | 2.25β | 1.15β | 1.58β | 1.19β | 1.67β | β | 2.42β |
| char | 2.05β | 1.96β | 2.13β | 1.59β | 0.98π‘ | 1.70β | 1.66β | 2.32β | 2.29β | 1.31β | 3.67β | 1.46β | 2.24β | β | 2.74β |
| f16 | 4.79β | 4.88β | 5.20β | 4.18β | 3.90β | 3.79β | 1.99β | 3.33β | 0.97π‘ | 4.24β | 1.27β | 1.16β | 0.93π‘ | β | 1.61β |
| f32 | 3.23β | 2.00β | 2.00β | 1.54β | 1.71β | 1.92β | 1.34β | 0.87π‘ | 0.86π‘ | 1.67β | 3.61β | 1.76β | 2.38β | β | 2.35β |
| f64 | 1.90β | 0.84π‘ | 0.90π‘ | 1.33β | 1.42β | 1.64β | 1.60β | 0.90π‘ | 0.92π‘ | 1.35β | 1.05β | 1.73β | 2.13β | β | 2.43β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 0.96π‘ | 0.98π‘ | 1.00β | 1.04β | 1.02β | 1.58β | 1.20β | 0.92π‘ | 0.80π‘ | 1.04β | 1.41β | 1.26β | 1.40β | β | 3.06β |
Layout: F (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 3.00β | 4.04β | 4.05β | 1.97β | 2.06β | 1.47β | 1.46β | 2.39β | 2.24β | 1.97β | 4.07β | 1.76β | 2.59β | β | 3.12β |
| u8 | 3.49β | 3.15β | 4.05β | 1.81β | 1.98β | 2.04β | 2.08β | 2.24β | 2.37β | 1.90β | 3.86β | 1.47β | 2.42β | β | 3.03β |
| i8 | 3.86β | 4.23β | 3.36β | 2.07β | 1.74β | 2.06β | 2.10β | 2.50β | 2.43β | 1.74β | 3.73β | 1.84β | 2.48β | β | 3.08β |
| i16 | 2.96β | 2.60β | 3.13β | 1.43β | 2.05β | 2.03β | 2.03β | 2.34β | 2.30β | 1.99β | 3.84β | 2.23β | 2.53β | β | 2.61β |
| u16 | 2.98β | 3.38β | 3.06β | 2.27β | 1.52β | 1.97β | 2.26β | 2.50β | 2.44β | 1.27β | 3.50β | 1.67β | 2.47β | β | 2.76β |
| i32 | 1.74β | 1.14β | 1.06β | 1.44β | 1.66β | 1.71β | 2.29β | 2.35β | 2.42β | 1.80β | 3.74β | 1.75β | 2.73β | β | 2.77β |
| u32 | 1.84β | 1.10β | 1.18β | 1.52β | 1.53β | 2.06β | 1.78β | 2.52β | 2.32β | 1.60β | 3.66β | 1.49β | 2.27β | β | 2.72β |
| i64 | 1.21β | 1.11β | 0.95π‘ | 1.17β | 1.26β | 1.71β | 1.88β | 2.03β | 2.58β | 1.37β | 1.84β | 1.73β | 2.28β | β | 2.68β |
| u64 | 1.13β | 0.92π‘ | 0.92π‘ | 1.24β | 1.21β | 1.72β | 1.78β | 2.81β | 2.11β | 1.34β | 2.45β | 1.18β | 1.86β | β | 2.37β |
| char | 2.14β | 1.99β | 1.91β | 1.93β | 1.34β | 1.61β | 1.61β | 2.42β | 2.37β | 1.34β | 3.61β | 1.50β | 2.19β | β | 2.72β |
| f16 | 4.92β | 5.47β | 6.19β | 4.06β | 4.35β | 3.67β | 2.04β | 3.25β | 1.13β | 4.29β | 1.34β | 2.29β | 0.97π‘ | β | 1.69β |
| f32 | 3.21β | 2.20β | 2.17β | 1.69β | 1.72β | 1.87β | 1.38β | 0.85π‘ | 0.88π‘ | 1.64β | 3.68β | 1.71β | 2.10β | β | 2.28β |
| f64 | 1.87β | 0.99π‘ | 1.54β | 1.30β | 1.40β | 1.77β | 1.50β | 0.88π‘ | 0.88π‘ | 1.46β | 1.61β | 1.68β | 1.97β | β | 2.44β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 0.93π‘ | 0.85π‘ | 0.86π‘ | 1.03β | 1.14β | 1.47β | 1.35β | 0.87π‘ | 0.82π‘ | 1.08β | 1.47β | 1.45β | 1.46β | β | 2.98β |
Layout: T (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 0.18π΄ | 2.40β | 3.93β | 2.10β | 2.10β | 1.52β | 1.47β | 2.49β | 2.41β | 1.98β | 4.20β | 1.74β | 2.57β | β | 3.21β |
| u8 | 2.17β | 0.16π΄ | 2.00β | 1.94β | 1.88β | 1.96β | 2.15β | 2.26β | 2.66β | 1.72β | 3.89β | 1.49β | 2.54β | β | 2.75β |
| i8 | 2.29β | 3.03β | 0.20π | 2.03β | 1.63β | 2.00β | 2.20β | 2.43β | 2.29β | 1.76β | 3.61β | 1.68β | 1.79β | β | 2.76β |
| i16 | 2.45β | 3.08β | 2.89β | 1.35β | 2.02β | 2.03β | 1.90β | 2.45β | 2.34β | 2.04β | 3.88β | 2.02β | 2.36β | β | 2.80β |
| u16 | 2.32β | 2.26β | 3.09β | 2.09β | 1.78β | 1.83β | 2.02β | 2.46β | 2.52β | 1.49β | 3.92β | 2.03β | 2.54β | β | 2.87β |
| i32 | 1.90β | 1.23β | 1.27β | 1.58β | 1.56β | 1.81β | 2.16β | 2.42β | 2.41β | 1.55β | 3.89β | 1.84β | 2.24β | β | 2.82β |
| u32 | 2.00β | 1.12β | 1.04β | 1.57β | 1.56β | 2.43β | 1.73β | 2.32β | 2.17β | 1.55β | 3.87β | 1.58β | 2.38β | β | 2.75β |
| i64 | 1.18β | 1.15β | 1.00π‘ | 1.18β | 1.28β | 1.88β | 1.79β | 2.08β | 2.65β | 1.42β | 1.85β | 1.67β | 2.31β | β | 2.64β |
| u64 | 1.18β | 0.93π‘ | 0.95π‘ | 1.14β | 1.26β | 1.73β | 1.71β | 2.68β | 2.11β | 1.40β | 2.51β | 1.20β | 1.74β | β | 2.35β |
| char | 2.45β | 2.21β | 2.31β | 1.87β | 1.26β | 1.72β | 1.59β | 2.24β | 2.45β | 1.29β | 3.58β | 1.57β | 2.49β | β | 2.28β |
| f16 | 5.96β | 6.20β | 6.19β | 4.19β | 4.48β | 4.05β | 2.09β | 3.27β | 1.15β | 4.22β | 1.22β | 2.84β | 0.99π‘ | β | 1.66β |
| f32 | 3.16β | 2.19β | 2.28β | 1.73β | 1.71β | 1.87β | 1.40β | 0.84π‘ | 0.87π‘ | 1.66β | 3.80β | 1.82β | 2.48β | β | 2.30β |
| f64 | 2.29β | 1.22β | 1.27β | 1.47β | 1.52β | 1.69β | 1.52β | 0.87π‘ | 0.90π‘ | 1.43β | 1.64β | 1.80β | 2.15β | β | 2.46β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 1.00β | 0.92π‘ | 0.89π‘ | 1.14β | 1.14β | 1.46β | 1.19β | 0.89π‘ | 0.86π‘ | 1.16β | 1.50β | 1.29β | 1.45β | β | 3.29β |
Layout: sliced (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 0.20π΄ | 2.59β | 3.31β | 2.05β | 2.00β | 1.50β | 1.58β | 2.39β | 2.28β | 1.95β | 3.98β | 1.87β | 2.42β | β | 3.28β |
| u8 | 2.61β | 0.22π | 2.86β | 1.96β | 1.85β | 2.02β | 1.98β | 2.25β | 2.37β | 1.95β | 3.73β | 1.50β | 2.53β | β | 3.04β |
| i8 | 2.69β | 3.27β | 0.29π | 1.88β | 1.77β | 2.12β | 1.94β | 2.37β | 2.49β | 1.67β | 3.83β | 1.60β | 2.44β | β | 2.79β |
| i16 | 2.61β | 2.75β | 2.62β | 1.47β | 1.56β | 2.09β | 1.91β | 2.22β | 2.38β | 1.66β | 3.56β | 2.05β | 2.08β | β | 2.36β |
| u16 | 2.51β | 3.01β | 2.99β | 1.60β | 1.40β | 2.05β | 2.10β | 2.55β | 2.25β | 1.54β | 3.70β | 2.13β | 2.72β | β | 2.72β |
| i32 | 1.72β | 2.09β | 2.42β | 1.58β | 1.63β | 1.85β | 1.87β | 2.35β | 2.39β | 1.50β | 3.68β | 1.62β | 2.37β | β | 2.87β |
| u32 | 1.91β | 2.15β | 2.19β | 1.55β | 1.47β | 1.88β | 1.99β | 2.01β | 2.13β | 1.62β | 3.67β | 1.55β | 2.22β | β | 2.63β |
| i64 | 1.13β | 1.27β | 1.26β | 1.36β | 1.38β | 1.80β | 1.88β | 2.64β | 2.52β | 1.29β | 1.81β | 1.63β | 2.23β | β | 2.59β |
| u64 | 1.21β | 1.25β | 1.27β | 1.30β | 1.25β | 1.76β | 1.83β | 2.20β | 2.68β | 1.31β | 2.32β | 1.00π‘ | 1.63β | β | 2.43β |
| char | 1.45β | 2.45β | 2.83β | 1.61β | 1.48β | 1.64β | 1.68β | 2.03β | 2.39β | 1.40β | 3.38β | 1.49β | 2.17β | β | 2.92β |
| f16 | 5.03β | 5.33β | 5.42β | 3.92β | 3.92β | 3.57β | 2.01β | 3.10β | 1.11β | 4.00β | 1.37β | 2.81β | 1.01β | β | 1.61β |
| f32 | 3.18β | 2.29β | 2.34β | 1.71β | 1.61β | 1.87β | 1.37β | 0.84π‘ | 0.90π‘ | 1.54β | 3.54β | 1.82β | 2.32β | β | 2.36β |
| f64 | 1.82β | 1.17β | 1.18β | 1.36β | 1.33β | 0.80π‘ | 1.34β | 0.86π‘ | 0.89π‘ | 1.50β | 1.58β | 1.85β | 2.30β | β | 2.51β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 0.97π‘ | 0.93π‘ | 0.92π‘ | 1.15β | 0.99π‘ | 1.47β | 1.08β | 0.86π‘ | 0.77π‘ | 1.07β | 1.44β | 1.26β | 1.55β | β | 2.15β |
Layout: negrow (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 0.24π | 3.08β | 3.39β | 1.93β | 2.01β | 1.50β | 1.55β | 2.17β | 2.33β | 1.98β | 3.85β | 1.67β | 2.62β | β | 2.97β |
| u8 | 3.02β | 0.23π | 2.94β | 1.80β | 1.74β | 2.00β | 2.04β | 2.24β | 2.33β | 1.76β | 3.81β | 1.49β | 2.53β | β | 3.11β |
| i8 | 2.84β | 2.66β | 0.24π | 1.88β | 1.70β | 2.05β | 2.07β | 2.53β | 2.57β | 1.88β | 3.79β | 1.65β | 2.41β | β | 3.07β |
| i16 | 3.40β | 2.43β | 2.21β | 1.46β | 1.76β | 1.92β | 2.07β | 2.21β | 2.23β | 1.73β | 3.49β | 2.14β | 2.19β | β | 2.63β |
| u16 | 2.52β | 2.65β | 3.08β | 1.60β | 1.44β | 2.04β | 2.07β | 2.60β | 2.42β | 1.44β | 3.65β | 2.03β | 2.49β | β | 2.83β |
| i32 | 2.08β | 2.13β | 2.38β | 1.59β | 1.58β | 1.99β | 1.97β | 2.34β | 2.27β | 1.58β | 3.60β | 1.69β | 2.39β | β | 2.67β |
| u32 | 1.71β | 2.19β | 2.32β | 1.59β | 1.59β | 1.98β | 1.93β | 2.51β | 2.09β | 1.53β | 3.72β | 1.54β | 2.17β | β | 2.77β |
| i64 | 1.18β | 1.26β | 1.25β | 1.36β | 1.38β | 1.82β | 1.84β | 2.39β | 2.23β | 1.44β | 1.79β | 1.55β | 2.23β | β | 2.36β |
| u64 | 1.20β | 1.17β | 1.21β | 1.43β | 1.37β | 1.87β | 1.84β | 2.20β | 2.51β | 1.43β | 2.33β | 0.99π‘ | 1.48β | β | 2.42β |
| char | 2.22β | 2.50β | 2.15β | 1.59β | 1.33β | 1.71β | 1.57β | 2.35β | 2.30β | 1.44β | 3.40β | 1.49β | 2.29β | β | 2.68β |
| f16 | 5.36β | 4.77β | 4.63β | 3.79β | 4.08β | 3.86β | 2.03β | 3.19β | 1.07β | 3.86β | 1.38β | 2.80β | 0.98π‘ | β | 1.62β |
| f32 | 3.48β | 2.27β | 2.31β | 1.60β | 1.54β | 2.01β | 1.37β | 0.87π‘ | 0.88π‘ | 1.73β | 3.57β | 1.84β | 2.23β | β | 2.24β |
| f64 | 1.97β | 1.25β | 1.28β | 1.48β | 1.55β | 1.77β | 1.50β | 0.87π‘ | 0.91π‘ | 1.64β | 1.60β | 1.87β | 2.36β | β | 2.46β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 0.83π‘ | 0.77π‘ | 0.93π‘ | 1.15β | 1.13β | 1.53β | 1.14β | 0.90π‘ | 0.81π‘ | 1.08β | 1.42β | 1.27β | 1.38β | β | 2.33β |
Layout: negcol (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 2.32β | 5.20β | 4.90β | 2.08β | 2.28β | 1.53β | 1.53β | 2.33β | 2.49β | 2.29β | 2.86β | 1.92β | 2.42β | β | 2.91β |
| u8 | 1.20β | 2.65β | 3.15β | 1.96β | 1.85β | 1.90β | 1.84β | 2.21β | 2.35β | 1.86β | 2.55β | 1.48β | 2.46β | β | 2.98β |
| i8 | 1.20β | 2.97β | 3.04β | 1.84β | 1.94β | 1.85β | 1.83β | 2.32β | 2.68β | 1.93β | 2.64β | 1.63β | 2.13β | β | 2.96β |
| i16 | 4.16β | 3.05β | 2.48β | 1.72β | 1.79β | 1.83β | 1.77β | 2.44β | 2.57β | 1.89β | 2.00β | 1.67β | 2.46β | β | 2.72β |
| u16 | 3.53β | 3.04β | 2.95β | 1.70β | 1.68β | 1.74β | 1.69β | 2.39β | 2.23β | 1.70β | 2.04β | 1.46β | 2.56β | β | 2.76β |
| i32 | 1.96β | 1.93β | 1.58β | 1.69β | 1.76β | 1.70β | 1.64β | 2.66β | 2.48β | 1.71β | 2.01β | 1.71β | 2.29β | β | 2.73β |
| u32 | 2.01β | 1.57β | 1.63β | 1.66β | 1.69β | 1.65β | 1.73β | 2.28β | 2.30β | 1.76β | 2.07β | 1.48β | 2.35β | β | 2.81β |
| i64 | 1.23β | 0.95π‘ | 0.95π‘ | 1.33β | 1.39β | 1.85β | 1.77β | 2.40β | 2.29β | 1.31β | 1.30β | 1.59β | 2.56β | β | 2.54β |
| u64 | 1.25β | 1.05β | 0.92π‘ | 1.33β | 1.36β | 1.60β | 1.75β | 2.56β | 2.42β | 1.37β | 1.64β | 1.07β | 1.61β | β | 2.35β |
| char | 4.04β | 2.53β | 2.58β | 1.62β | 1.65β | 1.70β | 1.69β | 2.12β | 2.26β | 1.66β | 1.94β | 1.56β | 2.41β | β | 2.70β |
| f16 | 5.66β | 1.74β | 1.75β | 1.80β | 1.81β | 2.18β | 1.31β | 2.04β | 0.90π‘ | 1.79β | 1.77β | 1.57β | 0.99π‘ | β | 1.58β |
| f32 | 2.29β | 1.70β | 1.66β | 1.77β | 1.82β | 1.93β | 1.10β | 0.88π‘ | 0.82π‘ | 1.78β | 1.96β | 1.41β | 1.19β | β | 2.21β |
| f64 | 1.49β | 1.08β | 1.10β | 1.32β | 1.45β | 1.92β | 1.13β | 0.85π‘ | 0.82π‘ | 1.36β | 1.15β | 1.45β | 2.37β | β | 2.39β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 0.87π‘ | 0.89π‘ | 0.97π‘ | 1.22β | 1.08β | 1.51β | 0.98π‘ | 0.86π‘ | 0.79π‘ | 1.16β | 0.97π‘ | 1.10β | 1.53β | β | 2.07β |
Layout: strided (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 1.71β | 3.24β | 3.65β | 1.76β | 1.96β | 1.22β | 1.28β | 1.88β | 1.77β | 2.21β | 2.49β | 1.44β | 1.86β | β | 2.43β |
| u8 | 0.98π‘ | 2.62β | 2.02β | 1.71β | 1.33β | 1.41β | 1.37β | 2.09β | 2.00β | 1.80β | 2.38β | 1.18β | 2.00β | β | 2.60β |
| i8 | 1.03β | 2.14β | 1.85β | 1.44β | 1.51β | 1.35β | 1.41β | 2.10β | 2.06β | 1.44β | 2.35β | 1.34β | 1.93β | β | 2.58β |
| i16 | 2.48β | 1.61β | 1.68β | 1.65β | 1.77β | 1.43β | 1.33β | 1.93β | 1.92β | 1.62β | 1.96β | 1.34β | 1.98β | β | 2.37β |
| u16 | 2.36β | 1.76β | 2.09β | 1.40β | 1.28β | 1.36β | 1.25β | 2.01β | 1.82β | 1.31β | 1.90β | 1.18β | 1.88β | β | 2.45β |
| i32 | 1.77β | 1.15β | 1.40β | 1.15β | 1.18β | 1.23β | 1.17β | 1.89β | 1.95β | 1.18β | 1.89β | 1.19β | 2.05β | β | 2.53β |
| u32 | 1.77β | 1.41β | 1.46β | 1.27β | 1.25β | 1.28β | 1.23β | 1.90β | 1.83β | 1.22β | 1.88β | 1.20β | 2.09β | β | 2.37β |
| i64 | 1.16β | 1.00π‘ | 1.00β | 0.93π‘ | 0.94π‘ | 1.25β | 1.28β | 1.75β | 1.65β | 1.01β | 1.18β | 1.34β | 1.82β | β | 2.35β |
| u64 | 1.13β | 0.97π‘ | 1.01β | 0.86π‘ | 0.98π‘ | 1.26β | 1.33β | 1.66β | 1.78β | 0.99π‘ | 1.44β | 0.92π‘ | 1.43β | β | 2.27β |
| char | 2.14β | 1.77β | 1.99β | 1.35β | 1.16β | 1.32β | 1.40β | 1.81β | 2.05β | 1.30β | 1.79β | 1.14β | 1.83β | β | 2.19β |
| f16 | 4.00β | 1.51β | 1.50β | 1.60β | 1.60β | 1.77β | 1.14β | 1.95β | 0.90π‘ | 1.61β | 1.42β | 1.32β | 0.97π‘ | β | 1.46β |
| f32 | 1.61β | 1.05β | 1.35β | 1.16β | 1.16β | 1.35β | 0.78π‘ | 0.91π‘ | 0.80π‘ | 1.32β | 1.76β | 1.15β | 1.26β | β | 2.34β |
| f64 | 1.21β | 0.83π‘ | 1.13β | 0.94π‘ | 0.96π‘ | 1.28β | 1.03β | 0.96π‘ | 0.81π‘ | 0.96π‘ | 1.06β | 1.21β | 1.73β | β | 2.23β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 0.82π‘ | 1.17β | 0.95π‘ | 0.91π‘ | 0.81π‘ | 1.14β | 0.87π‘ | 1.02β | 0.75π‘ | 0.82π‘ | 0.84π‘ | 1.11β | 1.43β | β | 1.56β |
Layout: bcast (rows=src, cols=dst)
| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| bool | 0.22π | 4.09β | 4.15β | 2.28β | 2.13β | 1.54β | 1.61β | 2.33β | 2.55β | 2.33β | 4.19β | 1.92β | 2.41β | β | 3.36β |
| u8 | 4.89β | 0.23π | 3.71β | 1.97β | 1.76β | 2.07β | 2.20β | 2.30β | 2.41β | 1.76β | 3.81β | 2.39β | 2.29β | β | 3.21β |
| i8 | 3.86β | 2.95β | 0.18π΄ | 1.87β | 1.91β | 2.07β | 2.38β | 2.28β | 2.59β | 1.99β | 3.63β | 2.08β | 2.41β | β | 2.92β |
| i16 | 5.51β | 4.13β | 3.91β | 1.76β | 1.71β | 1.97β | 2.15β | 2.39β | 2.39β | 1.81β | 3.68β | 2.37β | 2.53β | β | 2.96β |
| u16 | 4.78β | 4.90β | 3.58β | 1.70β | 1.58β | 1.99β | 1.95β | 2.14β | 2.47β | 1.85β | 3.76β | 2.16β | 2.11β | β | 2.90β |
| i32 | 3.52β | 3.21β | 2.47β | 1.82β | 1.87β | 2.26β | 2.04β | 2.36β | 2.40β | 1.69β | 3.80β | 1.99β | 2.12β | β | 2.87β |
| u32 | 4.98β | 3.15β | 2.88β | 1.71β | 1.95β | 1.92β | 2.23β | 2.22β | 2.17β | 1.92β | 3.67β | 2.34β | 2.28β | β | 2.78β |
| i64 | 2.38β | 2.10β | 2.21β | 1.79β | 1.75β | 2.08β | 2.02β | 2.49β | 2.38β | 1.86β | 1.81β | 2.01β | 2.30β | β | 2.74β |
| u64 | 2.66β | 2.27β | 2.14β | 1.64β | 1.75β | 2.13β | 2.05β | 2.20β | 2.88β | 1.72β | 2.37β | 2.34β | 2.34β | β | 2.58β |
| char | 4.06β | 3.83β | 2.84β | 1.64β | 1.56β | 1.73β | 1.77β | 2.42β | 2.08β | 1.78β | 3.52β | 1.59β | 2.27β | β | 2.65β |
| f16 | 5.14β | 5.61β | 5.48β | 4.15β | 3.79β | 3.96β | 2.10β | 2.90β | 1.11β | 3.91β | 1.56β | 2.92β | 0.99π‘ | β | 1.60β |
| f32 | 5.24β | 2.78β | 3.44β | 1.83β | 1.80β | 2.13β | 1.45β | 2.38β | 0.87π‘ | 2.05β | 3.59β | 2.29β | 2.39β | β | 2.37β |
| f64 | 2.77β | 2.12β | 1.89β | 1.85β | 1.88β | 2.00β | 1.54β | 2.30β | 0.91π‘ | 1.85β | 1.59β | 2.07β | 2.65β | β | 2.62β |
| dec | β | β | β | β | β | β | β | β | β | β | β | β | β | β | β |
| c128 | 1.06β | 1.04β | 1.08β | 1.42β | 1.38β | 1.93β | 1.38β | 0.88π‘ | 0.79π‘ | 1.36β | 1.51β | 1.61β | 2.19β | β | 2.93β |
Lagging cells (<1.0) β the worklist (129 cells)
| key | NumSharp ms | NumPy ms | ratio |
|---|---|---|---|
| bool|C|bool | 0.0930 | 0.0146 | 0.16 π΄ |
| u8|T|u8 | 0.0942 | 0.0150 | 0.16 π΄ |
| bool|T|bool | 0.0836 | 0.0148 | 0.18 π΄ |
| i8|bcast|i8 | 0.0741 | 0.0133 | 0.18 π΄ |
| bool|sliced|bool | 0.0866 | 0.0172 | 0.20 π΄ |
| i8|T|i8 | 0.0753 | 0.0153 | 0.20 π |
| u8|C|u8 | 0.0719 | 0.0147 | 0.20 π |
| u8|sliced|u8 | 0.0782 | 0.0170 | 0.22 π |
| bool|bcast|bool | 0.0601 | 0.0134 | 0.22 π |
| u8|bcast|u8 | 0.0580 | 0.0133 | 0.23 π |
| u8|negrow|u8 | 0.0754 | 0.0174 | 0.23 π |
| bool|negrow|bool | 0.0731 | 0.0172 | 0.24 π |
| i8|negrow|i8 | 0.0732 | 0.0175 | 0.24 π |
| i8|C|i8 | 0.0556 | 0.0146 | 0.26 π |
| i8|sliced|i8 | 0.0596 | 0.0173 | 0.29 π |
| c128|strided|u64 | 1.0409 | 0.7793 | 0.75 π‘ |
| c128|sliced|u64 | 1.8015 | 1.3784 | 0.77 π‘ |
| c128|negrow|u8 | 0.4046 | 0.3127 | 0.77 π‘ |
| f32|strided|u32 | 0.4345 | 0.3399 | 0.78 π‘ |
| c128|negcol|u64 | 1.7175 | 1.3574 | 0.79 π‘ |
| c128|bcast|u64 | 1.5889 | 1.2598 | 0.79 π‘ |
| f32|strided|u64 | 0.8030 | 0.6402 | 0.80 π‘ |
| f64|sliced|i32 | 0.9055 | 0.7249 | 0.80 π‘ |
| c128|C|u64 | 1.6541 | 1.3315 | 0.80 π‘ |
| c128|negrow|u64 | 1.7336 | 1.4027 | 0.81 π‘ |
| f64|strided|u64 | 0.8082 | 0.6566 | 0.81 π‘ |
| c128|strided|u16 | 0.3140 | 0.2553 | 0.81 π‘ |
| f32|negcol|u64 | 1.5682 | 1.2821 | 0.82 π‘ |
| c128|strided|bool | 0.3447 | 0.2829 | 0.82 π‘ |
| c128|F|u64 | 1.7086 | 1.4038 | 0.82 π‘ |
| f64|negcol|u64 | 1.5536 | 1.2785 | 0.82 π‘ |
| c128|strided|char | 0.3088 | 0.2547 | 0.82 π‘ |
| c128|negrow|bool | 0.5430 | 0.4512 | 0.83 π‘ |
| f64|strided|u8 | 0.1717 | 0.1430 | 0.83 π‘ |
| f32|sliced|i64 | 1.4652 | 1.2288 | 0.84 π‘ |
| c128|strided|f16 | 0.8931 | 0.7492 | 0.84 π‘ |
| f64|C|u8 | 0.2835 | 0.2387 | 0.84 π‘ |
| f32|T|i64 | 1.4811 | 1.2507 | 0.84 π‘ |
| f32|F|i64 | 1.4574 | 1.2362 | 0.85 π‘ |
| c128|F|u8 | 0.3452 | 0.2939 | 0.85 π‘ |
| f64|negcol|i64 | 1.4715 | 1.2532 | 0.85 π‘ |
| c128|T|u64 | 1.6769 | 1.4340 | 0.86 π‘ |
| c128|sliced|i64 | 1.5784 | 1.3516 | 0.86 π‘ |
| c128|F|i8 | 0.3486 | 0.2987 | 0.86 π‘ |
| f32|C|u64 | 1.4853 | 1.2784 | 0.86 π‘ |
| c128|negcol|i64 | 1.6269 | 1.4042 | 0.86 π‘ |
| f64|sliced|i64 | 1.4984 | 1.2939 | 0.86 π‘ |
| u64|strided|i16 | 0.1644 | 0.1420 | 0.86 π‘ |
| f32|T|u64 | 1.4626 | 1.2668 | 0.87 π‘ |
| c128|strided|u32 | 0.5487 | 0.4762 | 0.87 π‘ |
| f32|negrow|i64 | 1.4789 | 1.2839 | 0.87 π‘ |
| f64|T|i64 | 1.4482 | 1.2586 | 0.87 π‘ |
| f32|C|i64 | 1.4536 | 1.2668 | 0.87 π‘ |
| c128|F|i64 | 1.5922 | 1.3883 | 0.87 π‘ |
| f32|bcast|u64 | 1.4674 | 1.2816 | 0.87 π‘ |
| f64|negrow|i64 | 1.4964 | 1.3079 | 0.87 π‘ |
| c128|negcol|bool | 0.5195 | 0.4544 | 0.87 π‘ |
| c128|bcast|i64 | 1.4481 | 1.2677 | 0.88 π‘ |
| f32|F|u64 | 1.4896 | 1.3080 | 0.88 π‘ |
| f32|negrow|u64 | 1.4970 | 1.3187 | 0.88 π‘ |
| f64|F|i64 | 1.4520 | 1.2833 | 0.88 π‘ |
| f32|negcol|i64 | 1.4142 | 1.2505 | 0.88 π‘ |
| f64|F|u64 | 1.4627 | 1.2941 | 0.88 π‘ |
| c128|T|i8 | 0.3269 | 0.2902 | 0.89 π‘ |
| c128|T|i64 | 1.5379 | 1.3708 | 0.89 π‘ |
| c128|negcol|u8 | 0.3712 | 0.3314 | 0.89 π‘ |
| f64|sliced|u64 | 1.4568 | 1.3039 | 0.89 π‘ |
| f32|sliced|u64 | 1.4956 | 1.3400 | 0.90 π‘ |
| f64|T|u64 | 1.4262 | 1.2802 | 0.90 π‘ |
| f16|negcol|u64 | 2.0974 | 1.8845 | 0.90 π‘ |
| f64|C|i8 | 0.2900 | 0.2608 | 0.90 π‘ |
| u64|C|u8 | 0.2218 | 0.2000 | 0.90 π‘ |
| c128|negrow|i64 | 1.6017 | 1.4469 | 0.90 π‘ |
| f16|strided|u64 | 1.0325 | 0.9327 | 0.90 π‘ |
| f64|C|i64 | 1.4545 | 1.3151 | 0.90 π‘ |
| f64|bcast|u64 | 1.4342 | 1.3050 | 0.91 π‘ |
| f64|negrow|u64 | 1.4679 | 1.3358 | 0.91 π‘ |
| c128|strided|i16 | 0.2931 | 0.2677 | 0.91 π‘ |
| f32|strided|i64 | 0.7058 | 0.6456 | 0.91 π‘ |
| u64|strided|f32 | 0.4321 | 0.3956 | 0.92 π‘ |
| u64|F|i8 | 0.2140 | 0.1962 | 0.92 π‘ |
| c128|sliced|i8 | 0.3210 | 0.2949 | 0.92 π‘ |
| u64|negcol|i8 | 0.2499 | 0.2296 | 0.92 π‘ |
| c128|T|u8 | 0.3420 | 0.3149 | 0.92 π‘ |
| c128|C|i64 | 1.5669 | 1.4433 | 0.92 π‘ |
| f64|C|u64 | 1.4336 | 1.3246 | 0.92 π‘ |
| u64|F|u8 | 0.2147 | 0.1985 | 0.92 π‘ |
| c128|F|bool | 0.4381 | 0.4058 | 0.93 π‘ |
| i64|strided|i16 | 0.1542 | 0.1434 | 0.93 π‘ |
| f16|C|f64 | 1.5849 | 1.4744 | 0.93 π‘ |
| c128|negrow|i8 | 0.3334 | 0.3111 | 0.93 π‘ |
| u64|T|u8 | 0.2141 | 0.1998 | 0.93 π‘ |
| c128|sliced|u8 | 0.3155 | 0.2949 | 0.93 π‘ |
| i64|C|i8 | 0.2113 | 0.1976 | 0.94 π‘ |
| i64|strided|u16 | 0.1507 | 0.1417 | 0.94 π‘ |
| f64|strided|i16 | 0.1653 | 0.1562 | 0.94 π‘ |
| u64|T|i8 | 0.2094 | 0.1981 | 0.95 π‘ |
| c128|strided|i8 | 0.2675 | 0.2533 | 0.95 π‘ |
| i64|negcol|u8 | 0.2486 | 0.2356 | 0.95 π‘ |
| i64|F|i8 | 0.2086 | 0.1983 | 0.95 π‘ |
| i64|negcol|i8 | 0.2551 | 0.2430 | 0.95 π‘ |
| c128|C|bool | 0.4338 | 0.4158 | 0.96 π‘ |
| f64|strided|u16 | 0.1591 | 0.1527 | 0.96 π‘ |
| f64|strided|char | 0.1576 | 0.1517 | 0.96 π‘ |
| f64|strided|i64 | 0.7156 | 0.6903 | 0.96 π‘ |
| f16|strided|f64 | 0.7580 | 0.7321 | 0.97 π‘ |
| u64|strided|u8 | 0.1434 | 0.1386 | 0.97 π‘ |
| c128|negcol|i8 | 0.3582 | 0.3466 | 0.97 π‘ |
| c128|sliced|bool | 0.4285 | 0.4147 | 0.97 π‘ |
| c128|negcol|f16 | 1.8312 | 1.7743 | 0.97 π‘ |
| f16|F|f64 | 1.4863 | 1.4453 | 0.97 π‘ |
| f16|C|u64 | 1.8897 | 1.8418 | 0.97 π‘ |
| c128|C|u8 | 0.3243 | 0.3163 | 0.98 π‘ |
| f16|negrow|f64 | 1.5172 | 1.4849 | 0.98 π‘ |
| u8|strided|bool | 0.1541 | 0.1513 | 0.98 π‘ |
| c128|negcol|u32 | 0.7951 | 0.7816 | 0.98 π‘ |
| char|C|u16 | 0.2561 | 0.2517 | 0.98 π‘ |
| u64|strided|u16 | 0.1497 | 0.1474 | 0.98 π‘ |
| f64|F|u8 | 0.2394 | 0.2366 | 0.99 π‘ |
| f16|T|f64 | 1.4960 | 1.4799 | 0.99 π‘ |
| u64|negrow|f32 | 0.7876 | 0.7794 | 0.99 π‘ |
| u64|C|i8 | 0.2056 | 0.2036 | 0.99 π‘ |
| c128|sliced|u16 | 0.5149 | 0.5101 | 0.99 π‘ |
| u64|strided|char | 0.1500 | 0.1490 | 0.99 π‘ |
| f16|bcast|f64 | 1.4862 | 1.4782 | 0.99 π‘ |
| f16|negcol|f64 | 1.5169 | 1.5088 | 0.99 π‘ |
| i64|strided|u8 | 0.1367 | 0.1361 | 1.00 π‘ |
| i64|T|i8 | 0.2063 | 0.2055 | 1.00 π‘ |
| u64|sliced|f32 | 0.7792 | 0.7791 | 1.00 π‘ |
1568 comparable cells (1800 NumSharp rows; 129 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 4.48 ms unfused 6.97 ms (1.56x)
(a-b)/(a+b) fused 3.26 ms unfused 13.54 ms (4.16x)
sum(a*b) fused 2.44 ms unfused 3.90 ms (1.60x)
sum(af*bf) fused 1.30 ms unfused 1.68 ms (1.29x) [f32]
a*b+c out= fused 3.77 ms [1-pass fused-into-out]
i4*2+f8 fused 2.93 ms unfused 4.18 ms (1.43x)
a*b+c across operand layouts (2-D 2000x2000, all 3 operands same layout):
[C ] fused 3.68 ms unfused 6.43 ms (1.75x)
[F ] fused 3.60 ms unfused 6.67 ms (1.85x)
[T ] fused 3.67 ms unfused 6.37 ms (1.74x)
[strided] fused 3.49 ms unfused 4.75 ms (1.36x)
[bcast ] fused 1.11 ms unfused 3.99 ms (3.60x)
NumPy β absolutes on the same box (context for the unfused column):
numpy 2.4.2, 4M float64, best of 9:
a*b+c 12.93 ms
(a-b)/(a+b) 19.64 ms
sum(a*b) 8.45 ms
sum(af*bf) 4.19 ms [f32]
a*b+c out= 4.96 ms [two-pass with out=]
i4*2+f8 9.99 ms
a*b+c across operand layouts (2-D 2000x2000, unfused):
[C ] 12.87 ms
[F ] 12.76 ms
[T ] 12.84 ms
[strided] 7.87 ms
[bcast ] 12.36 ms