diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 4fc7672c0..a25221afe 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -247,9 +247,9 @@ Tested against NumPy 2.x. `are_broadcastable`, `broadcast`, `broadcast_arrays`, `broadcast_to` ### Math — Arithmetic -`abs`, `absolute`, `add`, `arccos`, `arcsin`, `arctan`, `arctan2`, `cbrt`, `ceil`, `clip`, `convolve`, `cos`, `cosh`, `deg2rad`, `degrees`, `divide`, `exp`, `exp2`, `expm1`, `floor`, `floor_divide`, `log`, `log10`, `log1p`, `log2`, `mod`, `modf`, `multiply`, `negative`, `positive`, `power`, `rad2deg`, `radians`, `reciprocal`, `sign`, `sin`, `sinh`, `sqrt`, `square`, `subtract`, `tan`, `tanh`, `true_divide`, `trunc` +`abs`, `absolute`, `add`, `arccos`, `arcsin`, `arctan`, `arctan2`, `cbrt`, `ceil`, `clip`, `convolve`, `cos`, `cosh`, `deg2rad`, `degrees`, `divide`, `exp`, `exp2`, `expm1`, `floor`, `floor_divide`, `log`, `log10`, `log1p`, `log2`, `mod`, `modf`, `multiply`, `negative`, `positive`, `power`, `rad2deg`, `radians`, `reciprocal`, `rint`, `sign`, `sin`, `sinh`, `sqrt`, `square`, `subtract`, `tan`, `tanh`, `true_divide`, `trunc` -**ufunc `out=` / `where=` parameters** are supported on the elementwise core (NumPy semantics, probed against 2.4.2): binary `add`/`subtract`/`multiply`/`divide`/`true_divide`/`mod`/`power`/`floor_divide`/`arctan2`/`bitwise_and`/`bitwise_or`/`bitwise_xor`, unary `sqrt`/`exp`/`log`/`sin`/`cos`/`tan`/`abs`/`absolute`/`negative`/`square`/`log2`/`log10`/`log1p`/`exp2`/`expm1`/`cbrt`/`sign`/`floor`/`ceil`/`trunc`/`reciprocal`/`sinh`/`cosh`/`tanh`/`arcsin`/`arccos`/`arctan`/`deg2rad`(`radians`)/`rad2deg`(`degrees`)/`invert`(`bitwise_not`). `round_`/`around` take `out=` ONLY (np.round is a function, not a ufunc — no where/dtype; decimals≠0 cast errors name ufunc 'multiply' per NumPy's composition). floor/ceil/trunc have IDENTITY loops on every bool/int dtype (dtype preserved; np.round's int path is an identity copy); the loop dtype comes from the input tier (`sinh(i1, out=f8)` stores float16-precision values); reciprocal int 1/0 → signed MinValue (NumPy 2.4.2); sign/positive reject bool with the verbatim no-loop UFuncTypeError; bitwise/invert raise the no-loop TypeError for float inputs (probed order: bad where → no-loop → out-cast → shape). `out` joins the broadcast but is never stretched, requires a same_kind cast from the loop dtype (resolved from inputs), returns the same instance, and may alias an input (overlap-safe via COPY_IF_OVERLAP). `where` must be bool, broadcasts and joins the output shape; masked-off `out` slots keep prior contents. Engine plumbing: `Backends/Default/Math/DefaultEngine.UfuncOut.cs`. +**ufunc `out=` / `where=` parameters** are supported on the elementwise core (NumPy semantics, probed against 2.4.2): binary `add`/`subtract`/`multiply`/`divide`/`true_divide`/`mod`/`power`/`floor_divide`/`arctan2`/`bitwise_and`/`bitwise_or`/`bitwise_xor`, unary `sqrt`/`exp`/`log`/`sin`/`cos`/`tan`/`abs`/`absolute`/`negative`/`square`/`log2`/`log10`/`log1p`/`exp2`/`expm1`/`cbrt`/`sign`/`floor`/`ceil`/`trunc`/`reciprocal`/`sinh`/`cosh`/`tanh`/`arcsin`/`arccos`/`arctan`/`deg2rad`(`radians`)/`rad2deg`(`degrees`)/`invert`(`bitwise_not`)/`rint`. `round_`/`around` take `out=` ONLY (np.round is a function, not a ufunc — no where/dtype; decimals≠0 cast errors name ufunc 'multiply' per NumPy's composition). `rint` is the TRUE ufunc form of round-half-to-even: unlike `round_`/`around` (which preserve integer dtype) it is float-tier (bool/i8/u8→f16, i16/u16→f32, i32+→f64, floats/complex preserved) and reuses `UnaryOp.Round`'s kernel (complex rounds real+imag; `dtype=`→no-loop). floor/ceil/trunc have IDENTITY loops on every bool/int dtype (dtype preserved; np.round's int path is an identity copy); the loop dtype comes from the input tier (`sinh(i1, out=f8)` stores float16-precision values); reciprocal int 1/0 → signed MinValue (NumPy 2.4.2); sign/positive reject bool with the verbatim no-loop UFuncTypeError; bitwise/invert raise the no-loop TypeError for float inputs (probed order: bad where → no-loop → out-cast → shape). `out` joins the broadcast but is never stretched, requires a same_kind cast from the loop dtype (resolved from inputs), returns the same instance, and may alias an input (overlap-safe via COPY_IF_OVERLAP). `where` must be bool, broadcasts and joins the output shape; masked-off `out` slots keep prior contents. Engine plumbing: `Backends/Default/Math/DefaultEngine.UfuncOut.cs`. **Each of those ufuncs exposes ONE NumPy-shaped overload** — `f(x[, x2], NDArray out = null, NDArray where = null, NPTypeCode? dtype = null)` mirroring NumPy's `f(x1[, x2], /, out=None, *, where=True, dtype=None)`: `out` is the second/third positional slot exactly like NumPy, `where`/`dtype` are reachable by name without `out`. `dtype=` selects the LOOP (NumPy loop-signature semantics, probed): computation runs at that precision even with `out=` (`sqrt([2.], out=f64, dtype=f32)` stores the f32-rounded value; `add(0.1, 0.2, out=f64, dtype=f32)` stores `0.30000001…`), `power(2, -1, dtype: f64) = 0.5` (the negative-int-exponent ValueError applies only to integer loops), `power(10, 11, dtype: f64) = 1e11` exactly (no compute-then-cast), `add(True, True, dtype: i32) = 2` (the bool→logical-OR remap keys off the FINAL loop dtype), `negative(bool, dtype: f64)` is legal, and inputs must reach the loop via same_kind casts (verbatim `Cannot cast ufunc '' input [N] from ...` errors; binary errors are indexed, unary are not). Loop-existence gates raise `No loop matching ... ufunc `: float-only ufuncs (sqrt/exp/log/trig + `divide`/`true_divide`) reject int/bool dtype; bitwise rejects float/complex/decimal dtype. `positive` is a full ufunc (identity loops at every dtype EXCEPT bool: plain `positive(bool)` and `dtype: bool` raise the verbatim `did not contain a loop with signature matching types -> ...` texts; `positive(bool, dtype: f64)` works). `round_`/`around` follow NumPy's non-ufunc shape `round(a, int decimals = 0, NDArray out = null)` (2nd positional is decimals, NOT out). Positional-dtype overloads (`np.sqrt(x, NPTypeCode.Single)`, `(x, Type)`) also exist for source compat as non-NumPy call forms (NumPy's 2nd positional is `out`). Tests: `Math/UfuncDtypeOverloadTests.cs`. @@ -553,24 +553,30 @@ Proves every NDIter-backed op is **bit-identical** to NumPy 2.4.2 across the inp ``` test/oracle/ corpus generators (NumPy 2.4.2 — run by hand / nightly soak) layout_catalog.py memory-layout builders (the "44 variations": 26 single + 9 pair + 5 where) - gen_oracle.py deterministic op matrices (astype/binary/unary/reduce/where/… — ~90 ops) + gen_oracle.py deterministic op matrices (astype/binary/unary/reduce/where/… — ~90 ops); + per-mode dtype axes widened to ALL_DTYPES; Char woven into every tier + via the uint16 proxy (char_tier, relabelled uint16->char) + gen_decimal_oracle.cs INDEPENDENT C# oracle for Decimal (no NumPy analog): naive scalar + System.Decimal math -> decimal_{unary,binary,reduce,scan,power, + varstd,matmul,astype,stat,where,sort,manip}.jsonl gen_index_oracle.py getter/setter index oracle (token index over 15 base recipes) fuzz_random.py seeded random fuzzer (imports the other two) test/NumSharp.UnitTest/Fuzz/ C# replay harness (no Python) FuzzCorpus.cs rebuilds EXACT NDArray views from (dtype,shape,strides,offset,bytes) OpRegistry.cs op-name → NumSharp call (pairs 1:1 with gen_oracle.py) - BitDiff.cs / Shrinker.cs bit-exact compare (NaN tokenized) / shrink a failure to 1 element + BitDiff.cs / Shrinker.cs bit-exact compare (NaN tokenized; Decimal by canonical VALUE so 1.0m≡1.00m) / shrink a failure to 1 element MisalignedRegistry.cs the documented, excused divergences (intended differences and excused cases) FuzzCorpusTests.cs one [FuzzMatrix] test per op-corpus file (checks dtype + shape + bytes + error parity) IndexOracleTests.cs index get/set differential gate (curated + dtype + seeded-random tiers) MetamorphicTests.cs oracle-free invariants (round-trips / involutions / identities — no NumPy) HarnessSelfTests.cs proves the harness has teeth (BitDiff detects value/NaN/-0 diffs; non-vacuous) - corpus/*.jsonl committed corpus (~51K cases / 28 tiers), copied to test output via the csproj glob + corpus/*.jsonl committed corpus (~68K cases / 40 tiers; op corpus ~53K incl. 3.7K Char woven + 579 Decimal), copied to test output via the csproj glob ``` - **Generators live in `test/oracle/`** and write the corpus into `test/NumSharp.UnitTest/Fuzz/corpus/` (path resolved relative to `test/oracle/`). CI replays the committed corpus, never the generators. -- **Three `FuzzMatrix` gates**: `FuzzCorpusTests` (the op corpus — ~40K cases / 25 tiers, checking dtype + shape + bytes + error parity), `IndexOracleTests` (the index oracle — `index_curated` 2,265 + `index_dtype` 104 + `index_random` 10,000; the advanced-indexing parity gate), and `MetamorphicTests` (12 NumPy-free invariants). A failing op case auto-shrinks to a 1-element repro. -- **Regenerate** (deterministic; needs `numpy==2.4.2`): `python test/oracle/gen_oracle.py ` (modes: `smoke astype_full binary divmod_power comparison unary reduce where place matmul bitwise unary_extra nanreduce scan stat logic modf manip sort tail params aliasing copyto errors`) + `python test/oracle/gen_index_oracle.py` (the `index_*` tiers) + `python test/oracle/fuzz_random.py 1234 2000 random_smoke.jsonl`, then `dotnet build` (copies the corpus to test output). +- **Three `FuzzMatrix` gates**: `FuzzCorpusTests` (the op corpus — ~53K cases across the tiers, checking dtype + shape + bytes + error parity; Char woven into every tier, 12 `Decimal*` tiers: unary/binary/reduce/scan/power/varstd/matmul/astype/stat/where/sort/manip), `IndexOracleTests` (the index oracle — `index_curated` 2,265 + `index_dtype` 104 + `index_random` 10,000; the advanced-indexing parity gate), and `MetamorphicTests` (12 NumPy-free invariants). A failing op case auto-shrinks to a 1-element repro. +- **Dtype coverage**: per-mode dtype axes widened toward `ALL_DTYPES`. **Char** (no NumPy dtype) is woven into every tier via the uint16 proxy (`gen_oracle.char_tier`, relabelled uint16→char). **Decimal** (no NumPy analog) rides an independent C# oracle (`gen_decimal_oracle.cs`, naive scalar `System.Decimal`). Verified Char/clip-bool bugs are carved from the green corpus and reproduced under `[OpenBugs]` (`OpenBugs.Char.cs`, `OpenBugs.DtypeCoverage.cs`) — NOT excused in `MisalignedRegistry`. +- **Regenerate** (deterministic; needs `numpy==2.4.2`): `python test/oracle/gen_oracle.py ` (modes: `smoke astype_full binary divmod_power comparison unary reduce where place matmul bitwise unary_extra nanreduce scan stat logic modf manip sort tail params aliasing copyto errors`) + `python test/oracle/gen_index_oracle.py` (the `index_*` tiers) + `python test/oracle/fuzz_random.py 1234 2000 random_smoke.jsonl` + `dotnet run test/oracle/gen_decimal_oracle.cs` (the `decimal_*` tiers), then `dotnet build` (copies the corpus to test output). - **Run the gate**: `dotnet test --filter "TestCategory=FuzzMatrix"`. Each case is bit-exact (pass), a documented difference in `MisalignedRegistry` (excused, never silent), or a failure (red). Full divergence ledger: `test/NumSharp.UnitTest/Fuzz/README.md`. ## CI Pipeline diff --git a/benchmark/benchmark-report.md b/benchmark/benchmark-report.md index a5b45ddef..798922e3b 100644 --- a/benchmark/benchmark-report.md +++ b/benchmark/benchmark-report.md @@ -17,7 +17,7 @@ --- -**Summary:** 1851 ops | ✅ 792 | 🟡 357 | 🟠 177 | 🔴 72 | ▫ 384 | ⚪ 69 +**Summary:** 1851 ops | ✅ 838 | 🟡 329 | 🟠 183 | 🔴 50 | ▫ 388 | ⚪ 63 ## Summary by size @@ -25,55 +25,55 @@ |---:|----:|--------:|--------:|---------:|------:|-----:|-----:|--------:|------:| | 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% | +| 1,000 | 615 | 116 | 58 | 35 | 11 | 372 | 23 | 1.13x | 89% | | 50,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - | -| 100,000 | 615 | 280 | 138 | 119 | 48 | 9 | 21 | 0.90x | 111% | +| 100,000 | 615 | 295 | 135 | 124 | 35 | 7 | 19 | 0.98x | 102% | | 5,000,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - | -| 10,000,000 | 615 | 397 | 150 | 31 | 11 | 9 | 17 | 1.26x | 80% | +| 10,000,000 | 615 | 427 | 136 | 24 | 4 | 9 | 15 | 1.39x | 72% | --- ### 🏆 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._ +_Ranked over 1400 credible comparisons (both sides ≥1µs, within 20×); 388 negligible rows excluded as non-comparable (▫). Ratio = NumPy ÷ NumSharp — above 1.0× = NumSharp faster · %NumPy🕐 = share of NumPy's time NumSharp uses._ | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|✅| np.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% | +|✅| np.prod (float64) | float64 | 100,000 | 2.331 | 0.170 | 13.71× | 7% | +|✅| np.nanprod(a) (float32) | float32 | 100,000 | 0.160 | 0.012 | 13.53× | 7% | +|✅| np.sum axis=1 (int8) | int8 | 10,000,000 | 3.511 | 0.264 | 13.30× | 8% | +|✅| np.nanvar(a) (float64) | float64 | 1,000 | 0.020 | 0.002 | 13.06× | 8% | +|✅| np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.028 | 0.002 | 12.60× | 8% | +|✅| np.nanstd(a) (float64) | float64 | 1,000 | 0.019 | 0.002 | 12.52× | 8% | +|✅| np.nanstd(a) (float16) | float16 | 1,000 | 0.034 | 0.003 | 12.26× | 8% | +|✅| np.prod axis=1 (float64) | float64 | 100,000 | 0.060 | 0.005 | 12.13× | 8% | +|✅| np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.206 | 0.265 | 12.11× | 8% | +|✅| np.mean (uint64) | uint64 | 100,000 | 0.054 | 0.004 | 12.08× | 8% | +|✅| np.dot(a, b) (float64) | float64 | 100,000 | 0.112 | 0.009 | 12.05× | 8% | +|✅| np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.027 | 0.002 | 11.99× | 8% | +|✅| np.nanstd(a) (float32) | float32 | 1,000 | 0.020 | 0.002 | 11.92× | 8% | +|✅| np.nanvar(a) (float16) | float16 | 1,000 | 0.032 | 0.003 | 11.72× | 8% | +|✅| np.sum axis=0 (uint8) | uint8 | 100,000 | 0.051 | 0.004 | 11.69× | 9% | ### 🔻 Top 15 Worst (Optimization priorities) | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|🔴| np.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% | +|🔴| np.zeros_like (int64) | int64 | 1,000 | 0.001 | 0.013 | 0.079× | 1261% | +|🔴| np.sum (float64) | float64 | 100,000 | 0.017 | 0.209 | 0.079× | 1260% | +|🔴| np.isnan(a) (float32) | float32 | 100,000 | 0.004 | 0.048 | 0.092× | 1091% | +|🔴| np.invert(a) (bool) | bool | 100,000 | 0.002 | 0.023 | 0.092× | 1083% | +|🔴| np.zeros_like (float64) | float64 | 1,000 | 0.001 | 0.013 | 0.092× | 1086% | +|🔴| a | b (bool) | bool | 100,000 | 0.003 | 0.023 | 0.11× | 912% | +|🔴| a + scalar (float64) | float64 | 100,000 | 0.012 | 0.104 | 0.11× | 902% | +|🔴| a * 2 (literal) (float64) | float64 | 100,000 | 0.012 | 0.106 | 0.11× | 887% | +|🔴| a + 5 (literal) (float64) | float64 | 100,000 | 0.012 | 0.103 | 0.11× | 884% | +|🔴| np.zeros_like (float32) | float32 | 1,000 | 0.001 | 0.009 | 0.12× | 861% | +|🔴| a * a (square) (float64) | float64 | 100,000 | 0.011 | 0.098 | 0.12× | 863% | +|🔴| a * scalar (float64) | float64 | 100,000 | 0.012 | 0.100 | 0.12× | 857% | +|🔴| np.right_shift(a, 2) (bool) | bool | 1,000 | 0.002 | 0.013 | 0.12× | 844% | +|🔴| np.left_shift(a, 2) (bool) | bool | 1,000 | 0.002 | 0.013 | 0.12× | 845% | +|🔴| np.zeros_like (int32) | int32 | 1,000 | 0.001 | 0.009 | 0.12× | 842% | --- @@ -81,1421 +81,1421 @@ _Ranked over 1398 credible comparisons (both sides ≥1µs, within 20×); 384 ne | | 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% | +|🟡| a % 7 (literal) (float32) | float32 | 1,000 | 0.0143 | 0.0167 | 0.86× | 116% | +|🟡| a % 7 (literal) (float32) | float32 | 100,000 | 1.6323 | 1.8289 | 0.89× | 112% | +|🟡| a % 7 (literal) (float32) | float32 | 10,000,000 | 166.6333 | 176.1757 | 0.95× | 106% | +|🟡| a % 7 (literal) (float64) | float64 | 1,000 | 0.0112 | 0.0175 | 0.64× | 156% | +|🟡| a % 7 (literal) (float64) | float64 | 100,000 | 1.4461 | 1.6302 | 0.89× | 113% | +|🟡| a % 7 (literal) (float64) | float64 | 10,000,000 | 159.2176 | 162.5277 | 0.98× | 102% | +|🟡| a % 7 (literal) (int32) | int32 | 1,000 | 0.0022 | 0.0028 | 0.78× | 129% | +|🟡| a % 7 (literal) (int32) | int32 | 100,000 | 0.3957 | 0.6590 | 0.60× | 166% | +|🟡| a % 7 (literal) (int32) | int32 | 10,000,000 | 49.0203 | 66.9383 | 0.73× | 137% | +|🟡| a % 7 (literal) (int64) | int64 | 1,000 | 0.0044 | 0.0069 | 0.64× | 156% | +|🟡| a % 7 (literal) (int64) | int64 | 100,000 | 0.4155 | 0.6703 | 0.62× | 161% | +|🟡| a % 7 (literal) (int64) | int64 | 10,000,000 | 50.7135 | 75.8665 | 0.67× | 150% | +|✅| a % b (element-wise) (float32) | float32 | 1,000 | 0.0121 | 0.0108 | 1.12× | 90% | +|🟡| a % b (element-wise) (float32) | float32 | 100,000 | 1.5318 | 1.5713 | 0.97× | 103% | +|✅| a % b (element-wise) (float32) | float32 | 10,000,000 | 156.9058 | 152.7181 | 1.03× | 97% | +|✅| a % b (element-wise) (float64) | float64 | 1,000 | 0.0100 | 0.0090 | 1.12× | 89% | +|🟡| a % b (element-wise) (float64) | float64 | 100,000 | 1.2891 | 1.3568 | 0.95× | 105% | +|🟡| a % b (element-wise) (float64) | float64 | 10,000,000 | 143.9662 | 145.6373 | 0.99× | 101% | +|🟡| a % b (element-wise) (int32) | int32 | 1,000 | 0.0021 | 0.0028 | 0.76× | 132% | +|🟡| a % b (element-wise) (int32) | int32 | 100,000 | 0.3784 | 0.6093 | 0.62× | 161% | +|🟡| a % b (element-wise) (int32) | int32 | 10,000,000 | 47.9091 | 58.8577 | 0.81× | 123% | +|🟡| a % b (element-wise) (int64) | int64 | 1,000 | 0.0035 | 0.0040 | 0.88× | 114% | +|🟡| a % b (element-wise) (int64) | int64 | 100,000 | 0.3756 | 0.6058 | 0.62× | 161% | +|🟡| a % b (element-wise) (int64) | int64 | 10,000,000 | 49.5215 | 66.8191 | 0.74× | 135% | +|🟠| a * 2 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0045 | 0.25× | 402% | +|✅| a * 2 (literal) (complex128) | complex128 | 100,000 | 0.3633 | 0.3155 | 1.15× | 87% | +|🟡| a * 2 (literal) (complex128) | complex128 | 10,000,000 | 31.3365 | 57.0611 | 0.55× | 182% | +|🟡| a * 2 (literal) (float16) | float16 | 1,000 | 0.0066 | 0.0103 | 0.63× | 158% | +|🟠| a * 2 (literal) (float16) | float16 | 100,000 | 0.3439 | 0.8963 | 0.38× | 261% | +|🟠| a * 2 (literal) (float16) | float16 | 10,000,000 | 31.2284 | 86.0293 | 0.36× | 276% | +|▫| a * 2 (literal) (float32) | float32 | 1,000 | 0.0008 | 0.0053 | 0.14× | 691% | +|🔴| a * 2 (literal) (float32) | float32 | 100,000 | 0.0066 | 0.0516 | 0.13× | 780% | +|🟡| a * 2 (literal) (float32) | float32 | 10,000,000 | 7.8824 | 9.4240 | 0.84× | 120% | +|▫| a * 2 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0062 | 0.13× | 773% | +|🔴| a * 2 (literal) (float64) | float64 | 100,000 | 0.0119 | 0.1056 | 0.11× | 887% | +|🟡| a * 2 (literal) (float64) | float64 | 10,000,000 | 20.0350 | 22.1709 | 0.90× | 111% | +|▫| a * 2 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0058 | 0.17× | 589% | +|🟡| a * 2 (literal) (int16) | int16 | 100,000 | 0.0233 | 0.0306 | 0.76× | 131% | +|✅| a * 2 (literal) (int16) | int16 | 10,000,000 | 6.0238 | 4.4309 | 1.36× | 74% | +|🟠| a * 2 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0034 | 0.30× | 334% | +|🟠| a * 2 (literal) (int32) | int32 | 100,000 | 0.0230 | 0.0521 | 0.44× | 226% | +|✅| a * 2 (literal) (int32) | int32 | 10,000,000 | 12.3132 | 7.7215 | 1.59× | 63% | +|▫| a * 2 (literal) (int64) | int64 | 1,000 | 0.0009 | 0.0056 | 0.16× | 614% | +|🟠| a * 2 (literal) (int64) | int64 | 100,000 | 0.0216 | 0.1059 | 0.20× | 491% | +|🟡| a * 2 (literal) (int64) | int64 | 10,000,000 | 16.4530 | 31.0792 | 0.53× | 189% | +|▫| a * 2 (literal) (int8) | int8 | 1,000 | 0.0008 | 0.0036 | 0.23× | 425% | +|🟡| a * 2 (literal) (int8) | int8 | 100,000 | 0.0226 | 0.0233 | 0.97× | 103% | +|✅| a * 2 (literal) (int8) | int8 | 10,000,000 | 3.7464 | 2.1072 | 1.78× | 56% | +|🟠| a * 2 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0027 | 0.37× | 269% | +|🟡| a * 2 (literal) (uint16) | uint16 | 100,000 | 0.0229 | 0.0291 | 0.78× | 128% | +|✅| a * 2 (literal) (uint16) | uint16 | 10,000,000 | 6.6073 | 4.8579 | 1.36× | 74% | +|🔴| a * 2 (literal) (uint32) | uint32 | 1,000 | 0.0010 | 0.0054 | 0.19× | 520% | +|🟠| a * 2 (literal) (uint32) | uint32 | 100,000 | 0.0225 | 0.0519 | 0.43× | 231% | +|✅| a * 2 (literal) (uint32) | uint32 | 10,000,000 | 7.8930 | 7.6778 | 1.03× | 97% | +|▫| a * 2 (literal) (uint64) | uint64 | 1,000 | 0.0009 | 0.0030 | 0.31× | 323% | +|🟠| a * 2 (literal) (uint64) | uint64 | 100,000 | 0.0222 | 0.1066 | 0.21× | 481% | +|🟡| a * 2 (literal) (uint64) | uint64 | 10,000,000 | 15.0621 | 29.8983 | 0.50× | 198% | +|▫| a * 2 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0038 | 0.23× | 428% | +|✅| a * 2 (literal) (uint8) | uint8 | 100,000 | 0.0229 | 0.0216 | 1.06× | 95% | +|✅| a * 2 (literal) (uint8) | uint8 | 10,000,000 | 4.1643 | 2.1224 | 1.96× | 51% | +|▫| a * a (square) (complex128) | complex128 | 1,000 | 0.0008 | 0.0042 | 0.19× | 520% | +|🟡| a * a (square) (complex128) | complex128 | 100,000 | 0.3485 | 0.4268 | 0.82× | 122% | +|🟡| a * a (square) (complex128) | complex128 | 10,000,000 | 30.2303 | 43.0242 | 0.70× | 142% | +|🟡| a * a (square) (float16) | float16 | 1,000 | 0.0057 | 0.0093 | 0.61× | 162% | +|🟠| a * a (square) (float16) | float16 | 100,000 | 0.2934 | 0.8294 | 0.35× | 283% | +|🟠| a * a (square) (float16) | float16 | 10,000,000 | 30.7340 | 84.9605 | 0.36× | 276% | +|▫| a * a (square) (float32) | float32 | 1,000 | 0.0005 | 0.0019 | 0.28× | 356% | +|🔴| a * a (square) (float32) | float32 | 100,000 | 0.0059 | 0.0493 | 0.12× | 834% | +|🟡| a * a (square) (float32) | float32 | 10,000,000 | 7.8671 | 8.1233 | 0.97× | 103% | +|▫| a * a (square) (float64) | float64 | 1,000 | 0.0005 | 0.0027 | 0.20× | 506% | +|🔴| a * a (square) (float64) | float64 | 100,000 | 0.0113 | 0.0977 | 0.12× | 863% | +|🟡| a * a (square) (float64) | float64 | 10,000,000 | 19.3973 | 20.3482 | 0.95× | 105% | +|▫| a * a (square) (int16) | int16 | 1,000 | 0.0008 | 0.0018 | 0.41× | 242% | +|✅| a * a (square) (int16) | int16 | 100,000 | 0.0287 | 0.0251 | 1.14× | 88% | +|✅| a * a (square) (int16) | int16 | 10,000,000 | 7.2866 | 5.2338 | 1.39× | 72% | +|▫| a * a (square) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39× | 258% | +|🟡| a * a (square) (int32) | int32 | 100,000 | 0.0300 | 0.0553 | 0.54× | 184% | +|✅| a * a (square) (int32) | int32 | 10,000,000 | 12.7934 | 7.8908 | 1.62× | 62% | +|▫| a * a (square) (int64) | int64 | 1,000 | 0.0008 | 0.0029 | 0.27× | 376% | +|🟠| a * a (square) (int64) | int64 | 100,000 | 0.0289 | 0.1056 | 0.27× | 366% | +|🟡| a * a (square) (int64) | int64 | 10,000,000 | 15.6967 | 30.4188 | 0.52× | 194% | +|▫| a * a (square) (int8) | int8 | 1,000 | 0.0006 | 0.0015 | 0.42× | 239% | +|✅| a * a (square) (int8) | int8 | 100,000 | 0.0280 | 0.0158 | 1.77× | 57% | +|✅| a * a (square) (int8) | int8 | 10,000,000 | 4.4945 | 2.8519 | 1.58× | 64% | +|▫| a * a (square) (uint16) | uint16 | 1,000 | 0.0008 | 0.0017 | 0.45× | 223% | +|✅| a * a (square) (uint16) | uint16 | 100,000 | 0.0347 | 0.0258 | 1.34× | 74% | +|✅| a * a (square) (uint16) | uint16 | 10,000,000 | 7.9808 | 5.3188 | 1.50× | 67% | +|▫| a * a (square) (uint32) | uint32 | 1,000 | 0.0008 | 0.0021 | 0.37× | 269% | +|🟡| a * a (square) (uint32) | uint32 | 100,000 | 0.0285 | 0.0490 | 0.58× | 172% | +|🟡| a * a (square) (uint32) | uint32 | 10,000,000 | 7.9914 | 8.4603 | 0.94× | 106% | +|▫| a * a (square) (uint64) | uint64 | 1,000 | 0.0007 | 0.0028 | 0.26× | 384% | +|🟠| a * a (square) (uint64) | uint64 | 100,000 | 0.0293 | 0.1078 | 0.27× | 368% | +|🟡| a * a (square) (uint64) | uint64 | 10,000,000 | 15.1757 | 29.8093 | 0.51× | 196% | +|▫| a * a (square) (uint8) | uint8 | 1,000 | 0.0007 | 0.0014 | 0.46× | 216% | +|✅| a * a (square) (uint8) | uint8 | 100,000 | 0.0290 | 0.0155 | 1.88× | 53% | +|✅| a * a (square) (uint8) | uint8 | 10,000,000 | 4.8089 | 2.8618 | 1.68× | 60% | +|▫| a * b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0043 | 0.22× | 453% | +|🟡| a * b (element-wise) (complex128) | complex128 | 100,000 | 0.3579 | 0.4442 | 0.81× | 124% | +|🟠| a * b (element-wise) (complex128) | complex128 | 10,000,000 | 34.4053 | 73.3371 | 0.47× | 213% | +|🟠| a * b (element-wise) (float16) | float16 | 1,000 | 0.0034 | 0.0090 | 0.37× | 268% | +|🟠| a * b (element-wise) (float16) | float16 | 100,000 | 0.3186 | 0.8505 | 0.38× | 267% | +|🟠| a * b (element-wise) (float16) | float16 | 10,000,000 | 30.9166 | 88.9610 | 0.35× | 288% | +|▫| a * b (element-wise) (float32) | float32 | 1,000 | 0.0006 | 0.0019 | 0.30× | 336% | +|🔴| a * b (element-wise) (float32) | float32 | 100,000 | 0.0071 | 0.0514 | 0.14× | 722% | +|🟡| a * b (element-wise) (float32) | float32 | 10,000,000 | 8.4965 | 10.2234 | 0.83× | 120% | +|▫| a * b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.20× | 489% | +|🟠| a * b (element-wise) (float64) | float64 | 100,000 | 0.0274 | 0.1030 | 0.27× | 376% | +|🟡| a * b (element-wise) (float64) | float64 | 10,000,000 | 21.0075 | 33.0143 | 0.64× | 157% | +|▫| a * b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0019 | 0.41× | 241% | +|✅| a * b (element-wise) (int16) | int16 | 100,000 | 0.0282 | 0.0266 | 1.06× | 95% | +|✅| a * b (element-wise) (int16) | int16 | 10,000,000 | 7.7338 | 6.8196 | 1.13× | 88% | +|▫| a * b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39× | 257% | +|🟡| a * b (element-wise) (int32) | int32 | 100,000 | 0.0287 | 0.0519 | 0.55× | 181% | +|✅| a * b (element-wise) (int32) | int32 | 10,000,000 | 13.0207 | 10.9911 | 1.19× | 84% | +|▫| a * b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0030 | 0.26× | 386% | +|🟠| a * b (element-wise) (int64) | int64 | 100,000 | 0.0386 | 0.1068 | 0.36× | 277% | +|🟠| a * b (element-wise) (int64) | int64 | 10,000,000 | 17.0533 | 38.5984 | 0.44× | 226% | +|▫| a * b (element-wise) (int8) | int8 | 1,000 | 0.0006 | 0.0016 | 0.39× | 255% | +|✅| a * b (element-wise) (int8) | int8 | 100,000 | 0.0282 | 0.0162 | 1.74× | 57% | +|✅| a * b (element-wise) (int8) | int8 | 10,000,000 | 5.3373 | 3.6339 | 1.47× | 68% | +|▫| a * b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.39× | 254% | +|✅| a * b (element-wise) (uint16) | uint16 | 100,000 | 0.0308 | 0.0267 | 1.15× | 87% | +|✅| a * b (element-wise) (uint16) | uint16 | 10,000,000 | 7.7433 | 6.7987 | 1.14× | 88% | +|▫| a * b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0020 | 0.40× | 250% | +|🟡| a * b (element-wise) (uint32) | uint32 | 100,000 | 0.0278 | 0.0486 | 0.57× | 175% | +|🟡| a * b (element-wise) (uint32) | uint32 | 10,000,000 | 9.8085 | 11.0138 | 0.89× | 112% | +|▫| a * b (element-wise) (uint64) | uint64 | 1,000 | 0.0007 | 0.0027 | 0.27× | 377% | +|🟠| a * b (element-wise) (uint64) | uint64 | 100,000 | 0.0361 | 0.1090 | 0.33× | 302% | +|🟠| a * b (element-wise) (uint64) | uint64 | 10,000,000 | 16.9583 | 37.9021 | 0.45× | 224% | +|▫| a * b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0017 | 0.39× | 257% | +|✅| a * b (element-wise) (uint8) | uint8 | 100,000 | 0.0295 | 0.0157 | 1.88× | 53% | +|✅| a * b (element-wise) (uint8) | uint8 | 10,000,000 | 4.5011 | 3.6771 | 1.22× | 82% | +|▫| a * scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0043 | 0.22× | 458% | +|✅| a * scalar (complex128) | complex128 | 100,000 | 0.3458 | 0.3076 | 1.12× | 89% | +|🟡| a * scalar (complex128) | complex128 | 10,000,000 | 30.9297 | 45.1226 | 0.69× | 146% | +|🟡| a * scalar (float16) | float16 | 1,000 | 0.0062 | 0.0092 | 0.68× | 148% | +|🟠| a * scalar (float16) | float16 | 100,000 | 0.3472 | 0.8794 | 0.40× | 253% | +|🟠| a * scalar (float16) | float16 | 10,000,000 | 35.1625 | 88.3826 | 0.40× | 251% | +|▫| a * scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.36× | 281% | +|🔴| a * scalar (float32) | float32 | 100,000 | 0.0068 | 0.0488 | 0.14× | 722% | +|🟡| a * scalar (float32) | float32 | 10,000,000 | 8.0629 | 8.9608 | 0.90× | 111% | +|▫| a * scalar (float64) | float64 | 1,000 | 0.0009 | 0.0028 | 0.31× | 325% | +|🔴| a * scalar (float64) | float64 | 100,000 | 0.0117 | 0.0999 | 0.12× | 857% | +|🟡| a * scalar (float64) | float64 | 10,000,000 | 19.9081 | 22.8588 | 0.87× | 115% | +|▫| a * scalar (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.50× | 201% | +|🟡| a * scalar (int16) | int16 | 100,000 | 0.0233 | 0.0262 | 0.89× | 112% | +|✅| a * scalar (int16) | int16 | 10,000,000 | 7.0592 | 4.6609 | 1.51× | 66% | +|▫| a * scalar (int32) | int32 | 1,000 | 0.0009 | 0.0019 | 0.46× | 217% | +|🟠| a * scalar (int32) | int32 | 100,000 | 0.0231 | 0.0508 | 0.46× | 220% | +|✅| a * scalar (int32) | int32 | 10,000,000 | 12.6141 | 9.1360 | 1.38× | 72% | +|▫| a * scalar (int64) | int64 | 1,000 | 0.0009 | 0.0029 | 0.30× | 332% | +|🟠| a * scalar (int64) | int64 | 100,000 | 0.0226 | 0.1076 | 0.21× | 476% | +|🟠| a * scalar (int64) | int64 | 10,000,000 | 15.4341 | 31.3975 | 0.49× | 203% | +|▫| a * scalar (int8) | int8 | 1,000 | 0.0007 | 0.0016 | 0.45× | 223% | +|✅| a * scalar (int8) | int8 | 100,000 | 0.0223 | 0.0161 | 1.39× | 72% | +|✅| a * scalar (int8) | int8 | 10,000,000 | 3.7610 | 2.0651 | 1.82× | 55% | +|▫| a * scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0018 | 0.47× | 213% | +|🟡| a * scalar (uint16) | uint16 | 100,000 | 0.0262 | 0.0269 | 0.97× | 103% | +|✅| a * scalar (uint16) | uint16 | 10,000,000 | 7.0635 | 4.6785 | 1.51× | 66% | +|▫| a * scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0020 | 0.46× | 219% | +|🟠| a * scalar (uint32) | uint32 | 100,000 | 0.0227 | 0.0507 | 0.45× | 223% | +|🟡| a * scalar (uint32) | uint32 | 10,000,000 | 7.8165 | 9.2370 | 0.85× | 118% | +|▫| a * scalar (uint64) | uint64 | 1,000 | 0.0008 | 0.0028 | 0.28× | 351% | +|🟠| a * scalar (uint64) | uint64 | 100,000 | 0.0222 | 0.1048 | 0.21× | 471% | +|🟡| a * scalar (uint64) | uint64 | 10,000,000 | 15.1079 | 30.0570 | 0.50× | 199% | +|▫| a * scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0016 | 0.47× | 210% | +|✅| a * scalar (uint8) | uint8 | 100,000 | 0.0238 | 0.0159 | 1.50× | 67% | +|✅| a * scalar (uint8) | uint8 | 10,000,000 | 4.0195 | 2.0901 | 1.92× | 52% | +|🔴| a + 5 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0076 | 0.14× | 691% | +|✅| a + 5 (literal) (complex128) | complex128 | 100,000 | 0.3558 | 0.3115 | 1.14× | 88% | +|✅| a + 5 (literal) (complex128) | complex128 | 10,000,000 | 42.7672 | 39.9933 | 1.07× | 94% | +|🟡| a + 5 (literal) (float16) | float16 | 1,000 | 0.0064 | 0.0106 | 0.60× | 166% | +|🟠| a + 5 (literal) (float16) | float16 | 100,000 | 0.3642 | 0.8592 | 0.42× | 236% | +|🟠| a + 5 (literal) (float16) | float16 | 10,000,000 | 31.0643 | 84.9236 | 0.37× | 273% | +|▫| a + 5 (literal) (float32) | float32 | 1,000 | 0.0009 | 0.0049 | 0.18× | 568% | +|🔴| a + 5 (literal) (float32) | float32 | 100,000 | 0.0065 | 0.0543 | 0.12× | 841% | +|🟡| a + 5 (literal) (float32) | float32 | 10,000,000 | 8.0704 | 8.3566 | 0.97× | 104% | +|▫| a + 5 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0056 | 0.14× | 708% | +|🔴| a + 5 (literal) (float64) | float64 | 100,000 | 0.0117 | 0.1033 | 0.11× | 884% | +|✅| a + 5 (literal) (float64) | float64 | 10,000,000 | 19.9822 | 19.3898 | 1.03× | 97% | +|🟠| a + 5 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0025 | 0.41× | 245% | +|🟡| a + 5 (literal) (int16) | int16 | 100,000 | 0.0256 | 0.0297 | 0.86× | 116% | +|✅| a + 5 (literal) (int16) | int16 | 10,000,000 | 6.8921 | 4.3178 | 1.60× | 63% | +|🟠| a + 5 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0033 | 0.31× | 321% | +|🟠| a + 5 (literal) (int32) | int32 | 100,000 | 0.0250 | 0.0530 | 0.47× | 212% | +|✅| a + 5 (literal) (int32) | int32 | 10,000,000 | 12.6603 | 8.4146 | 1.50× | 66% | +|▫| a + 5 (literal) (int64) | int64 | 1,000 | 0.0010 | 0.0058 | 0.17× | 598% | +|🟠| a + 5 (literal) (int64) | int64 | 100,000 | 0.0233 | 0.1024 | 0.23× | 439% | +|🟡| a + 5 (literal) (int64) | int64 | 10,000,000 | 15.3142 | 19.3520 | 0.79× | 126% | +|▫| a + 5 (literal) (int8) | int8 | 1,000 | 0.0009 | 0.0034 | 0.26× | 387% | +|✅| a + 5 (literal) (int8) | int8 | 100,000 | 0.0369 | 0.0230 | 1.60× | 62% | +|✅| a + 5 (literal) (int8) | int8 | 10,000,000 | 4.1932 | 1.9965 | 2.10× | 48% | +|🟠| a + 5 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0048 | 0.21× | 474% | +|🟡| a + 5 (literal) (uint16) | uint16 | 100,000 | 0.0250 | 0.0308 | 0.81× | 123% | +|✅| a + 5 (literal) (uint16) | uint16 | 10,000,000 | 6.9032 | 4.2530 | 1.62× | 62% | +|🔴| a + 5 (literal) (uint32) | uint32 | 1,000 | 0.0011 | 0.0056 | 0.19× | 530% | +|🟠| a + 5 (literal) (uint32) | uint32 | 100,000 | 0.0234 | 0.0493 | 0.47× | 211% | +|✅| a + 5 (literal) (uint32) | uint32 | 10,000,000 | 10.0916 | 8.5435 | 1.18× | 85% | +|🔴| a + 5 (literal) (uint64) | uint64 | 1,000 | 0.0010 | 0.0054 | 0.19× | 526% | +|🟠| a + 5 (literal) (uint64) | uint64 | 100,000 | 0.0236 | 0.1073 | 0.22× | 454% | +|🟡| a + 5 (literal) (uint64) | uint64 | 10,000,000 | 15.2161 | 20.0614 | 0.76× | 132% | +|▫| a + 5 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0036 | 0.26× | 390% | +|✅| a + 5 (literal) (uint8) | uint8 | 100,000 | 0.0248 | 0.0205 | 1.21× | 83% | +|✅| a + 5 (literal) (uint8) | uint8 | 10,000,000 | 4.1679 | 1.9455 | 2.14× | 47% | +|🟠| a + b (element-wise) (complex128) | complex128 | 1,000 | 0.0010 | 0.0046 | 0.23× | 442% | +|🟡| a + b (element-wise) (complex128) | complex128 | 100,000 | 0.3515 | 0.4716 | 0.74× | 134% | +|🟡| a + b (element-wise) (complex128) | complex128 | 10,000,000 | 42.3859 | 58.1610 | 0.73× | 137% | +|🟡| a + b (element-wise) (float16) | float16 | 1,000 | 0.0055 | 0.0091 | 0.60× | 165% | +|🟠| a + b (element-wise) (float16) | float16 | 100,000 | 0.2982 | 0.8560 | 0.35× | 287% | +|🟠| a + b (element-wise) (float16) | float16 | 10,000,000 | 31.3075 | 87.5987 | 0.36× | 280% | +|▫| a + b (element-wise) (float32) | float32 | 1,000 | 0.0007 | 0.0011 | 0.67× | 149% | +|🔴| a + b (element-wise) (float32) | float32 | 100,000 | 0.0069 | 0.0546 | 0.13× | 792% | +|🟡| a + b (element-wise) (float32) | float32 | 10,000,000 | 8.7877 | 10.3685 | 0.85× | 118% | +|▫| a + b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0018 | 0.28× | 358% | +|🟠| a + b (element-wise) (float64) | float64 | 100,000 | 0.0287 | 0.1183 | 0.24× | 413% | +|🟡| a + b (element-wise) (float64) | float64 | 10,000,000 | 17.1247 | 32.2672 | 0.53× | 188% | +|▫| a + b (element-wise) (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.47× | 213% | +|🟡| a + b (element-wise) (int16) | int16 | 100,000 | 0.0306 | 0.0341 | 0.90× | 111% | +|✅| a + b (element-wise) (int16) | int16 | 10,000,000 | 7.6408 | 7.1288 | 1.07× | 93% | +|▫| a + b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0022 | 0.35× | 286% | +|🟡| a + b (element-wise) (int32) | int32 | 100,000 | 0.0296 | 0.0569 | 0.52× | 192% | +|✅| a + b (element-wise) (int32) | int32 | 10,000,000 | 13.4533 | 10.0724 | 1.34× | 75% | +|▫| a + b (element-wise) (int64) | int64 | 1,000 | 0.0010 | 0.0032 | 0.30× | 330% | +|🟠| a + b (element-wise) (int64) | int64 | 100,000 | 0.0351 | 0.1211 | 0.29× | 345% | +|🟡| a + b (element-wise) (int64) | int64 | 10,000,000 | 16.9982 | 32.1148 | 0.53× | 189% | +|▫| a + b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0017 | 0.39× | 256% | +|✅| a + b (element-wise) (int8) | int8 | 100,000 | 0.0289 | 0.0158 | 1.83× | 55% | +|✅| a + b (element-wise) (int8) | int8 | 10,000,000 | 4.7377 | 3.2841 | 1.44× | 69% | +|▫| a + b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0021 | 0.39× | 256% | +|✅| a + b (element-wise) (uint16) | uint16 | 100,000 | 0.0305 | 0.0303 | 1.00× | 100% | +|✅| a + b (element-wise) (uint16) | uint16 | 10,000,000 | 7.7579 | 7.1286 | 1.09× | 92% | +|🟡| a + b (element-wise) (uint32) | uint32 | 1,000 | 0.0011 | 0.0017 | 0.68× | 148% | +|🟡| a + b (element-wise) (uint32) | uint32 | 100,000 | 0.0292 | 0.0565 | 0.52× | 194% | +|✅| a + b (element-wise) (uint32) | uint32 | 10,000,000 | 13.4492 | 9.8607 | 1.36× | 73% | +|▫| a + b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0027 | 0.29× | 348% | +|🟠| a + b (element-wise) (uint64) | uint64 | 100,000 | 0.0529 | 0.1072 | 0.49× | 203% | +|🟠| a + b (element-wise) (uint64) | uint64 | 10,000,000 | 17.2194 | 35.4223 | 0.49× | 206% | +|▫| a + b (element-wise) (uint8) | uint8 | 1,000 | 0.0008 | 0.0019 | 0.43× | 232% | +|✅| a + b (element-wise) (uint8) | uint8 | 100,000 | 0.0305 | 0.0154 | 1.98× | 50% | +|✅| a + b (element-wise) (uint8) | uint8 | 10,000,000 | 4.9889 | 3.3759 | 1.48× | 68% | +|▫| a + scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0042 | 0.23× | 442% | +|✅| a + scalar (complex128) | complex128 | 100,000 | 0.3392 | 0.3087 | 1.10× | 91% | +|🟡| a + scalar (complex128) | complex128 | 10,000,000 | 39.4817 | 41.1306 | 0.96× | 104% | +|🟡| a + scalar (float16) | float16 | 1,000 | 0.0066 | 0.0091 | 0.73× | 138% | +|🟠| a + scalar (float16) | float16 | 100,000 | 0.3632 | 0.8631 | 0.42× | 238% | +|🟠| a + scalar (float16) | float16 | 10,000,000 | 30.8505 | 85.6472 | 0.36× | 278% | +|▫| a + scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.35× | 283% | +|🔴| a + scalar (float32) | float32 | 100,000 | 0.0062 | 0.0514 | 0.12× | 829% | +|🟡| a + scalar (float32) | float32 | 10,000,000 | 7.9325 | 8.3761 | 0.95× | 106% | +|▫| a + scalar (float64) | float64 | 1,000 | 0.0007 | 0.0027 | 0.24× | 416% | +|🔴| a + scalar (float64) | float64 | 100,000 | 0.0116 | 0.1045 | 0.11× | 902% | +|🟡| a + scalar (float64) | float64 | 10,000,000 | 19.7762 | 20.4638 | 0.97× | 104% | +|▫| a + scalar (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51× | 196% | +|🟡| a + scalar (int16) | int16 | 100,000 | 0.0249 | 0.0262 | 0.95× | 105% | +|✅| a + scalar (int16) | int16 | 10,000,000 | 7.1782 | 4.4382 | 1.62× | 62% | +|▫| a + scalar (int32) | int32 | 1,000 | 0.0009 | 0.0019 | 0.46× | 217% | +|🟠| a + scalar (int32) | int32 | 100,000 | 0.0245 | 0.0532 | 0.46× | 217% | +|✅| a + scalar (int32) | int32 | 10,000,000 | 12.6205 | 8.3589 | 1.51× | 66% | +|▫| a + scalar (int64) | int64 | 1,000 | 0.0009 | 0.0027 | 0.33× | 304% | +|🟠| a + scalar (int64) | int64 | 100,000 | 0.0236 | 0.1014 | 0.23× | 429% | +|🟡| a + scalar (int64) | int64 | 10,000,000 | 14.8466 | 19.9072 | 0.75× | 134% | +|▫| a + scalar (int8) | int8 | 1,000 | 0.0008 | 0.0016 | 0.49× | 203% | +|✅| a + scalar (int8) | int8 | 100,000 | 0.0251 | 0.0149 | 1.69× | 59% | +|✅| a + scalar (int8) | int8 | 10,000,000 | 4.2152 | 1.9671 | 2.14× | 47% | +|▫| a + scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0017 | 0.54× | 187% | +|🟡| a + scalar (uint16) | uint16 | 100,000 | 0.0245 | 0.0256 | 0.96× | 105% | +|✅| a + scalar (uint16) | uint16 | 10,000,000 | 6.9794 | 4.3583 | 1.60× | 62% | +|▫| a + scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0019 | 0.49× | 205% | +|🟠| a + scalar (uint32) | uint32 | 100,000 | 0.0247 | 0.0503 | 0.49× | 204% | +|✅| a + scalar (uint32) | uint32 | 10,000,000 | 10.8927 | 8.4266 | 1.29× | 77% | +|▫| a + scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0025 | 0.37× | 273% | +|🟠| a + scalar (uint64) | uint64 | 100,000 | 0.0235 | 0.1018 | 0.23× | 433% | +|🟡| a + scalar (uint64) | uint64 | 10,000,000 | 15.0579 | 20.0299 | 0.75× | 133% | +|▫| a + scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0015 | 0.50× | 202% | +|✅| a + scalar (uint8) | uint8 | 100,000 | 0.0248 | 0.0148 | 1.67× | 60% | +|✅| a + scalar (uint8) | uint8 | 10,000,000 | 4.4127 | 1.9329 | 2.28× | 44% | +|▫| a - b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0040 | 0.22× | 458% | +|✅| a - b (element-wise) (complex128) | complex128 | 100,000 | 0.3505 | 0.2610 | 1.34× | 74% | +|✅| a - b (element-wise) (complex128) | complex128 | 10,000,000 | 41.6707 | 35.7057 | 1.17× | 86% | +|🟠| a - b (element-wise) (float16) | float16 | 1,000 | 0.0041 | 0.0092 | 0.44× | 225% | +|🟡| a - b (element-wise) (float16) | float16 | 100,000 | 0.3042 | 0.4791 | 0.64× | 158% | +|🟡| a - b (element-wise) (float16) | float16 | 10,000,000 | 31.1711 | 48.4343 | 0.64× | 155% | +|▫| a - b (element-wise) (float32) | float32 | 1,000 | 0.0006 | 0.0020 | 0.28× | 359% | +|🔴| a - b (element-wise) (float32) | float32 | 100,000 | 0.0069 | 0.0482 | 0.14× | 698% | +|✅| a - b (element-wise) (float32) | float32 | 10,000,000 | 8.6157 | 5.6899 | 1.51× | 66% | +|▫| a - b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0018 | 0.29× | 340% | +|🟠| a - b (element-wise) (float64) | float64 | 100,000 | 0.0331 | 0.1072 | 0.31× | 324% | +|✅| a - b (element-wise) (float64) | float64 | 10,000,000 | 21.1427 | 16.8826 | 1.25× | 80% | +|▫| a - b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0017 | 0.45× | 222% | +|✅| a - b (element-wise) (int16) | int16 | 100,000 | 0.0293 | 0.0250 | 1.17× | 85% | +|✅| a - b (element-wise) (int16) | int16 | 10,000,000 | 7.8362 | 3.1173 | 2.51× | 40% | +|▫| a - b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.40× | 253% | +|🟡| a - b (element-wise) (int32) | int32 | 100,000 | 0.0287 | 0.0524 | 0.55× | 182% | +|✅| a - b (element-wise) (int32) | int32 | 10,000,000 | 13.7810 | 6.3717 | 2.16× | 46% | +|▫| a - b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0028 | 0.27× | 367% | +|🟠| a - b (element-wise) (int64) | int64 | 100,000 | 0.0352 | 0.1044 | 0.34× | 297% | +|🟡| a - b (element-wise) (int64) | int64 | 10,000,000 | 16.8594 | 20.7569 | 0.81× | 123% | +|▫| a - b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0014 | 0.46× | 219% | +|✅| a - b (element-wise) (int8) | int8 | 100,000 | 0.0355 | 0.0155 | 2.29× | 44% | +|✅| a - b (element-wise) (int8) | int8 | 10,000,000 | 4.7577 | 1.7145 | 2.77× | 36% | +|▫| a - b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.45× | 222% | +|✅| a - b (element-wise) (uint16) | uint16 | 100,000 | 0.0299 | 0.0263 | 1.14× | 88% | +|✅| a - b (element-wise) (uint16) | uint16 | 10,000,000 | 8.2884 | 3.1096 | 2.67× | 38% | +|▫| a - b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0020 | 0.41× | 242% | +|🟡| a - b (element-wise) (uint32) | uint32 | 100,000 | 0.0294 | 0.0506 | 0.58× | 172% | +|✅| a - b (element-wise) (uint32) | uint32 | 10,000,000 | 10.8540 | 6.0006 | 1.81× | 55% | +|▫| a - b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0029 | 0.26× | 385% | +|🟠| a - b (element-wise) (uint64) | uint64 | 100,000 | 0.0385 | 0.1017 | 0.38× | 264% | +|🟡| a - b (element-wise) (uint64) | uint64 | 10,000,000 | 16.7811 | 20.9601 | 0.80× | 125% | +|▫| a - b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0015 | 0.45× | 224% | +|✅| a - b (element-wise) (uint8) | uint8 | 100,000 | 0.0288 | 0.0152 | 1.90× | 53% | +|✅| a - b (element-wise) (uint8) | uint8 | 10,000,000 | 5.0513 | 1.6363 | 3.09× | 32% | +|▫| a - scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0030 | 0.31× | 319% | +|✅| a - scalar (complex128) | complex128 | 100,000 | 0.3509 | 0.2223 | 1.58× | 63% | +|✅| a - scalar (complex128) | complex128 | 10,000,000 | 39.6368 | 25.1620 | 1.57× | 64% | +|✅| a - scalar (float16) | float16 | 1,000 | 0.0061 | 0.0052 | 1.18× | 85% | +|🟡| a - scalar (float16) | float16 | 100,000 | 0.2950 | 0.4792 | 0.62× | 162% | +|🟡| a - scalar (float16) | float16 | 10,000,000 | 31.0622 | 48.9935 | 0.63× | 158% | +|▫| a - scalar (float32) | float32 | 1,000 | 0.0007 | 0.0013 | 0.53× | 190% | +|🟠| a - scalar (float32) | float32 | 100,000 | 0.0070 | 0.0293 | 0.24× | 417% | +|✅| a - scalar (float32) | float32 | 10,000,000 | 8.0175 | 5.3684 | 1.49× | 67% | +|▫| a - scalar (float64) | float64 | 1,000 | 0.0006 | 0.0019 | 0.33× | 302% | +|🔴| a - scalar (float64) | float64 | 100,000 | 0.0118 | 0.0691 | 0.17× | 586% | +|✅| a - scalar (float64) | float64 | 10,000,000 | 19.9346 | 14.0728 | 1.42× | 71% | +|▫| a - scalar (int16) | int16 | 1,000 | 0.0009 | 0.0013 | 0.70× | 142% | +|✅| a - scalar (int16) | int16 | 100,000 | 0.0239 | 0.0141 | 1.70× | 59% | +|✅| a - scalar (int16) | int16 | 10,000,000 | 7.1495 | 2.7330 | 2.62× | 38% | +|▫| a - scalar (int32) | int32 | 1,000 | 0.0009 | 0.0016 | 0.58× | 173% | +|🟡| a - scalar (int32) | int32 | 100,000 | 0.0237 | 0.0278 | 0.85× | 117% | +|✅| a - scalar (int32) | int32 | 10,000,000 | 13.2645 | 5.2875 | 2.51× | 40% | +|▫| a - scalar (int64) | int64 | 1,000 | 0.0009 | 0.0015 | 0.62× | 162% | +|🟠| a - scalar (int64) | int64 | 100,000 | 0.0241 | 0.0677 | 0.36× | 280% | +|✅| a - scalar (int64) | int64 | 10,000,000 | 15.1015 | 14.4570 | 1.04× | 96% | +|▫| a - scalar (int8) | int8 | 1,000 | 0.0008 | 0.0011 | 0.68× | 147% | +|✅| a - scalar (int8) | int8 | 100,000 | 0.0319 | 0.0079 | 4.02× | 25% | +|✅| a - scalar (int8) | int8 | 10,000,000 | 4.4975 | 1.3821 | 3.25× | 31% | +|▫| a - scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0012 | 0.77× | 130% | +|✅| a - scalar (uint16) | uint16 | 100,000 | 0.0244 | 0.0148 | 1.65× | 61% | +|✅| a - scalar (uint16) | uint16 | 10,000,000 | 6.7651 | 2.6065 | 2.60× | 38% | +|🟡| a - scalar (uint32) | uint32 | 1,000 | 0.0011 | 0.0012 | 0.88× | 114% | +|🟡| a - scalar (uint32) | uint32 | 100,000 | 0.0233 | 0.0264 | 0.89× | 113% | +|✅| a - scalar (uint32) | uint32 | 10,000,000 | 10.2434 | 5.3189 | 1.93× | 52% | +|▫| a - scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0016 | 0.56× | 177% | +|🟠| a - scalar (uint64) | uint64 | 100,000 | 0.0241 | 0.0652 | 0.37× | 271% | +|✅| a - scalar (uint64) | uint64 | 10,000,000 | 15.1815 | 14.5668 | 1.04× | 96% | +|▫| a - scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0008 | 0.95× | 105% | +|✅| a - scalar (uint8) | uint8 | 100,000 | 0.0374 | 0.0079 | 4.71× | 21% | +|✅| a - scalar (uint8) | uint8 | 10,000,000 | 4.1241 | 1.3972 | 2.95× | 34% | +|▫| a / b (element-wise) (float32) | float32 | 1,000 | 0.0005 | 0.0023 | 0.22× | 458% | +|🟠| a / b (element-wise) (float32) | float32 | 100,000 | 0.0134 | 0.0623 | 0.21× | 466% | +|🟡| a / b (element-wise) (float32) | float32 | 10,000,000 | 8.4590 | 10.2825 | 0.82× | 122% | +|▫| a / b (element-wise) (float64) | float64 | 1,000 | 0.0007 | 0.0034 | 0.22× | 452% | +|🟠| a / b (element-wise) (float64) | float64 | 100,000 | 0.0382 | 0.1801 | 0.21× | 472% | +|🟡| a / b (element-wise) (float64) | float64 | 10,000,000 | 20.4780 | 25.4700 | 0.80× | 124% | +|🟠| a / b (element-wise) (int32) | int32 | 1,000 | 0.0024 | 0.0053 | 0.47× | 215% | +|🟠| a / b (element-wise) (int32) | int32 | 100,000 | 0.0909 | 0.1953 | 0.47× | 215% | +|✅| a / b (element-wise) (int32) | int32 | 10,000,000 | 31.1185 | 23.9718 | 1.30× | 77% | +|🟠| a / b (element-wise) (int64) | int64 | 1,000 | 0.0019 | 0.0055 | 0.35× | 289% | +|🟠| a / b (element-wise) (int64) | int64 | 100,000 | 0.0785 | 0.1896 | 0.41× | 242% | +|🟡| a / b (element-wise) (int64) | int64 | 10,000,000 | 24.7535 | 40.7339 | 0.61× | 165% | +|▫| a / scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.32× | 308% | +|🟠| a / scalar (float32) | float32 | 100,000 | 0.0123 | 0.0595 | 0.21× | 484% | +|🟡| a / scalar (float32) | float32 | 10,000,000 | 7.8511 | 8.8399 | 0.89× | 113% | +|▫| a / scalar (float64) | float64 | 1,000 | 0.0009 | 0.0034 | 0.27× | 376% | +|🟠| a / scalar (float64) | float64 | 100,000 | 0.0372 | 0.1696 | 0.22× | 456% | +|🟡| a / scalar (float64) | float64 | 10,000,000 | 19.0548 | 23.8037 | 0.80× | 125% | +|🟠| a / scalar (int32) | int32 | 1,000 | 0.0018 | 0.0041 | 0.43× | 234% | +|🟠| a / scalar (int32) | int32 | 100,000 | 0.0622 | 0.1883 | 0.33× | 302% | +|✅| a / scalar (int32) | int32 | 10,000,000 | 26.4799 | 23.0389 | 1.15× | 87% | +|🟠| a / scalar (int64) | int64 | 1,000 | 0.0017 | 0.0074 | 0.23× | 436% | +|🟠| a / scalar (int64) | int64 | 100,000 | 0.0575 | 0.1885 | 0.30× | 328% | +|🟡| a / scalar (int64) | int64 | 10,000,000 | 20.5211 | 29.8992 | 0.69× | 146% | +|▫| np.add(a, b) (complex128) | complex128 | 1,000 | 0.0008 | 0.0046 | 0.17× | 572% | +|🟡| np.add(a, b) (complex128) | complex128 | 100,000 | 0.3569 | 0.4892 | 0.73× | 137% | +|🟡| np.add(a, b) (complex128) | complex128 | 10,000,000 | 41.8396 | 58.6023 | 0.71× | 140% | +|🟡| np.add(a, b) (float16) | float16 | 1,000 | 0.0057 | 0.0088 | 0.65× | 155% | +|🟠| np.add(a, b) (float16) | float16 | 100,000 | 0.2995 | 0.8369 | 0.36× | 280% | +|🟠| np.add(a, b) (float16) | float16 | 10,000,000 | 31.2511 | 85.9844 | 0.36× | 275% | +|▫| np.add(a, b) (float32) | float32 | 1,000 | 0.0008 | 0.0019 | 0.41× | 245% | +|🔴| np.add(a, b) (float32) | float32 | 100,000 | 0.0068 | 0.0542 | 0.12× | 798% | +|🟡| np.add(a, b) (float32) | float32 | 10,000,000 | 8.6159 | 10.2348 | 0.84× | 119% | +|▫| np.add(a, b) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.21× | 475% | +|🟠| np.add(a, b) (float64) | float64 | 100,000 | 0.0287 | 0.1135 | 0.25× | 396% | +|🟡| np.add(a, b) (float64) | float64 | 10,000,000 | 23.3169 | 25.7561 | 0.91× | 110% | +|▫| np.add(a, b) (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51× | 196% | +|✅| np.add(a, b) (int16) | int16 | 100,000 | 0.0312 | 0.0273 | 1.14× | 87% | +|✅| np.add(a, b) (int16) | int16 | 10,000,000 | 7.8320 | 7.1303 | 1.10× | 91% | +|▫| np.add(a, b) (int32) | int32 | 1,000 | 0.0008 | 0.0019 | 0.42× | 238% | +|🟡| np.add(a, b) (int32) | int32 | 100,000 | 0.0299 | 0.0546 | 0.55× | 183% | +|✅| np.add(a, b) (int32) | int32 | 10,000,000 | 14.4326 | 12.7485 | 1.13× | 88% | +|▫| np.add(a, b) (int64) | int64 | 1,000 | 0.0008 | 0.0028 | 0.29× | 341% | +|🟠| np.add(a, b) (int64) | int64 | 100,000 | 0.0359 | 0.1337 | 0.27× | 372% | +|🟠| np.add(a, b) (int64) | int64 | 10,000,000 | 17.0171 | 34.3239 | 0.50× | 202% | +|▫| np.add(a, b) (int8) | int8 | 1,000 | 0.0007 | 0.0017 | 0.39× | 257% | +|✅| np.add(a, b) (int8) | int8 | 100,000 | 0.0293 | 0.0152 | 1.93× | 52% | +|✅| np.add(a, b) (int8) | int8 | 10,000,000 | 4.8360 | 3.1341 | 1.54× | 65% | +|▫| np.add(a, b) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.42× | 235% | +|🟡| np.add(a, b) (uint16) | uint16 | 100,000 | 0.0294 | 0.0296 | 0.99× | 101% | +|✅| np.add(a, b) (uint16) | uint16 | 10,000,000 | 8.1075 | 6.8350 | 1.19× | 84% | +|▫| np.add(a, b) (uint32) | uint32 | 1,000 | 0.0010 | 0.0019 | 0.51× | 195% | +|🟡| np.add(a, b) (uint32) | uint32 | 100,000 | 0.0324 | 0.0542 | 0.60× | 167% | +|✅| np.add(a, b) (uint32) | uint32 | 10,000,000 | 10.4639 | 9.8564 | 1.06× | 94% | +|▫| np.add(a, b) (uint64) | uint64 | 1,000 | 0.0008 | 0.0028 | 0.30× | 330% | +|🟠| np.add(a, b) (uint64) | uint64 | 100,000 | 0.0405 | 0.1101 | 0.37× | 272% | +|🟠| np.add(a, b) (uint64) | uint64 | 10,000,000 | 16.7988 | 34.5621 | 0.49× | 206% | +|▫| np.add(a, b) (uint8) | uint8 | 1,000 | 0.0007 | 0.0019 | 0.36× | 276% | +|✅| np.add(a, b) (uint8) | uint8 | 100,000 | 0.0287 | 0.0154 | 1.86× | 54% | +|✅| np.add(a, b) (uint8) | uint8 | 10,000,000 | 4.7543 | 3.2277 | 1.47× | 68% | +|▫| scalar - a (complex128) | complex128 | 1,000 | 0.0010 | 0.0027 | 0.36× | 280% | +|✅| scalar - a (complex128) | complex128 | 100,000 | 0.3545 | 0.2210 | 1.60× | 62% | +|✅| scalar - a (complex128) | complex128 | 10,000,000 | 37.5427 | 25.1481 | 1.49× | 67% | +|✅| scalar - a (float16) | float16 | 1,000 | 0.0054 | 0.0051 | 1.05× | 95% | +|🟡| scalar - a (float16) | float16 | 100,000 | 0.3008 | 0.4746 | 0.63× | 158% | +|🟡| scalar - a (float16) | float16 | 10,000,000 | 31.1065 | 47.0491 | 0.66× | 151% | +|▫| scalar - a (float32) | float32 | 1,000 | 0.0007 | 0.0014 | 0.52× | 191% | +|🟠| scalar - a (float32) | float32 | 100,000 | 0.0067 | 0.0325 | 0.20× | 487% | +|✅| scalar - a (float32) | float32 | 10,000,000 | 7.8766 | 5.3211 | 1.48× | 68% | +|▫| scalar - a (float64) | float64 | 1,000 | 0.0007 | 0.0020 | 0.33× | 300% | +|🟠| scalar - a (float64) | float64 | 100,000 | 0.0138 | 0.0582 | 0.24× | 422% | +|✅| scalar - a (float64) | float64 | 10,000,000 | 20.1742 | 14.0006 | 1.44× | 69% | +|▫| scalar - a (int16) | int16 | 1,000 | 0.0009 | 0.0012 | 0.78× | 128% | +|✅| scalar - a (int16) | int16 | 100,000 | 0.0243 | 0.0148 | 1.64× | 61% | +|✅| scalar - a (int16) | int16 | 10,000,000 | 7.1811 | 2.7354 | 2.62× | 38% | +|▫| scalar - a (int32) | int32 | 1,000 | 0.0009 | 0.0013 | 0.72× | 139% | +|🟡| scalar - a (int32) | int32 | 100,000 | 0.0240 | 0.0290 | 0.83× | 121% | +|✅| scalar - a (int32) | int32 | 10,000,000 | 13.3685 | 5.4031 | 2.47× | 40% | +|🟡| scalar - a (int64) | int64 | 1,000 | 0.0011 | 0.0018 | 0.63× | 159% | +|🟠| scalar - a (int64) | int64 | 100,000 | 0.0250 | 0.0667 | 0.38× | 267% | +|✅| scalar - a (int64) | int64 | 10,000,000 | 15.5954 | 14.9929 | 1.04× | 96% | +|▫| scalar - a (int8) | int8 | 1,000 | 0.0008 | 0.0009 | 0.90× | 111% | +|✅| scalar - a (int8) | int8 | 100,000 | 0.0254 | 0.0080 | 3.18× | 31% | +|✅| scalar - a (int8) | int8 | 10,000,000 | 4.5431 | 1.3785 | 3.30× | 30% | +|▫| scalar - a (uint16) | uint16 | 1,000 | 0.0009 | 0.0011 | 0.85× | 118% | +|✅| scalar - a (uint16) | uint16 | 100,000 | 0.0313 | 0.0147 | 2.12× | 47% | +|✅| scalar - a (uint16) | uint16 | 10,000,000 | 7.1706 | 2.6431 | 2.71× | 37% | +|▫| scalar - a (uint32) | uint32 | 1,000 | 0.0009 | 0.0012 | 0.80× | 124% | +|🟡| scalar - a (uint32) | uint32 | 100,000 | 0.0239 | 0.0299 | 0.80× | 125% | +|✅| scalar - a (uint32) | uint32 | 10,000,000 | 9.9808 | 5.3724 | 1.86× | 54% | +|▫| scalar - a (uint64) | uint64 | 1,000 | 0.0009 | 0.0018 | 0.51× | 198% | +|🟠| scalar - a (uint64) | uint64 | 100,000 | 0.0246 | 0.0594 | 0.41× | 242% | +|🟡| scalar - a (uint64) | uint64 | 10,000,000 | 14.8288 | 14.8342 | 1.00× | 100% | +|▫| scalar - a (uint8) | uint8 | 1,000 | 0.0008 | 0.0009 | 0.84× | 119% | +|✅| scalar - a (uint8) | uint8 | 100,000 | 0.0243 | 0.0082 | 2.98× | 34% | +|✅| scalar - a (uint8) | uint8 | 10,000,000 | 4.0556 | 1.4050 | 2.89× | 35% | +|▫| scalar / a (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.33× | 301% | +|🟠| scalar / a (float32) | float32 | 100,000 | 0.0127 | 0.0612 | 0.21× | 483% | +|✅| scalar / a (float32) | float32 | 10,000,000 | 7.9570 | 7.2244 | 1.10× | 91% | +|▫| scalar / a (float64) | float64 | 1,000 | 0.0009 | 0.0035 | 0.26× | 385% | +|🟠| scalar / a (float64) | float64 | 100,000 | 0.0372 | 0.1857 | 0.20× | 499% | +|🟡| scalar / a (float64) | float64 | 10,000,000 | 19.3997 | 22.5621 | 0.86× | 116% | +|🟠| scalar / a (int32) | int32 | 1,000 | 0.0018 | 0.0070 | 0.26× | 391% | +|🟠| scalar / a (int32) | int32 | 100,000 | 0.0638 | 0.1794 | 0.35× | 281% | +|🟡| scalar / a (int32) | int32 | 10,000,000 | 22.0961 | 25.4827 | 0.87× | 115% | +|🟠| scalar / a (int64) | int64 | 1,000 | 0.0018 | 0.0069 | 0.26× | 383% | +|🟠| scalar / a (int64) | int64 | 100,000 | 0.0627 | 0.1881 | 0.33× | 300% | +|🟡| scalar / a (int64) | int64 | 10,000,000 | 19.6435 | 30.8085 | 0.64× | 157% | ### Unary | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|▫| np.abs (float16) | float16 | 1,000 | 0.0008 | 0.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% | +|▫| np.abs (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.54× | 184% | +|✅| np.abs (float16) | float16 | 100,000 | 0.0264 | 0.0234 | 1.13× | 89% | +|✅| np.abs (float16) | float16 | 10,000,000 | 4.7982 | 2.9688 | 1.62× | 62% | +|▫| np.abs (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.34× | 291% | +|🔴| np.abs (float32) | float32 | 100,000 | 0.0064 | 0.0352 | 0.18× | 553% | +|✅| np.abs (float32) | float32 | 10,000,000 | 7.1189 | 4.2161 | 1.69× | 59% | +|▫| np.abs (float64) | float64 | 1,000 | 0.0006 | 0.0028 | 0.20× | 503% | +|🔴| np.abs (float64) | float64 | 100,000 | 0.0112 | 0.0686 | 0.16× | 612% | +|✅| np.abs (float64) | float64 | 10,000,000 | 14.6849 | 13.9245 | 1.05× | 95% | +|🟡| np.cbrt(a) (float16) | float16 | 1,000 | 0.0101 | 0.0111 | 0.91× | 110% | +|🟡| np.cbrt(a) (float16) | float16 | 100,000 | 1.1991 | 1.3766 | 0.87× | 115% | +|🟡| np.cbrt(a) (float16) | float16 | 10,000,000 | 121.4253 | 136.3973 | 0.89× | 112% | +|✅| np.cbrt(a) (float32) | float32 | 1,000 | 0.0066 | 0.0060 | 1.10× | 91% | +|✅| np.cbrt(a) (float32) | float32 | 100,000 | 0.8943 | 0.8882 | 1.01× | 99% | +|✅| np.cbrt(a) (float32) | float32 | 10,000,000 | 94.5195 | 86.5058 | 1.09× | 92% | +|✅| np.cbrt(a) (float64) | float64 | 1,000 | 0.0098 | 0.0093 | 1.05× | 95% | +|✅| np.cbrt(a) (float64) | float64 | 100,000 | 1.0970 | 1.0793 | 1.02× | 98% | +|✅| np.cbrt(a) (float64) | float64 | 10,000,000 | 115.3869 | 109.5524 | 1.05× | 95% | +|✅| np.ceil (float16) | float16 | 1,000 | 0.0050 | 0.0040 | 1.26× | 79% | +|✅| np.ceil (float16) | float16 | 100,000 | 0.4660 | 0.3448 | 1.35× | 74% | +|✅| np.ceil (float16) | float16 | 10,000,000 | 43.5339 | 33.7644 | 1.29× | 78% | +|▫| np.ceil (float32) | float32 | 1,000 | 0.0005 | 0.0014 | 0.38× | 263% | +|🟠| np.ceil (float32) | float32 | 100,000 | 0.0066 | 0.0305 | 0.22× | 460% | +|✅| np.ceil (float32) | float32 | 10,000,000 | 7.2732 | 4.4002 | 1.65× | 60% | +|🟠| np.ceil (float64) | float64 | 1,000 | 0.0014 | 0.0036 | 0.37× | 270% | +|🔴| np.ceil (float64) | float64 | 100,000 | 0.0120 | 0.0606 | 0.20× | 503% | +|🟡| np.ceil (float64) | float64 | 10,000,000 | 14.6298 | 16.0489 | 0.91× | 110% | +|✅| np.clip(a, -10, 10) (float16) | float16 | 1,000 | 0.0087 | 0.0059 | 1.47× | 68% | +|✅| np.clip(a, -10, 10) (float16) | float16 | 100,000 | 0.9296 | 0.7061 | 1.32× | 76% | +|✅| np.clip(a, -10, 10) (float16) | float16 | 10,000,000 | 93.7915 | 68.7791 | 1.36× | 73% | +|🟠| np.clip(a, -10, 10) (float32) | float32 | 1,000 | 0.0021 | 0.0064 | 0.32× | 308% | +|🟠| np.clip(a, -10, 10) (float32) | float32 | 100,000 | 0.0082 | 0.0345 | 0.24× | 421% | +|✅| np.clip(a, -10, 10) (float32) | float32 | 10,000,000 | 7.5158 | 4.1400 | 1.81× | 55% | +|🟠| np.clip(a, -10, 10) (float64) | float64 | 1,000 | 0.0019 | 0.0047 | 0.40× | 252% | +|🟠| np.clip(a, -10, 10) (float64) | float64 | 100,000 | 0.0166 | 0.0700 | 0.24× | 421% | +|✅| np.clip(a, -10, 10) (float64) | float64 | 10,000,000 | 18.6971 | 13.3810 | 1.40× | 72% | +|🟡| np.cos (float16) | float16 | 1,000 | 0.0051 | 0.0081 | 0.63× | 158% | +|🟡| np.cos (float16) | float16 | 100,000 | 0.7102 | 1.1049 | 0.64× | 156% | +|🟡| np.cos (float16) | float16 | 10,000,000 | 80.1757 | 109.6838 | 0.73× | 137% | +|✅| np.cos (float32) | float32 | 1,000 | 0.0051 | 0.0038 | 1.35× | 74% | +|🟡| np.cos (float32) | float32 | 100,000 | 0.7030 | 0.7111 | 0.99× | 101% | +|✅| np.cos (float32) | float32 | 10,000,000 | 82.6791 | 69.0830 | 1.20× | 84% | +|✅| np.cos (float64) | float64 | 1,000 | 0.0050 | 0.0040 | 1.22× | 82% | +|🟡| np.cos (float64) | float64 | 100,000 | 0.6990 | 0.7313 | 0.96× | 105% | +|✅| np.cos (float64) | float64 | 10,000,000 | 81.9906 | 77.3710 | 1.06× | 94% | +|🟡| np.exp (float16) | float16 | 1,000 | 0.0052 | 0.0066 | 0.79× | 127% | +|🟡| np.exp (float16) | float16 | 100,000 | 0.4392 | 0.6077 | 0.72× | 138% | +|🟡| np.exp (float16) | float16 | 10,000,000 | 44.3829 | 58.6632 | 0.76× | 132% | +|🔴| np.exp (float32) | float32 | 1,000 | 0.0010 | 0.0056 | 0.19× | 539% | +|🟠| np.exp (float32) | float32 | 100,000 | 0.0553 | 0.1841 | 0.30× | 333% | +|🟡| np.exp (float32) | float32 | 10,000,000 | 10.4285 | 17.6747 | 0.59× | 170% | +|🟡| np.exp (float64) | float64 | 1,000 | 0.0030 | 0.0040 | 0.75× | 134% | +|🟡| np.exp (float64) | float64 | 100,000 | 0.2581 | 0.2792 | 0.93× | 108% | +|✅| np.exp (float64) | float64 | 10,000,000 | 33.4427 | 31.7361 | 1.05× | 95% | +|🟠| np.exp2 (float16) | float16 | 1,000 | 0.0047 | 0.0099 | 0.48× | 210% | +|🟠| np.exp2 (float16) | float16 | 100,000 | 0.4598 | 0.9896 | 0.47× | 215% | +|🟠| np.exp2 (float16) | float16 | 10,000,000 | 48.1931 | 97.0656 | 0.50× | 201% | +|🟠| np.exp2 (float32) | float32 | 1,000 | 0.0022 | 0.0100 | 0.22× | 461% | +|🔴| np.exp2 (float32) | float32 | 100,000 | 0.1760 | 0.8987 | 0.20× | 511% | +|🟠| np.exp2 (float32) | float32 | 10,000,000 | 22.9673 | 90.4267 | 0.25× | 394% | +|🟠| np.exp2 (float64) | float64 | 1,000 | 0.0025 | 0.0096 | 0.26× | 389% | +|🟠| np.exp2 (float64) | float64 | 100,000 | 0.2137 | 0.8559 | 0.25× | 400% | +|🟠| np.exp2 (float64) | float64 | 10,000,000 | 37.0195 | 90.0413 | 0.41× | 243% | +|🟡| np.expm1 (float16) | float16 | 1,000 | 0.0058 | 0.0091 | 0.64× | 157% | +|🟡| np.expm1 (float16) | float16 | 100,000 | 0.5474 | 0.8722 | 0.63× | 159% | +|🟡| np.expm1 (float16) | float16 | 10,000,000 | 55.0439 | 85.4215 | 0.64× | 155% | +|🟡| np.expm1 (float32) | float32 | 1,000 | 0.0032 | 0.0046 | 0.70× | 142% | +|✅| np.expm1 (float32) | float32 | 100,000 | 0.2728 | 0.1902 | 1.43× | 70% | +|✅| np.expm1 (float32) | float32 | 10,000,000 | 31.7384 | 18.4160 | 1.72× | 58% | +|🟡| np.expm1 (float64) | float64 | 1,000 | 0.0038 | 0.0040 | 0.95× | 106% | +|✅| np.expm1 (float64) | float64 | 100,000 | 0.3590 | 0.2864 | 1.25× | 80% | +|✅| np.expm1 (float64) | float64 | 10,000,000 | 47.0453 | 33.2374 | 1.42× | 71% | +|✅| np.floor (float16) | float16 | 1,000 | 0.0051 | 0.0039 | 1.30× | 77% | +|✅| np.floor (float16) | float16 | 100,000 | 0.4407 | 0.3400 | 1.30× | 77% | +|✅| np.floor (float16) | float16 | 10,000,000 | 43.3912 | 33.7248 | 1.29× | 78% | +|▫| np.floor (float32) | float32 | 1,000 | 0.0006 | 0.0015 | 0.38× | 267% | +|🔴| np.floor (float32) | float32 | 100,000 | 0.0064 | 0.0319 | 0.20× | 501% | +|✅| np.floor (float32) | float32 | 10,000,000 | 7.3030 | 5.1858 | 1.41× | 71% | +|▫| np.floor (float64) | float64 | 1,000 | 0.0006 | 0.0032 | 0.17× | 575% | +|🟠| np.floor (float64) | float64 | 100,000 | 0.0151 | 0.0632 | 0.24× | 419% | +|🟡| np.floor (float64) | float64 | 10,000,000 | 14.8331 | 19.6220 | 0.76× | 132% | +|🟡| np.log (float16) | float16 | 1,000 | 0.0049 | 0.0069 | 0.71× | 141% | +|🟡| np.log (float16) | float16 | 100,000 | 0.4263 | 0.6316 | 0.68× | 148% | +|🟡| np.log (float16) | float16 | 10,000,000 | 46.0282 | 63.6713 | 0.72× | 138% | +|🟠| np.log (float32) | float32 | 1,000 | 0.0013 | 0.0051 | 0.26× | 384% | +|🟠| np.log (float32) | float32 | 100,000 | 0.0869 | 0.2148 | 0.40× | 247% | +|🟡| np.log (float32) | float32 | 10,000,000 | 13.1800 | 20.9525 | 0.63× | 159% | +|🟡| np.log (float64) | float64 | 1,000 | 0.0028 | 0.0038 | 0.73× | 136% | +|🟡| np.log (float64) | float64 | 100,000 | 0.2424 | 0.2668 | 0.91× | 110% | +|✅| np.log (float64) | float64 | 10,000,000 | 31.9128 | 30.1149 | 1.06× | 94% | +|🟡| np.log10 (float16) | float16 | 1,000 | 0.0052 | 0.0070 | 0.74× | 135% | +|🟡| np.log10 (float16) | float16 | 100,000 | 0.4465 | 0.6426 | 0.69× | 144% | +|🟡| np.log10 (float16) | float16 | 10,000,000 | 47.8418 | 62.9499 | 0.76× | 132% | +|🟡| np.log10 (float32) | float32 | 1,000 | 0.0035 | 0.0050 | 0.70× | 143% | +|🟡| np.log10 (float32) | float32 | 100,000 | 0.1985 | 0.2140 | 0.93× | 108% | +|✅| np.log10 (float32) | float32 | 10,000,000 | 23.5444 | 20.6616 | 1.14× | 88% | +|🟡| np.log10 (float64) | float64 | 1,000 | 0.0029 | 0.0040 | 0.73× | 138% | +|🟡| np.log10 (float64) | float64 | 100,000 | 0.2625 | 0.2698 | 0.97× | 103% | +|✅| np.log10 (float64) | float64 | 10,000,000 | 32.9855 | 30.7610 | 1.07× | 93% | +|🟡| np.log1p (float16) | float16 | 1,000 | 0.0062 | 0.0086 | 0.72× | 139% | +|🟡| np.log1p (float16) | float16 | 100,000 | 0.5885 | 0.7878 | 0.75× | 134% | +|🟡| np.log1p (float16) | float16 | 10,000,000 | 60.5869 | 77.8953 | 0.78× | 129% | +|🟡| np.log1p (float32) | float32 | 1,000 | 0.0039 | 0.0040 | 0.98× | 102% | +|✅| np.log1p (float32) | float32 | 100,000 | 0.3058 | 0.2337 | 1.31× | 76% | +|✅| np.log1p (float32) | float32 | 10,000,000 | 33.3514 | 22.3477 | 1.49× | 67% | +|✅| np.log1p (float64) | float64 | 1,000 | 0.0039 | 0.0033 | 1.19× | 84% | +|✅| np.log1p (float64) | float64 | 100,000 | 0.3412 | 0.2752 | 1.24× | 81% | +|✅| np.log1p (float64) | float64 | 10,000,000 | 48.2083 | 31.5835 | 1.53× | 66% | +|🟡| np.log2 (float16) | float16 | 1,000 | 0.0050 | 0.0070 | 0.72× | 139% | +|🟡| np.log2 (float16) | float16 | 100,000 | 0.4545 | 0.6414 | 0.71× | 141% | +|🟡| np.log2 (float16) | float16 | 10,000,000 | 48.9339 | 62.7084 | 0.78× | 128% | +|🟡| np.log2 (float32) | float32 | 1,000 | 0.0027 | 0.0052 | 0.51× | 195% | +|✅| np.log2 (float32) | float32 | 100,000 | 0.2008 | 0.2006 | 1.00× | 100% | +|✅| np.log2 (float32) | float32 | 10,000,000 | 23.4387 | 19.2540 | 1.22× | 82% | +|🟡| np.log2 (float64) | float64 | 1,000 | 0.0042 | 0.0044 | 0.95× | 106% | +|🟡| np.log2 (float64) | float64 | 100,000 | 0.3739 | 0.3882 | 0.96× | 104% | +|✅| np.log2 (float64) | float64 | 10,000,000 | 50.1019 | 42.1909 | 1.19× | 84% | +|▫| np.negative(a) (float16) | float16 | 1,000 | 0.0007 | 0.0014 | 0.54× | 185% | +|✅| np.negative(a) (float16) | float16 | 100,000 | 0.0278 | 0.0234 | 1.19× | 84% | +|✅| np.negative(a) (float16) | float16 | 10,000,000 | 4.7690 | 2.8837 | 1.65× | 60% | +|▫| np.negative(a) (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.35× | 289% | +|🟠| np.negative(a) (float32) | float32 | 100,000 | 0.0066 | 0.0261 | 0.25× | 394% | +|✅| np.negative(a) (float32) | float32 | 10,000,000 | 7.7826 | 4.1048 | 1.90× | 53% | +|▫| np.negative(a) (float64) | float64 | 1,000 | 0.0005 | 0.0036 | 0.15× | 679% | +|🟠| np.negative(a) (float64) | float64 | 100,000 | 0.0121 | 0.0539 | 0.22× | 447% | +|✅| np.negative(a) (float64) | float64 | 10,000,000 | 16.0651 | 13.8831 | 1.16× | 86% | +|▫| np.positive(a) (float16) | float16 | 1,000 | 0.0007 | 0.0010 | 0.69× | 144% | +|✅| np.positive(a) (float16) | float16 | 100,000 | 0.0217 | 0.0130 | 1.67× | 60% | +|✅| np.positive(a) (float16) | float16 | 10,000,000 | 4.2319 | 1.6180 | 2.62× | 38% | +|▫| np.positive(a) (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.32× | 310% | +|🟡| np.positive(a) (float32) | float32 | 100,000 | 0.0194 | 0.0250 | 0.78× | 129% | +|✅| np.positive(a) (float32) | float32 | 10,000,000 | 7.7620 | 3.3803 | 2.30× | 44% | +|▫| np.positive(a) (float64) | float64 | 1,000 | 0.0007 | 0.0028 | 0.24× | 409% | +|🟠| np.positive(a) (float64) | float64 | 100,000 | 0.0206 | 0.0520 | 0.40× | 252% | +|✅| np.positive(a) (float64) | float64 | 10,000,000 | 15.1241 | 10.8534 | 1.39× | 72% | +|✅| np.power(a, 0.5) (float16) | float16 | 1,000 | 0.0092 | 0.0057 | 1.62× | 62% | +|✅| np.power(a, 0.5) (float16) | float16 | 100,000 | 0.8324 | 0.3398 | 2.45× | 41% | +|✅| np.power(a, 0.5) (float16) | float16 | 10,000,000 | 84.2019 | 32.9557 | 2.56× | 39% | +|✅| np.power(a, 0.5) (float32) | float32 | 1,000 | 0.0020 | 0.0019 | 1.06× | 94% | +|✅| np.power(a, 0.5) (float32) | float32 | 100,000 | 0.1267 | 0.0285 | 4.45× | 22% | +|✅| np.power(a, 0.5) (float32) | float32 | 10,000,000 | 16.0019 | 4.1327 | 3.87× | 26% | +|🟡| np.power(a, 0.5) (float64) | float64 | 1,000 | 0.0018 | 0.0032 | 0.55× | 181% | +|✅| np.power(a, 0.5) (float64) | float64 | 100,000 | 0.1231 | 0.0638 | 1.93× | 52% | +|✅| np.power(a, 0.5) (float64) | float64 | 10,000,000 | 25.4013 | 13.6356 | 1.86× | 54% | +|✅| np.power(a, 2) (float16) | float16 | 1,000 | 0.0103 | 0.0054 | 1.90× | 53% | +|✅| np.power(a, 2) (float16) | float16 | 100,000 | 1.0690 | 0.4762 | 2.25× | 44% | +|✅| np.power(a, 2) (float16) | float16 | 10,000,000 | 106.8632 | 46.7294 | 2.29× | 44% | +|✅| np.power(a, 2) (float32) | float32 | 1,000 | 0.0024 | 0.0017 | 1.36× | 73% | +|✅| np.power(a, 2) (float32) | float32 | 100,000 | 0.1544 | 0.0283 | 5.46× | 18% | +|✅| np.power(a, 2) (float32) | float32 | 10,000,000 | 18.9400 | 4.1649 | 4.55× | 22% | +|🟡| np.power(a, 2) (float64) | float64 | 1,000 | 0.0022 | 0.0031 | 0.71× | 141% | +|✅| np.power(a, 2) (float64) | float64 | 100,000 | 0.1542 | 0.0590 | 2.62× | 38% | +|✅| np.power(a, 2) (float64) | float64 | 10,000,000 | 28.4405 | 13.5219 | 2.10× | 48% | +|🟡| np.power(a, 3) (float16) | float16 | 1,000 | 0.0126 | 0.0176 | 0.72× | 140% | +|🟡| np.power(a, 3) (float16) | float16 | 100,000 | 1.5343 | 2.4828 | 0.62× | 162% | +|🟡| np.power(a, 3) (float16) | float16 | 10,000,000 | 150.3564 | 250.3069 | 0.60× | 166% | +|🟡| np.power(a, 3) (float32) | float32 | 1,000 | 0.0059 | 0.0082 | 0.73× | 137% | +|🟡| np.power(a, 3) (float32) | float32 | 100,000 | 0.6578 | 0.6780 | 0.97× | 103% | +|✅| np.power(a, 3) (float32) | float32 | 10,000,000 | 72.0628 | 66.4589 | 1.08× | 92% | +|🟡| np.power(a, 3) (float64) | float64 | 1,000 | 0.0098 | 0.0121 | 0.81× | 123% | +|🟡| np.power(a, 3) (float64) | float64 | 100,000 | 1.0724 | 1.0959 | 0.98× | 102% | +|✅| np.power(a, 3) (float64) | float64 | 10,000,000 | 124.6532 | 111.9286 | 1.11× | 90% | +|🟡| np.reciprocal(a) (float16) | float16 | 1,000 | 0.0036 | 0.0045 | 0.79× | 127% | +|🟡| np.reciprocal(a) (float16) | float16 | 100,000 | 0.2193 | 0.4080 | 0.54× | 186% | +|🟡| np.reciprocal(a) (float16) | float16 | 10,000,000 | 23.1324 | 40.0357 | 0.58× | 173% | +|▫| np.reciprocal(a) (float32) | float32 | 1,000 | 0.0006 | 0.0014 | 0.44× | 225% | +|🟡| np.reciprocal(a) (float32) | float32 | 100,000 | 0.0143 | 0.0263 | 0.54× | 184% | +|✅| np.reciprocal(a) (float32) | float32 | 10,000,000 | 7.1620 | 4.0578 | 1.76× | 57% | +|▫| np.reciprocal(a) (float64) | float64 | 1,000 | 0.0008 | 0.0019 | 0.42× | 237% | +|🟡| np.reciprocal(a) (float64) | float64 | 100,000 | 0.0421 | 0.0535 | 0.79× | 127% | +|✅| np.reciprocal(a) (float64) | float64 | 10,000,000 | 14.7266 | 13.7636 | 1.07× | 94% | +|✅| np.round (float16) | float16 | 1,000 | 0.0058 | 0.0046 | 1.24× | 81% | +|✅| np.round (float16) | float16 | 100,000 | 0.4702 | 0.4240 | 1.11× | 90% | +|✅| np.round (float16) | float16 | 10,000,000 | 42.8027 | 40.9331 | 1.05× | 96% | +|🟡| np.round (float32) | float32 | 1,000 | 0.0011 | 0.0015 | 0.73× | 136% | +|🟠| np.round (float32) | float32 | 100,000 | 0.0070 | 0.0281 | 0.25× | 403% | +|✅| np.round (float32) | float32 | 10,000,000 | 7.3586 | 4.6823 | 1.57× | 64% | +|🟠| np.round (float64) | float64 | 1,000 | 0.0012 | 0.0024 | 0.49× | 204% | +|🟠| np.round (float64) | float64 | 100,000 | 0.0128 | 0.0572 | 0.22× | 447% | +|🟡| np.round (float64) | float64 | 10,000,000 | 15.0627 | 15.7393 | 0.96× | 104% | +|🟠| np.sign (float16) | float16 | 1,000 | 0.0014 | 0.0042 | 0.33× | 304% | +|🔴| np.sign (float16) | float16 | 100,000 | 0.0887 | 0.6603 | 0.13× | 744% | +|🔴| np.sign (float16) | float16 | 10,000,000 | 10.5588 | 63.8912 | 0.17× | 605% | +|🟠| np.sign (float32) | float32 | 1,000 | 0.0011 | 0.0038 | 0.29× | 339% | +|🟡| np.sign (float32) | float32 | 100,000 | 0.2971 | 0.4006 | 0.74× | 135% | +|🟡| np.sign (float32) | float32 | 10,000,000 | 36.0421 | 39.7051 | 0.91× | 110% | +|🟠| np.sign (float64) | float64 | 1,000 | 0.0010 | 0.0047 | 0.22× | 448% | +|🟡| np.sign (float64) | float64 | 100,000 | 0.2936 | 0.4000 | 0.73× | 136% | +|🟡| np.sign (float64) | float64 | 10,000,000 | 40.6151 | 45.1700 | 0.90× | 111% | +|🟡| np.sin (float16) | float16 | 1,000 | 0.0057 | 0.0080 | 0.72× | 139% | +|🟡| np.sin (float16) | float16 | 100,000 | 0.7108 | 1.1057 | 0.64× | 156% | +|🟡| np.sin (float16) | float16 | 10,000,000 | 79.6291 | 110.4160 | 0.72× | 139% | +|✅| np.sin (float32) | float32 | 1,000 | 0.0060 | 0.0038 | 1.57× | 64% | +|✅| np.sin (float32) | float32 | 100,000 | 0.7167 | 0.7077 | 1.01× | 99% | +|✅| np.sin (float32) | float32 | 10,000,000 | 80.7643 | 70.4978 | 1.15× | 87% | +|✅| np.sin (float64) | float64 | 1,000 | 0.0049 | 0.0040 | 1.22× | 82% | +|🟡| np.sin (float64) | float64 | 100,000 | 0.7140 | 0.7415 | 0.96× | 104% | +|✅| np.sin (float64) | float64 | 10,000,000 | 82.0560 | 78.2388 | 1.05× | 95% | +|✅| np.sqrt (float16) | float16 | 1,000 | 0.0046 | 0.0039 | 1.18× | 85% | +|✅| np.sqrt (float16) | float16 | 100,000 | 0.4264 | 0.3413 | 1.25× | 80% | +|✅| np.sqrt (float16) | float16 | 10,000,000 | 40.8006 | 33.6967 | 1.21× | 83% | +|▫| np.sqrt (float32) | float32 | 1,000 | 0.0006 | 0.0015 | 0.42× | 238% | +|🟡| np.sqrt (float32) | float32 | 100,000 | 0.0149 | 0.0291 | 0.51× | 195% | +|✅| np.sqrt (float32) | float32 | 10,000,000 | 7.0955 | 4.2557 | 1.67× | 60% | +|🟠| np.sqrt (float64) | float64 | 1,000 | 0.0012 | 0.0025 | 0.47× | 214% | +|🟡| np.sqrt (float64) | float64 | 100,000 | 0.0557 | 0.0656 | 0.85× | 118% | +|✅| np.sqrt (float64) | float64 | 10,000,000 | 15.1785 | 13.7551 | 1.10× | 91% | +|🟡| np.square(a) (float16) | float16 | 1,000 | 0.0034 | 0.0048 | 0.71× | 141% | +|🟠| np.square(a) (float16) | float16 | 100,000 | 0.2122 | 0.4399 | 0.48× | 207% | +|🟡| np.square(a) (float16) | float16 | 10,000,000 | 23.1199 | 42.7721 | 0.54× | 185% | +|▫| np.square(a) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.39× | 258% | +|🟠| np.square(a) (float32) | float32 | 100,000 | 0.0058 | 0.0262 | 0.22× | 448% | +|✅| np.square(a) (float32) | float32 | 10,000,000 | 7.1833 | 4.0587 | 1.77× | 56% | +|▫| np.square(a) (float64) | float64 | 1,000 | 0.0005 | 0.0030 | 0.17× | 596% | +|🟠| np.square(a) (float64) | float64 | 100,000 | 0.0122 | 0.0533 | 0.23× | 436% | +|✅| np.square(a) (float64) | float64 | 10,000,000 | 14.9158 | 13.8405 | 1.08× | 93% | +|🟡| np.tan (float16) | float16 | 1,000 | 0.0045 | 0.0083 | 0.55× | 183% | +|🟡| np.tan (float16) | float16 | 100,000 | 0.8245 | 1.1120 | 0.74× | 135% | +|🟡| np.tan (float16) | float16 | 10,000,000 | 92.5062 | 110.2014 | 0.84× | 119% | +|✅| np.tan (float32) | float32 | 1,000 | 0.0047 | 0.0038 | 1.24× | 81% | +|✅| np.tan (float32) | float32 | 100,000 | 0.8414 | 0.6851 | 1.23× | 81% | +|✅| np.tan (float32) | float32 | 10,000,000 | 92.7529 | 67.5651 | 1.37× | 73% | +|🟡| np.tan (float64) | float64 | 1,000 | 0.0050 | 0.0050 | 0.99× | 101% | +|🟡| np.tan (float64) | float64 | 100,000 | 0.8055 | 0.8447 | 0.95× | 105% | +|✅| np.tan (float64) | float64 | 10,000,000 | 94.5311 | 88.7915 | 1.06× | 94% | +|✅| np.trunc(a) (float16) | float16 | 1,000 | 0.0054 | 0.0038 | 1.40× | 71% | +|✅| np.trunc(a) (float16) | float16 | 100,000 | 0.4827 | 0.3346 | 1.44× | 69% | +|✅| np.trunc(a) (float16) | float16 | 10,000,000 | 42.0396 | 32.4934 | 1.29× | 77% | +|▫| np.trunc(a) (float32) | float32 | 1,000 | 0.0005 | 0.0016 | 0.34× | 290% | +|🟠| np.trunc(a) (float32) | float32 | 100,000 | 0.0058 | 0.0257 | 0.22× | 445% | +|✅| np.trunc(a) (float32) | float32 | 10,000,000 | 7.1817 | 4.0632 | 1.77× | 57% | +|▫| np.trunc(a) (float64) | float64 | 1,000 | 0.0005 | 0.0020 | 0.27× | 373% | +|🟠| np.trunc(a) (float64) | float64 | 100,000 | 0.0115 | 0.0513 | 0.22× | 446% | +|✅| np.trunc(a) (float64) | float64 | 10,000,000 | 14.6674 | 13.6305 | 1.08× | 93% | ### Reduction | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|✅| np.amax (complex128) | complex128 | 1,000 | 0.0030 | 0.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.amax (complex128) | complex128 | 1,000 | 0.0030 | 0.0018 | 1.64× | 61% | +|✅| np.amax (complex128) | complex128 | 100,000 | 0.1573 | 0.1142 | 1.38× | 73% | +|✅| np.amax (complex128) | complex128 | 10,000,000 | 16.6240 | 13.6265 | 1.22× | 82% | +|✅| np.amax (float16) | float16 | 1,000 | 0.0037 | 0.0011 | 3.48× | 29% | +|✅| np.amax (float16) | float16 | 100,000 | 0.5066 | 0.3200 | 1.58× | 63% | +|✅| np.amax (float16) | float16 | 10,000,000 | 50.6659 | 33.1861 | 1.53× | 66% | +|▫| np.amax (float32) | float32 | 1,000 | 0.0017 | 0.0006 | 2.73× | 37% | +|✅| np.amax (float32) | float32 | 100,000 | 0.0059 | 0.0038 | 1.54× | 65% | +|✅| np.amax (float32) | float32 | 10,000,000 | 1.5947 | 1.2905 | 1.24× | 81% | +|▫| np.amax (float64) | float64 | 1,000 | 0.0018 | 0.0008 | 2.34× | 43% | +|✅| np.amax (float64) | float64 | 100,000 | 0.0099 | 0.0062 | 1.60× | 62% | +|✅| np.amax (float64) | float64 | 10,000,000 | 3.3475 | 3.2005 | 1.05× | 96% | +|▫| np.amax (int16) | int16 | 1,000 | 0.0015 | 0.0007 | 2.14× | 47% | +|✅| np.amax (int16) | int16 | 100,000 | 0.0031 | 0.0015 | 2.04× | 49% | +|✅| np.amax (int16) | int16 | 10,000,000 | 0.4359 | 0.3359 | 1.30× | 77% | +|▫| np.amax (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.28× | 44% | +|✅| np.amax (int32) | int32 | 100,000 | 0.0044 | 0.0023 | 1.94× | 52% | +|✅| np.amax (int32) | int32 | 10,000,000 | 1.2908 | 1.0195 | 1.27× | 79% | +|▫| np.amax (int64) | int64 | 1,000 | 0.0017 | 0.0006 | 2.62× | 38% | +|✅| np.amax (int64) | int64 | 100,000 | 0.0089 | 0.0078 | 1.14× | 88% | +|🟡| np.amax (int64) | int64 | 10,000,000 | 3.4074 | 3.5508 | 0.96× | 104% | +|▫| np.amax (int8) | int8 | 1,000 | 0.0016 | 0.0007 | 2.08× | 48% | +|✅| np.amax (int8) | int8 | 100,000 | 0.0024 | 0.0012 | 2.00× | 50% | +|✅| np.amax (int8) | int8 | 10,000,000 | 0.1508 | 0.1463 | 1.03× | 97% | +|▫| np.amax (uint16) | uint16 | 1,000 | 0.0016 | 0.0008 | 2.12× | 47% | +|✅| np.amax (uint16) | uint16 | 100,000 | 0.0032 | 0.0015 | 2.13× | 47% | +|🟡| np.amax (uint16) | uint16 | 10,000,000 | 0.2938 | 0.3342 | 0.88× | 114% | +|▫| np.amax (uint32) | uint32 | 1,000 | 0.0016 | 0.0007 | 2.21× | 45% | +|✅| np.amax (uint32) | uint32 | 100,000 | 0.0049 | 0.0032 | 1.53× | 65% | +|✅| np.amax (uint32) | uint32 | 10,000,000 | 1.4205 | 1.0043 | 1.41× | 71% | +|▫| np.amax (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.14× | 47% | +|✅| np.amax (uint64) | uint64 | 100,000 | 0.0129 | 0.0100 | 1.29× | 78% | +|🟡| np.amax (uint64) | uint64 | 10,000,000 | 3.6692 | 3.6868 | 0.99× | 100% | +|▫| np.amax (uint8) | uint8 | 1,000 | 0.0016 | 0.0008 | 2.06× | 49% | +|✅| np.amax (uint8) | uint8 | 100,000 | 0.0024 | 0.0012 | 2.06× | 49% | +|🟡| np.amax (uint8) | uint8 | 10,000,000 | 0.1351 | 0.1468 | 0.92× | 109% | +|✅| np.amax axis=0 (complex128) | complex128 | 1,000 | 0.0030 | 0.0030 | 1.00× | 100% | +|✅| np.amax axis=0 (complex128) | complex128 | 100,000 | 0.1550 | 0.1176 | 1.32× | 76% | +|✅| np.amax axis=0 (complex128) | complex128 | 10,000,000 | 16.0042 | 13.0433 | 1.23× | 82% | +|✅| np.amax axis=0 (float16) | float16 | 1,000 | 0.0042 | 0.0019 | 2.18× | 46% | +|✅| np.amax axis=0 (float16) | float16 | 100,000 | 0.5075 | 0.5048 | 1.00× | 100% | +|🟡| np.amax axis=0 (float16) | float16 | 10,000,000 | 49.7420 | 78.1538 | 0.64× | 157% | +|▫| np.amax axis=0 (float32) | float32 | 1,000 | 0.0021 | 0.0008 | 2.66× | 38% | +|🟡| np.amax axis=0 (float32) | float32 | 100,000 | 0.0091 | 0.0100 | 0.92× | 109% | +|🟡| np.amax axis=0 (float32) | float32 | 10,000,000 | 1.6926 | 1.8598 | 0.91× | 110% | +|▫| np.amax axis=0 (float64) | float64 | 1,000 | 0.0021 | 0.0009 | 2.33× | 43% | +|🟡| np.amax axis=0 (float64) | float64 | 100,000 | 0.0145 | 0.0175 | 0.83× | 120% | +|🟡| np.amax axis=0 (float64) | float64 | 10,000,000 | 3.9104 | 4.2597 | 0.92× | 109% | +|▫| np.amax axis=0 (int16) | int16 | 1,000 | 0.0020 | 0.0007 | 2.94× | 34% | +|✅| np.amax axis=0 (int16) | int16 | 100,000 | 0.0063 | 0.0037 | 1.73× | 58% | +|✅| np.amax axis=0 (int16) | int16 | 10,000,000 | 0.5073 | 0.3767 | 1.35× | 74% | +|▫| np.amax axis=0 (int32) | int32 | 1,000 | 0.0020 | 0.0007 | 2.84× | 35% | +|✅| np.amax axis=0 (int32) | int32 | 100,000 | 0.0082 | 0.0055 | 1.48× | 67% | +|✅| np.amax axis=0 (int32) | int32 | 10,000,000 | 1.7469 | 1.3193 | 1.32× | 76% | +|▫| np.amax axis=0 (int64) | int64 | 1,000 | 0.0021 | 0.0008 | 2.62× | 38% | +|✅| np.amax axis=0 (int64) | int64 | 100,000 | 0.0153 | 0.0118 | 1.30× | 77% | +|✅| np.amax axis=0 (int64) | int64 | 10,000,000 | 4.1410 | 3.6647 | 1.13× | 88% | +|▫| np.amax axis=0 (int8) | int8 | 1,000 | 0.0020 | 0.0007 | 2.79× | 36% | +|✅| np.amax axis=0 (int8) | int8 | 100,000 | 0.0076 | 0.0039 | 1.96× | 51% | +|✅| np.amax axis=0 (int8) | int8 | 10,000,000 | 0.3964 | 0.1724 | 2.30× | 44% | +|▫| np.amax axis=0 (uint16) | uint16 | 1,000 | 0.0020 | 0.0007 | 2.97× | 34% | +|✅| np.amax axis=0 (uint16) | uint16 | 100,000 | 0.0065 | 0.0036 | 1.79× | 56% | +|✅| np.amax axis=0 (uint16) | uint16 | 10,000,000 | 0.4804 | 0.3808 | 1.26× | 79% | +|▫| np.amax axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.81× | 36% | +|✅| np.amax axis=0 (uint32) | uint32 | 100,000 | 0.0082 | 0.0055 | 1.49× | 67% | +|✅| np.amax axis=0 (uint32) | uint32 | 10,000,000 | 1.6177 | 1.2662 | 1.28× | 78% | +|▫| np.amax axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0009 | 2.24× | 45% | +|✅| np.amax axis=0 (uint64) | uint64 | 100,000 | 0.0185 | 0.0138 | 1.34× | 74% | +|✅| np.amax axis=0 (uint64) | uint64 | 10,000,000 | 4.3907 | 3.8229 | 1.15× | 87% | +|▫| np.amax axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.85× | 35% | +|✅| np.amax axis=0 (uint8) | uint8 | 100,000 | 0.0081 | 0.0031 | 2.65× | 38% | +|✅| np.amax axis=0 (uint8) | uint8 | 10,000,000 | 0.2207 | 0.1718 | 1.28× | 78% | +|✅| np.amin (complex128) | complex128 | 1,000 | 0.0031 | 0.0016 | 1.93× | 52% | +|✅| np.amin (complex128) | complex128 | 100,000 | 0.1527 | 0.1141 | 1.34× | 75% | +|✅| np.amin (complex128) | complex128 | 10,000,000 | 16.4378 | 13.5639 | 1.21× | 82% | +|✅| np.amin (float16) | float16 | 1,000 | 0.0041 | 0.0012 | 3.53× | 28% | +|✅| np.amin (float16) | float16 | 100,000 | 0.5120 | 0.3020 | 1.70× | 59% | +|✅| np.amin (float16) | float16 | 10,000,000 | 51.8815 | 31.4161 | 1.65× | 61% | +|▫| np.amin (float32) | float32 | 1,000 | 0.0023 | 0.0008 | 2.97× | 34% | +|✅| np.amin (float32) | float32 | 100,000 | 0.0058 | 0.0035 | 1.68× | 60% | +|✅| np.amin (float32) | float32 | 10,000,000 | 1.4447 | 1.3328 | 1.08× | 92% | +|▫| np.amin (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.21× | 45% | +|✅| np.amin (float64) | float64 | 100,000 | 0.0104 | 0.0073 | 1.42× | 70% | +|✅| np.amin (float64) | float64 | 10,000,000 | 3.3498 | 3.2187 | 1.04× | 96% | +|▫| np.amin (int16) | int16 | 1,000 | 0.0016 | 0.0007 | 2.27× | 44% | +|✅| np.amin (int16) | int16 | 100,000 | 0.0035 | 0.0015 | 2.34× | 43% | +|✅| np.amin (int16) | int16 | 10,000,000 | 0.7445 | 0.3330 | 2.24× | 45% | +|▫| np.amin (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.25× | 44% | +|✅| np.amin (int32) | int32 | 100,000 | 0.0045 | 0.0023 | 1.98× | 50% | +|✅| np.amin (int32) | int32 | 10,000,000 | 1.2150 | 1.0174 | 1.19× | 84% | +|▫| np.amin (int64) | int64 | 1,000 | 0.0017 | 0.0008 | 2.13× | 47% | +|✅| np.amin (int64) | int64 | 100,000 | 0.0106 | 0.0074 | 1.44× | 70% | +|🟡| np.amin (int64) | int64 | 10,000,000 | 3.3282 | 3.5000 | 0.95× | 105% | +|▫| np.amin (int8) | int8 | 1,000 | 0.0017 | 0.0007 | 2.30× | 44% | +|✅| np.amin (int8) | int8 | 100,000 | 0.0028 | 0.0012 | 2.38× | 42% | +|🟡| np.amin (int8) | int8 | 10,000,000 | 0.1435 | 0.1467 | 0.98× | 102% | +|▫| np.amin (uint16) | uint16 | 1,000 | 0.0016 | 0.0007 | 2.16× | 46% | +|✅| np.amin (uint16) | uint16 | 100,000 | 0.0033 | 0.0015 | 2.21× | 45% | +|🟡| np.amin (uint16) | uint16 | 10,000,000 | 0.3225 | 0.3309 | 0.97× | 103% | +|▫| np.amin (uint32) | uint32 | 1,000 | 0.0016 | 0.0007 | 2.30× | 44% | +|✅| np.amin (uint32) | uint32 | 100,000 | 0.0044 | 0.0032 | 1.36× | 74% | +|✅| np.amin (uint32) | uint32 | 10,000,000 | 1.0859 | 1.0190 | 1.07× | 94% | +|▫| np.amin (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.12× | 47% | +|✅| np.amin (uint64) | uint64 | 100,000 | 0.0126 | 0.0097 | 1.29× | 77% | +|🟡| np.amin (uint64) | uint64 | 10,000,000 | 3.6037 | 3.7516 | 0.96× | 104% | +|▫| np.amin (uint8) | uint8 | 1,000 | 0.0016 | 0.0007 | 2.26× | 44% | +|✅| np.amin (uint8) | uint8 | 100,000 | 0.0028 | 0.0012 | 2.41× | 42% | +|🟡| np.amin (uint8) | uint8 | 10,000,000 | 0.1350 | 0.1465 | 0.92× | 108% | +|🟡| np.amin axis=0 (complex128) | complex128 | 1,000 | 0.0029 | 0.0030 | 0.99× | 101% | +|🟡| np.amin axis=0 (complex128) | complex128 | 100,000 | 0.1409 | 0.1480 | 0.95× | 105% | +|✅| np.amin axis=0 (complex128) | complex128 | 10,000,000 | 15.7182 | 15.2730 | 1.03× | 97% | +|✅| np.amin axis=0 (float16) | float16 | 1,000 | 0.0040 | 0.0019 | 2.11× | 47% | +|🟡| np.amin axis=0 (float16) | float16 | 100,000 | 0.4771 | 0.5006 | 0.95× | 105% | +|🟡| np.amin axis=0 (float16) | float16 | 10,000,000 | 47.3591 | 77.6081 | 0.61× | 164% | +|▫| np.amin axis=0 (float32) | float32 | 1,000 | 0.0021 | 0.0008 | 2.67× | 37% | +|✅| np.amin axis=0 (float32) | float32 | 100,000 | 0.0116 | 0.0098 | 1.18× | 85% | +|🟡| np.amin axis=0 (float32) | float32 | 10,000,000 | 1.7252 | 1.8255 | 0.94× | 106% | +|▫| np.amin axis=0 (float64) | float64 | 1,000 | 0.0021 | 0.0009 | 2.41× | 42% | +|🟡| np.amin axis=0 (float64) | float64 | 100,000 | 0.0157 | 0.0165 | 0.95× | 105% | +|🟡| np.amin axis=0 (float64) | float64 | 10,000,000 | 4.0124 | 4.1873 | 0.96× | 104% | +|▫| np.amin axis=0 (int16) | int16 | 1,000 | 0.0020 | 0.0007 | 2.90× | 34% | +|✅| np.amin axis=0 (int16) | int16 | 100,000 | 0.0065 | 0.0037 | 1.74× | 58% | +|✅| np.amin axis=0 (int16) | int16 | 10,000,000 | 0.5065 | 0.3754 | 1.35× | 74% | +|▫| np.amin axis=0 (int32) | int32 | 1,000 | 0.0023 | 0.0007 | 3.32× | 30% | +|✅| np.amin axis=0 (int32) | int32 | 100,000 | 0.0088 | 0.0055 | 1.60× | 62% | +|✅| np.amin axis=0 (int32) | int32 | 10,000,000 | 2.0366 | 1.2825 | 1.59× | 63% | +|▫| np.amin axis=0 (int64) | int64 | 1,000 | 0.0027 | 0.0008 | 3.32× | 30% | +|✅| np.amin axis=0 (int64) | int64 | 100,000 | 0.0193 | 0.0118 | 1.63× | 61% | +|✅| np.amin axis=0 (int64) | int64 | 10,000,000 | 4.3888 | 3.6438 | 1.20× | 83% | +|▫| np.amin axis=0 (int8) | int8 | 1,000 | 0.0019 | 0.0006 | 2.99× | 33% | +|✅| np.amin axis=0 (int8) | int8 | 100,000 | 0.0077 | 0.0041 | 1.88× | 53% | +|✅| np.amin axis=0 (int8) | int8 | 10,000,000 | 0.2767 | 0.1726 | 1.60× | 62% | +|▫| np.amin axis=0 (uint16) | uint16 | 1,000 | 0.0020 | 0.0007 | 2.98× | 34% | +|✅| np.amin axis=0 (uint16) | uint16 | 100,000 | 0.0065 | 0.0036 | 1.79× | 56% | +|✅| np.amin axis=0 (uint16) | uint16 | 10,000,000 | 0.4421 | 0.3803 | 1.16× | 86% | +|▫| np.amin axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.77× | 36% | +|✅| np.amin axis=0 (uint32) | uint32 | 100,000 | 0.0084 | 0.0055 | 1.53× | 65% | +|✅| np.amin axis=0 (uint32) | uint32 | 10,000,000 | 1.8904 | 1.2875 | 1.47× | 68% | +|▫| np.amin axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0008 | 2.38× | 42% | +|✅| np.amin axis=0 (uint64) | uint64 | 100,000 | 0.0177 | 0.0137 | 1.29× | 77% | +|✅| np.amin axis=0 (uint64) | uint64 | 10,000,000 | 4.4047 | 3.8707 | 1.14× | 88% | +|▫| np.amin axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.86× | 35% | +|✅| np.amin axis=0 (uint8) | uint8 | 100,000 | 0.0076 | 0.0051 | 1.49× | 67% | +|✅| np.amin axis=0 (uint8) | uint8 | 10,000,000 | 0.2090 | 0.1721 | 1.22× | 82% | +|✅| np.argmax (complex128) | complex128 | 1,000 | 0.0020 | 0.0018 | 1.14× | 88% | +|🟡| np.argmax (complex128) | complex128 | 100,000 | 0.1132 | 0.1141 | 0.99× | 101% | +|✅| np.argmax (complex128) | complex128 | 10,000,000 | 14.1968 | 13.5590 | 1.05× | 96% | +|✅| np.argmax (float16) | float16 | 1,000 | 0.0029 | 0.0021 | 1.41× | 71% | +|✅| np.argmax (float16) | float16 | 100,000 | 0.4331 | 0.1412 | 3.07× | 33% | +|✅| np.argmax (float16) | float16 | 10,000,000 | 43.8538 | 14.1652 | 3.10× | 32% | +|▫| np.argmax (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.78× | 129% | +|🔴| np.argmax (float32) | float32 | 100,000 | 0.0087 | 0.0564 | 0.15× | 648% | +|🟠| np.argmax (float32) | float32 | 10,000,000 | 2.3137 | 5.7594 | 0.40× | 249% | +|▫| np.argmax (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.82× | 122% | +|🟠| np.argmax (float64) | float64 | 100,000 | 0.0193 | 0.0568 | 0.34× | 294% | +|🟡| np.argmax (float64) | float64 | 10,000,000 | 4.1180 | 6.8003 | 0.61× | 165% | +|▫| np.argmax (int16) | int16 | 1,000 | 0.0009 | 0.0007 | 1.23× | 82% | +|✅| np.argmax (int16) | int16 | 100,000 | 0.0034 | 0.0017 | 2.02× | 50% | +|✅| np.argmax (int16) | int16 | 10,000,000 | 0.6951 | 0.3548 | 1.96× | 51% | +|▫| np.argmax (int32) | int32 | 1,000 | 0.0009 | 0.0007 | 1.23× | 82% | +|✅| np.argmax (int32) | int32 | 100,000 | 0.0056 | 0.0027 | 2.10× | 48% | +|✅| np.argmax (int32) | int32 | 10,000,000 | 1.8979 | 1.2026 | 1.58× | 63% | +|▫| np.argmax (int64) | int64 | 1,000 | 0.0010 | 0.0009 | 1.11× | 90% | +|🟡| np.argmax (int64) | int64 | 100,000 | 0.0146 | 0.0284 | 0.51× | 195% | +|🟡| np.argmax (int64) | int64 | 10,000,000 | 4.1056 | 4.5513 | 0.90× | 111% | +|▫| np.argmax (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.25× | 80% | +|✅| np.argmax (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.88× | 53% | +|✅| np.argmax (int8) | int8 | 10,000,000 | 0.1717 | 0.1469 | 1.17× | 86% | +|▫| np.argmax (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.27× | 79% | +|✅| np.argmax (uint16) | uint16 | 100,000 | 0.0049 | 0.0017 | 2.96× | 34% | +|✅| np.argmax (uint16) | uint16 | 10,000,000 | 0.5085 | 0.3549 | 1.43× | 70% | +|▫| np.argmax (uint32) | uint32 | 1,000 | 0.0009 | 0.0007 | 1.30× | 77% | +|✅| np.argmax (uint32) | uint32 | 100,000 | 0.0104 | 0.0036 | 2.91× | 34% | +|✅| np.argmax (uint32) | uint32 | 10,000,000 | 1.8851 | 1.2169 | 1.55× | 65% | +|▫| np.argmax (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.04× | 96% | +|🟡| np.argmax (uint64) | uint64 | 100,000 | 0.0171 | 0.0332 | 0.52× | 194% | +|🟡| np.argmax (uint64) | uint64 | 10,000,000 | 4.3878 | 4.9463 | 0.89× | 113% | +|▫| np.argmax (uint8) | uint8 | 1,000 | 0.0013 | 0.0007 | 1.95× | 51% | +|✅| np.argmax (uint8) | uint8 | 100,000 | 0.0032 | 0.0012 | 2.60× | 38% | +|✅| np.argmax (uint8) | uint8 | 10,000,000 | 0.2246 | 0.1465 | 1.53× | 65% | +|✅| np.argmin (complex128) | complex128 | 1,000 | 0.0019 | 0.0015 | 1.25× | 80% | +|🟡| np.argmin (complex128) | complex128 | 100,000 | 0.1139 | 0.1141 | 1.00× | 100% | +|✅| np.argmin (complex128) | complex128 | 10,000,000 | 13.8711 | 13.6034 | 1.02× | 98% | +|✅| np.argmin (float16) | float16 | 1,000 | 0.0029 | 0.0020 | 1.42× | 70% | +|✅| np.argmin (float16) | float16 | 100,000 | 0.4248 | 0.1413 | 3.01× | 33% | +|✅| np.argmin (float16) | float16 | 10,000,000 | 42.5861 | 14.1619 | 3.01× | 33% | +|▫| np.argmin (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.80× | 125% | +|🔴| np.argmin (float32) | float32 | 100,000 | 0.0087 | 0.0564 | 0.15× | 650% | +|🟠| np.argmin (float32) | float32 | 10,000,000 | 2.7401 | 5.7656 | 0.47× | 210% | +|▫| np.argmin (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.83× | 121% | +|🟠| np.argmin (float64) | float64 | 100,000 | 0.0276 | 0.0569 | 0.48× | 206% | +|🟡| np.argmin (float64) | float64 | 10,000,000 | 4.2847 | 6.7686 | 0.63× | 158% | +|▫| np.argmin (int16) | int16 | 1,000 | 0.0011 | 0.0007 | 1.52× | 66% | +|✅| np.argmin (int16) | int16 | 100,000 | 0.0034 | 0.0016 | 2.06× | 48% | +|✅| np.argmin (int16) | int16 | 10,000,000 | 0.7167 | 0.3613 | 1.98× | 50% | +|▫| np.argmin (int32) | int32 | 1,000 | 0.0010 | 0.0007 | 1.38× | 73% | +|✅| np.argmin (int32) | int32 | 100,000 | 0.0055 | 0.0026 | 2.09× | 48% | +|✅| np.argmin (int32) | int32 | 10,000,000 | 1.7646 | 1.1707 | 1.51× | 66% | +|▫| np.argmin (int64) | int64 | 1,000 | 0.0010 | 0.0009 | 1.11× | 90% | +|🟡| np.argmin (int64) | int64 | 100,000 | 0.0142 | 0.0283 | 0.50× | 199% | +|🟡| np.argmin (int64) | int64 | 10,000,000 | 4.0644 | 4.5666 | 0.89× | 112% | +|▫| np.argmin (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.28× | 78% | +|✅| np.argmin (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.86× | 54% | +|✅| np.argmin (int8) | int8 | 10,000,000 | 0.1626 | 0.1468 | 1.11× | 90% | +|▫| np.argmin (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.32× | 76% | +|✅| np.argmin (uint16) | uint16 | 100,000 | 0.0050 | 0.0016 | 3.04× | 33% | +|✅| np.argmin (uint16) | uint16 | 10,000,000 | 0.5632 | 0.3583 | 1.57× | 64% | +|▫| np.argmin (uint32) | uint32 | 1,000 | 0.0010 | 0.0007 | 1.36× | 73% | +|✅| np.argmin (uint32) | uint32 | 100,000 | 0.0101 | 0.0035 | 2.86× | 35% | +|✅| np.argmin (uint32) | uint32 | 10,000,000 | 1.8480 | 1.1772 | 1.57× | 64% | +|▫| np.argmin (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.03× | 97% | +|🟡| np.argmin (uint64) | uint64 | 100,000 | 0.0180 | 0.0331 | 0.54× | 184% | +|🟡| np.argmin (uint64) | uint64 | 10,000,000 | 4.2831 | 4.9246 | 0.87× | 115% | +|▫| np.argmin (uint8) | uint8 | 1,000 | 0.0009 | 0.0007 | 1.28× | 78% | +|✅| np.argmin (uint8) | uint8 | 100,000 | 0.0033 | 0.0012 | 2.70× | 37% | +|✅| np.argmin (uint8) | uint8 | 10,000,000 | 0.2237 | 0.1465 | 1.53× | 66% | +|🟡| np.cumprod(a) (float16) | float16 | 1,000 | 0.0061 | 0.0097 | 0.63× | 159% | +|🟠| np.cumprod(a) (float16) | float16 | 100,000 | 0.4103 | 0.9506 | 0.43× | 232% | +|🟠| np.cumprod(a) (float16) | float16 | 10,000,000 | 43.5457 | 94.2260 | 0.46× | 216% | +|✅| np.cumprod(a) (float32) | float32 | 1,000 | 0.0046 | 0.0028 | 1.65× | 61% | +|✅| np.cumprod(a) (float32) | float32 | 100,000 | 0.1700 | 0.1114 | 1.53× | 66% | +|✅| np.cumprod(a) (float32) | float32 | 10,000,000 | 20.8437 | 10.1707 | 2.05× | 49% | +|✅| np.cumprod(a) (float64) | float64 | 1,000 | 0.0046 | 0.0034 | 1.33× | 75% | +|✅| np.cumprod(a) (float64) | float64 | 100,000 | 0.1694 | 0.1446 | 1.17× | 85% | +|✅| np.cumprod(a) (float64) | float64 | 10,000,000 | 25.4983 | 14.0728 | 1.81× | 55% | +|🟡| np.cumsum (complex128) | complex128 | 1,000 | 0.0030 | 0.0037 | 0.82× | 122% | +|✅| np.cumsum (complex128) | complex128 | 100,000 | 0.3769 | 0.2333 | 1.61× | 62% | +|✅| np.cumsum (complex128) | complex128 | 10,000,000 | 41.3487 | 24.9780 | 1.66× | 60% | +|🟡| np.cumsum (float16) | float16 | 1,000 | 0.0071 | 0.0094 | 0.75× | 134% | +|🟡| np.cumsum (float16) | float16 | 100,000 | 0.4728 | 0.9144 | 0.52× | 193% | +|🟡| np.cumsum (float16) | float16 | 10,000,000 | 49.3071 | 90.7463 | 0.54× | 184% | +|✅| np.cumsum (float32) | float32 | 1,000 | 0.0029 | 0.0018 | 1.65× | 61% | +|✅| np.cumsum (float32) | float32 | 100,000 | 0.1656 | 0.0789 | 2.10× | 48% | +|✅| np.cumsum (float32) | float32 | 10,000,000 | 20.1855 | 7.3471 | 2.75× | 36% | +|✅| np.cumsum (float64) | float64 | 1,000 | 0.0028 | 0.0022 | 1.31× | 76% | +|✅| np.cumsum (float64) | float64 | 100,000 | 0.1698 | 0.1249 | 1.36× | 74% | +|✅| np.cumsum (float64) | float64 | 10,000,000 | 24.6822 | 13.3431 | 1.85× | 54% | +|✅| np.cumsum (int16) | int16 | 1,000 | 0.0025 | 0.0020 | 1.23× | 81% | +|✅| np.cumsum (int16) | int16 | 100,000 | 0.3253 | 0.1209 | 2.69× | 37% | +|✅| np.cumsum (int16) | int16 | 10,000,000 | 48.4266 | 10.6129 | 4.56× | 22% | +|✅| np.cumsum (int32) | int32 | 1,000 | 0.0024 | 0.0019 | 1.27× | 79% | +|✅| np.cumsum (int32) | int32 | 100,000 | 0.3303 | 0.1226 | 2.69× | 37% | +|✅| np.cumsum (int32) | int32 | 10,000,000 | 32.3880 | 11.1306 | 2.91× | 34% | +|🟡| np.cumsum (int64) | int64 | 1,000 | 0.0017 | 0.0019 | 0.92× | 109% | +|🟠| np.cumsum (int64) | int64 | 100,000 | 0.0315 | 0.1231 | 0.26× | 391% | +|✅| np.cumsum (int64) | int64 | 10,000,000 | 16.3798 | 12.7464 | 1.28× | 78% | +|✅| np.cumsum (int8) | int8 | 1,000 | 0.0025 | 0.0017 | 1.49× | 67% | +|✅| np.cumsum (int8) | int8 | 100,000 | 0.3124 | 0.1187 | 2.63× | 38% | +|✅| np.cumsum (int8) | int8 | 10,000,000 | 41.0555 | 10.2543 | 4.00× | 25% | +|✅| np.cumsum (uint16) | uint16 | 1,000 | 0.0026 | 0.0020 | 1.26× | 80% | +|✅| np.cumsum (uint16) | uint16 | 100,000 | 0.3256 | 0.1199 | 2.72× | 37% | +|✅| np.cumsum (uint16) | uint16 | 10,000,000 | 34.5917 | 10.5051 | 3.29× | 30% | +|✅| np.cumsum (uint32) | uint32 | 1,000 | 0.0024 | 0.0021 | 1.17× | 85% | +|✅| np.cumsum (uint32) | uint32 | 100,000 | 0.3374 | 0.1227 | 2.75× | 36% | +|✅| np.cumsum (uint32) | uint32 | 10,000,000 | 29.7223 | 11.0895 | 2.68× | 37% | +|🟡| np.cumsum (uint64) | uint64 | 1,000 | 0.0017 | 0.0020 | 0.82× | 121% | +|🟠| np.cumsum (uint64) | uint64 | 100,000 | 0.0312 | 0.1218 | 0.26× | 391% | +|✅| np.cumsum (uint64) | uint64 | 10,000,000 | 16.2415 | 12.7570 | 1.27× | 78% | +|✅| np.cumsum (uint8) | uint8 | 1,000 | 0.0025 | 0.0019 | 1.27× | 79% | +|✅| np.cumsum (uint8) | uint8 | 100,000 | 0.3198 | 0.1205 | 2.65× | 38% | +|✅| np.cumsum (uint8) | uint8 | 10,000,000 | 28.9566 | 10.2799 | 2.82× | 36% | +|▫| np.mean (complex128) | complex128 | 1,000 | 0.0027 | 0.0009 | 2.85× | 35% | +|✅| np.mean (complex128) | complex128 | 100,000 | 0.0305 | 0.0101 | 3.01× | 33% | +|✅| np.mean (complex128) | complex128 | 10,000,000 | 8.5581 | 6.4565 | 1.33× | 75% | |✅| np.mean (float16) | float16 | 1,000 | 0.0047 | 0.0012 | 3.86× | 26% | -|✅| np.mean (float16) | float16 | 100,000 | 0.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.mean (float16) | float16 | 100,000 | 0.1088 | 0.0802 | 1.36× | 74% | +|✅| np.mean (float16) | float16 | 10,000,000 | 10.4935 | 8.0190 | 1.31× | 76% | +|▫| np.mean (float32) | float32 | 1,000 | 0.0040 | 0.0007 | 5.42× | 18% | +|✅| np.mean (float32) | float32 | 100,000 | 0.0178 | 0.0032 | 5.55× | 18% | +|✅| np.mean (float32) | float32 | 10,000,000 | 3.6083 | 1.0039 | 3.59× | 28% | +|▫| np.mean (float64) | float64 | 1,000 | 0.0024 | 0.0007 | 3.25× | 31% | +|✅| np.mean (float64) | float64 | 100,000 | 0.0169 | 0.0040 | 4.21× | 24% | +|✅| np.mean (float64) | float64 | 10,000,000 | 4.6544 | 2.7943 | 1.67× | 60% | +|▫| np.mean (int16) | int16 | 1,000 | 0.0031 | 0.0008 | 3.92× | 26% | +|✅| np.mean (int16) | int16 | 100,000 | 0.0532 | 0.0189 | 2.81× | 36% | +|✅| np.mean (int16) | int16 | 10,000,000 | 6.3750 | 1.9609 | 3.25× | 31% | +|▫| np.mean (int32) | int32 | 1,000 | 0.0030 | 0.0008 | 3.71× | 27% | +|✅| np.mean (int32) | int32 | 100,000 | 0.0429 | 0.0191 | 2.24× | 45% | +|✅| np.mean (int32) | int32 | 10,000,000 | 4.9575 | 2.6752 | 1.85× | 54% | +|▫| np.mean (int64) | int64 | 1,000 | 0.0029 | 0.0008 | 3.71× | 27% | +|✅| np.mean (int64) | int64 | 100,000 | 0.0344 | 0.0045 | 7.72× | 13% | +|✅| np.mean (int64) | int64 | 10,000,000 | 6.3414 | 2.7730 | 2.29× | 44% | +|▫| np.mean (int8) | int8 | 1,000 | 0.0030 | 0.0008 | 3.58× | 28% | +|✅| np.mean (int8) | int8 | 100,000 | 0.0567 | 0.0186 | 3.04× | 33% | +|✅| np.mean (int8) | int8 | 10,000,000 | 5.6945 | 1.8461 | 3.08× | 32% | +|▫| np.mean (uint16) | uint16 | 1,000 | 0.0031 | 0.0008 | 3.90× | 26% | +|✅| np.mean (uint16) | uint16 | 100,000 | 0.0526 | 0.0189 | 2.78× | 36% | +|✅| np.mean (uint16) | uint16 | 10,000,000 | 5.1914 | 1.9498 | 2.66× | 38% | +|▫| np.mean (uint32) | uint32 | 1,000 | 0.0030 | 0.0008 | 3.70× | 27% | +|✅| np.mean (uint32) | uint32 | 100,000 | 0.0402 | 0.0191 | 2.11× | 47% | +|✅| np.mean (uint32) | uint32 | 10,000,000 | 4.6035 | 2.6686 | 1.73× | 58% | +|▫| np.mean (uint64) | uint64 | 1,000 | 0.0032 | 0.0008 | 4.16× | 24% | +|✅| np.mean (uint64) | uint64 | 100,000 | 0.0539 | 0.0045 | 12.08× | 8% | +|✅| np.mean (uint64) | uint64 | 10,000,000 | 7.3769 | 2.7725 | 2.66× | 38% | +|▫| np.mean (uint8) | uint8 | 1,000 | 0.0031 | 0.0008 | 3.81× | 26% | +|✅| np.mean (uint8) | uint8 | 100,000 | 0.0541 | 0.0187 | 2.90× | 34% | +|✅| np.mean (uint8) | uint8 | 10,000,000 | 5.0561 | 1.8459 | 2.74× | 36% | +|✅| np.mean axis=0 (complex128) | complex128 | 1,000 | 0.0033 | 0.0025 | 1.30× | 77% | +|✅| np.mean axis=0 (complex128) | complex128 | 100,000 | 0.0286 | 0.0241 | 1.19× | 84% | +|✅| np.mean axis=0 (complex128) | complex128 | 10,000,000 | 7.5298 | 7.0381 | 1.07× | 94% | +|✅| np.mean axis=0 (float16) | float16 | 1,000 | 0.0061 | 0.0035 | 1.75× | 57% | +|🟡| np.mean axis=0 (float16) | float16 | 100,000 | 0.0790 | 0.1492 | 0.53× | 189% | +|🟡| np.mean axis=0 (float16) | float16 | 10,000,000 | 7.3133 | 14.1963 | 0.52× | 194% | +|✅| np.mean axis=0 (float32) | float32 | 1,000 | 0.0039 | 0.0022 | 1.82× | 55% | +|🟡| np.mean axis=0 (float32) | float32 | 100,000 | 0.0086 | 0.0099 | 0.87× | 115% | +|✅| np.mean axis=0 (float32) | float32 | 10,000,000 | 1.4901 | 1.3911 | 1.07× | 93% | +|✅| np.mean axis=0 (float64) | float64 | 1,000 | 0.0030 | 0.0023 | 1.29× | 78% | +|✅| np.mean axis=0 (float64) | float64 | 100,000 | 0.0166 | 0.0148 | 1.12× | 89% | +|🟡| np.mean axis=0 (float64) | float64 | 10,000,000 | 3.3836 | 3.4775 | 0.97× | 103% | +|▫| np.mean axis=0 (int16) | int16 | 1,000 | 0.0038 | 0.0008 | 4.83× | 21% | +|✅| np.mean axis=0 (int16) | int16 | 100,000 | 0.0550 | 0.0084 | 6.53× | 15% | +|✅| np.mean axis=0 (int16) | int16 | 10,000,000 | 5.3822 | 0.9630 | 5.59× | 18% | +|▫| np.mean axis=0 (int32) | int32 | 1,000 | 0.0044 | 0.0008 | 5.78× | 17% | +|✅| np.mean axis=0 (int32) | int32 | 100,000 | 0.0359 | 0.0078 | 4.60× | 22% | +|✅| np.mean axis=0 (int32) | int32 | 10,000,000 | 4.5299 | 1.7225 | 2.63× | 38% | +|✅| np.mean axis=0 (int64) | int64 | 1,000 | 0.0043 | 0.0013 | 3.25× | 31% | +|🟡| np.mean axis=0 (int64) | int64 | 100,000 | 0.0320 | 0.0609 | 0.53× | 190% | +|🔴| np.mean axis=0 (int64) | int64 | 10,000,000 | 5.9854 | 37.4022 | 0.16× | 625% | +|▫| np.mean axis=0 (int8) | int8 | 1,000 | 0.0038 | 0.0008 | 4.56× | 22% | +|✅| np.mean axis=0 (int8) | int8 | 100,000 | 0.0534 | 0.0082 | 6.49× | 15% | +|✅| np.mean axis=0 (int8) | int8 | 10,000,000 | 6.4497 | 0.8079 | 7.98× | 12% | +|▫| np.mean axis=0 (uint16) | uint16 | 1,000 | 0.0037 | 0.0007 | 5.00× | 20% | +|✅| np.mean axis=0 (uint16) | uint16 | 100,000 | 0.0516 | 0.0084 | 6.10× | 16% | +|✅| np.mean axis=0 (uint16) | uint16 | 10,000,000 | 5.8879 | 0.9392 | 6.27× | 16% | +|▫| np.mean axis=0 (uint32) | uint32 | 1,000 | 0.0044 | 0.0008 | 5.64× | 18% | +|✅| np.mean axis=0 (uint32) | uint32 | 100,000 | 0.0471 | 0.0093 | 5.04× | 20% | +|✅| np.mean axis=0 (uint32) | uint32 | 10,000,000 | 4.9815 | 2.0165 | 2.47× | 40% | +|✅| np.mean axis=0 (uint64) | uint64 | 1,000 | 0.0037 | 0.0017 | 2.20× | 46% | +|🟡| np.mean axis=0 (uint64) | uint64 | 100,000 | 0.0479 | 0.0887 | 0.54× | 185% | +|🔴| np.mean axis=0 (uint64) | uint64 | 10,000,000 | 7.1495 | 43.0435 | 0.17× | 602% | +|▫| np.mean axis=0 (uint8) | uint8 | 1,000 | 0.0039 | 0.0007 | 5.20× | 19% | +|✅| np.mean axis=0 (uint8) | uint8 | 100,000 | 0.0545 | 0.0082 | 6.63× | 15% | +|✅| np.mean axis=0 (uint8) | uint8 | 10,000,000 | 5.3637 | 0.7883 | 6.80× | 15% | +|✅| np.mean axis=1 (complex128) | complex128 | 1,000 | 0.0032 | 0.0025 | 1.24× | 81% | +|✅| np.mean axis=1 (complex128) | complex128 | 100,000 | 0.0443 | 0.0348 | 1.27× | 79% | +|✅| np.mean axis=1 (complex128) | complex128 | 10,000,000 | 8.4055 | 8.0660 | 1.04× | 96% | +|✅| np.mean axis=1 (float16) | float16 | 1,000 | 0.0052 | 0.0039 | 1.31× | 76% | +|🟡| np.mean axis=1 (float16) | float16 | 100,000 | 0.0952 | 0.1325 | 0.72× | 139% | +|🟡| np.mean axis=1 (float16) | float16 | 10,000,000 | 7.9626 | 12.5326 | 0.64× | 157% | +|✅| np.mean axis=1 (float32) | float32 | 1,000 | 0.0036 | 0.0022 | 1.67× | 60% | +|✅| np.mean axis=1 (float32) | float32 | 100,000 | 0.0183 | 0.0127 | 1.45× | 69% | +|✅| np.mean axis=1 (float32) | float32 | 10,000,000 | 2.9697 | 1.9066 | 1.56× | 64% | +|✅| np.mean axis=1 (float64) | float64 | 1,000 | 0.0029 | 0.0022 | 1.33× | 75% | +|✅| np.mean axis=1 (float64) | float64 | 100,000 | 0.0198 | 0.0144 | 1.37× | 73% | +|✅| np.mean axis=1 (float64) | float64 | 10,000,000 | 5.1086 | 3.6854 | 1.39× | 72% | +|▫| np.mean axis=1 (int16) | int16 | 1,000 | 0.0037 | 0.0008 | 4.55× | 22% | +|✅| np.mean axis=1 (int16) | int16 | 100,000 | 0.0573 | 0.0080 | 7.19× | 14% | +|✅| np.mean axis=1 (int16) | int16 | 10,000,000 | 6.0592 | 0.8322 | 7.28× | 14% | +|▫| np.mean axis=1 (int32) | int32 | 1,000 | 0.0037 | 0.0007 | 5.00× | 20% | +|✅| np.mean axis=1 (int32) | int32 | 100,000 | 0.0428 | 0.0049 | 8.79× | 11% | +|✅| np.mean axis=1 (int32) | int32 | 10,000,000 | 4.8185 | 1.4394 | 3.35× | 30% | +|✅| np.mean axis=1 (int64) | int64 | 1,000 | 0.0034 | 0.0013 | 2.55× | 39% | +|🟡| np.mean axis=1 (int64) | int64 | 100,000 | 0.0394 | 0.0596 | 0.66× | 151% | +|🟡| np.mean axis=1 (int64) | int64 | 10,000,000 | 6.3625 | 6.9185 | 0.92× | 109% | +|▫| np.mean axis=1 (int8) | int8 | 1,000 | 0.0036 | 0.0008 | 4.50× | 22% | +|✅| np.mean axis=1 (int8) | int8 | 100,000 | 0.0571 | 0.0079 | 7.21× | 14% | +|✅| np.mean axis=1 (int8) | int8 | 10,000,000 | 5.5023 | 0.7110 | 7.74× | 13% | +|▫| np.mean axis=1 (uint16) | uint16 | 1,000 | 0.0038 | 0.0008 | 4.68× | 21% | +|✅| np.mean axis=1 (uint16) | uint16 | 100,000 | 0.0629 | 0.0080 | 7.90× | 13% | +|✅| np.mean axis=1 (uint16) | uint16 | 10,000,000 | 5.4615 | 0.8406 | 6.50× | 15% | +|▫| np.mean axis=1 (uint32) | uint32 | 1,000 | 0.0034 | 0.0008 | 4.12× | 24% | +|✅| np.mean axis=1 (uint32) | uint32 | 100,000 | 0.0467 | 0.0091 | 5.12× | 20% | +|✅| np.mean axis=1 (uint32) | uint32 | 10,000,000 | 4.9555 | 1.8041 | 2.75× | 36% | +|✅| np.mean axis=1 (uint64) | uint64 | 1,000 | 0.0037 | 0.0016 | 2.23× | 45% | +|🟡| np.mean axis=1 (uint64) | uint64 | 100,000 | 0.0569 | 0.0860 | 0.66× | 151% | +|🟡| np.mean axis=1 (uint64) | uint64 | 10,000,000 | 7.3817 | 9.0110 | 0.82× | 122% | +|▫| np.mean axis=1 (uint8) | uint8 | 1,000 | 0.0035 | 0.0008 | 4.50× | 22% | +|✅| np.mean axis=1 (uint8) | uint8 | 100,000 | 0.0587 | 0.0079 | 7.42× | 14% | +|✅| np.mean axis=1 (uint8) | uint8 | 10,000,000 | 5.2924 | 0.7077 | 7.48× | 13% | +|✅| np.nanmax(a) (float16) | float16 | 1,000 | 0.0054 | 0.0011 | 4.87× | 21% | +|✅| np.nanmax(a) (float16) | float16 | 100,000 | 0.5409 | 0.3172 | 1.71× | 59% | +|✅| np.nanmax(a) (float16) | float16 | 10,000,000 | 51.2440 | 32.5673 | 1.57× | 64% | +|▫| np.nanmax(a) (float32) | float32 | 1,000 | 0.0030 | 0.0009 | 3.29× | 30% | +|🟠| np.nanmax(a) (float32) | float32 | 100,000 | 0.0081 | 0.0287 | 0.28× | 356% | +|🟠| np.nanmax(a) (float32) | float32 | 10,000,000 | 1.5124 | 3.2798 | 0.46× | 217% | +|✅| np.nanmax(a) (float64) | float64 | 1,000 | 0.0030 | 0.0012 | 2.52× | 40% | +|🔴| np.nanmax(a) (float64) | float64 | 100,000 | 0.0115 | 0.0590 | 0.20× | 512% | +|🟡| np.nanmax(a) (float64) | float64 | 10,000,000 | 3.5081 | 6.8740 | 0.51× | 196% | +|✅| np.nanmean(a) (float16) | float16 | 1,000 | 0.0127 | 0.0017 | 7.37× | 14% | +|✅| np.nanmean(a) (float16) | float16 | 100,000 | 0.3723 | 0.1054 | 3.53× | 28% | +|✅| np.nanmean(a) (float16) | float16 | 10,000,000 | 37.8624 | 10.5382 | 3.59× | 28% | +|▫| np.nanmean(a) (float32) | float32 | 1,000 | 0.0102 | 0.0008 | 12.61× | 8% | +|✅| np.nanmean(a) (float32) | float32 | 100,000 | 0.0751 | 0.0383 | 1.96× | 51% | +|✅| np.nanmean(a) (float32) | float32 | 10,000,000 | 19.3182 | 4.1701 | 4.63× | 22% | +|✅| np.nanmean(a) (float64) | float64 | 1,000 | 0.0088 | 0.0012 | 7.49× | 13% | +|✅| np.nanmean(a) (float64) | float64 | 100,000 | 0.3101 | 0.0378 | 8.21× | 12% | +|✅| np.nanmean(a) (float64) | float64 | 10,000,000 | 29.7719 | 5.5602 | 5.35× | 19% | +|✅| np.nanmedian(a) (float16) | float16 | 1,000 | 0.0171 | 0.0043 | 3.93× | 26% | +|🟡| np.nanmedian(a) (float16) | float16 | 100,000 | 0.9889 | 1.3085 | 0.76× | 132% | +|✅| np.nanmedian(a) (float16) | float16 | 10,000,000 | 114.7082 | 92.8901 | 1.24× | 81% | +|✅| np.nanmedian(a) (float32) | float32 | 1,000 | 0.0132 | 0.0022 | 5.94× | 17% | +|🟡| np.nanmedian(a) (float32) | float32 | 100,000 | 0.4888 | 0.6965 | 0.70× | 142% | +|🟡| np.nanmedian(a) (float32) | float32 | 10,000,000 | 77.3793 | 80.5553 | 0.96× | 104% | +|✅| np.nanmedian(a) (float64) | float64 | 1,000 | 0.0127 | 0.0023 | 5.54× | 18% | +|🟡| np.nanmedian(a) (float64) | float64 | 100,000 | 0.5210 | 0.7022 | 0.74× | 135% | +|✅| np.nanmedian(a) (float64) | float64 | 10,000,000 | 92.4864 | 89.4458 | 1.03× | 97% | +|✅| np.nanmin(a) (float16) | float16 | 1,000 | 0.0053 | 0.0011 | 4.77× | 21% | +|✅| np.nanmin(a) (float16) | float16 | 100,000 | 0.5322 | 0.3019 | 1.76× | 57% | +|✅| np.nanmin(a) (float16) | float16 | 10,000,000 | 51.4324 | 31.1142 | 1.65× | 60% | +|▫| np.nanmin(a) (float32) | float32 | 1,000 | 0.0030 | 0.0009 | 3.24× | 31% | +|🟠| np.nanmin(a) (float32) | float32 | 100,000 | 0.0072 | 0.0287 | 0.25× | 400% | +|🟠| np.nanmin(a) (float32) | float32 | 10,000,000 | 1.5001 | 3.3155 | 0.45× | 221% | +|▫| np.nanmin(a) (float64) | float64 | 1,000 | 0.0042 | 0.0009 | 4.51× | 22% | +|🔴| np.nanmin(a) (float64) | float64 | 100,000 | 0.0114 | 0.0589 | 0.19× | 519% | +|🟡| np.nanmin(a) (float64) | float64 | 10,000,000 | 3.6863 | 6.8141 | 0.54× | 185% | +|✅| np.nanpercentile(a, 50) (float16) | float16 | 1,000 | 0.0365 | 0.0043 | 8.45× | 12% | +|✅| np.nanpercentile(a, 50) (float16) | float16 | 100,000 | 1.8857 | 1.3044 | 1.45× | 69% | +|✅| np.nanpercentile(a, 50) (float16) | float16 | 10,000,000 | 120.9498 | 92.9097 | 1.30× | 77% | +|✅| np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.0267 | 0.0022 | 11.99× | 8% | +|✅| np.nanpercentile(a, 50) (float32) | float32 | 100,000 | 0.7602 | 0.6960 | 1.09× | 92% | +|🟡| np.nanpercentile(a, 50) (float32) | float32 | 10,000,000 | 51.8789 | 80.6571 | 0.64× | 156% | +|✅| np.nanpercentile(a, 50) (float64) | float64 | 1,000 | 0.0265 | 0.0023 | 11.56× | 9% | +|✅| np.nanpercentile(a, 50) (float64) | float64 | 100,000 | 0.7628 | 0.7034 | 1.08× | 92% | +|🟡| np.nanpercentile(a, 50) (float64) | float64 | 10,000,000 | 63.5626 | 89.5666 | 0.71× | 141% | +|✅| np.nanprod(a) (float16) | float16 | 1,000 | 0.0061 | 0.0013 | 4.73× | 21% | +|✅| np.nanprod(a) (float16) | float16 | 100,000 | 0.1701 | 0.0886 | 1.92× | 52% | +|✅| np.nanprod(a) (float16) | float16 | 10,000,000 | 20.5179 | 8.9271 | 2.30× | 44% | +|▫| np.nanprod(a) (float32) | float32 | 1,000 | 0.0052 | 0.0008 | 6.31× | 16% | +|✅| np.nanprod(a) (float32) | float32 | 100,000 | 0.1604 | 0.0119 | 13.53× | 7% | +|✅| np.nanprod(a) (float32) | float32 | 10,000,000 | 18.0353 | 1.7540 | 10.28× | 10% | +|▫| np.nanprod(a) (float64) | float64 | 1,000 | 0.0055 | 0.0008 | 6.96× | 14% | +|✅| np.nanprod(a) (float64) | float64 | 100,000 | 0.1079 | 0.0235 | 4.60× | 22% | +|✅| np.nanprod(a) (float64) | float64 | 10,000,000 | 28.6688 | 3.9531 | 7.25× | 14% | +|✅| np.nanquantile(a, 0.5) (float16) | float16 | 1,000 | 0.0336 | 0.0043 | 7.73× | 13% | +|✅| np.nanquantile(a, 0.5) (float16) | float16 | 100,000 | 1.8626 | 1.3071 | 1.43× | 70% | +|✅| np.nanquantile(a, 0.5) (float16) | float16 | 10,000,000 | 121.1817 | 92.8534 | 1.30× | 77% | +|✅| np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.0280 | 0.0022 | 12.60× | 8% | +|✅| np.nanquantile(a, 0.5) (float32) | float32 | 100,000 | 0.7231 | 0.6973 | 1.04× | 96% | +|🟡| np.nanquantile(a, 0.5) (float32) | float32 | 10,000,000 | 51.1057 | 80.6773 | 0.63× | 158% | +|✅| np.nanquantile(a, 0.5) (float64) | float64 | 1,000 | 0.0257 | 0.0023 | 11.24× | 9% | +|✅| np.nanquantile(a, 0.5) (float64) | float64 | 100,000 | 0.7484 | 0.7037 | 1.06× | 94% | +|🟡| np.nanquantile(a, 0.5) (float64) | float64 | 10,000,000 | 64.0584 | 89.4386 | 0.72× | 140% | +|✅| np.nanstd(a) (float16) | float16 | 1,000 | 0.0341 | 0.0028 | 12.26× | 8% | +|✅| np.nanstd(a) (float16) | float16 | 100,000 | 1.2279 | 0.2159 | 5.69× | 18% | +|✅| np.nanstd(a) (float16) | float16 | 10,000,000 | 119.9407 | 21.6231 | 5.55× | 18% | +|✅| np.nanstd(a) (float32) | float32 | 1,000 | 0.0202 | 0.0017 | 11.92× | 8% | +|✅| np.nanstd(a) (float32) | float32 | 100,000 | 0.1683 | 0.0864 | 1.95× | 51% | +|✅| np.nanstd(a) (float32) | float32 | 10,000,000 | 31.9536 | 9.2060 | 3.47× | 29% | +|✅| np.nanstd(a) (float64) | float64 | 1,000 | 0.0190 | 0.0015 | 12.52× | 8% | +|✅| np.nanstd(a) (float64) | float64 | 100,000 | 0.4497 | 0.0761 | 5.91× | 17% | +|✅| np.nanstd(a) (float64) | float64 | 10,000,000 | 49.6062 | 11.3264 | 4.38× | 23% | +|✅| np.nansum(a) (float16) | float16 | 1,000 | 0.0063 | 0.0013 | 4.84× | 21% | +|✅| np.nansum(a) (float16) | float16 | 100,000 | 0.2885 | 0.0901 | 3.20× | 31% | +|✅| np.nansum(a) (float16) | float16 | 10,000,000 | 31.6077 | 8.9086 | 3.55× | 28% | +|▫| np.nansum(a) (float32) | float32 | 1,000 | 0.0037 | 0.0008 | 4.83× | 21% | +|✅| np.nansum(a) (float32) | float32 | 100,000 | 0.0321 | 0.0049 | 6.51× | 15% | +|✅| np.nansum(a) (float32) | float32 | 10,000,000 | 13.3987 | 1.4131 | 9.48× | 10% | +|▫| np.nansum(a) (float64) | float64 | 1,000 | 0.0037 | 0.0008 | 4.61× | 22% | +|✅| np.nansum(a) (float64) | float64 | 100,000 | 0.0471 | 0.0097 | 4.88× | 20% | +|✅| np.nansum(a) (float64) | float64 | 10,000,000 | 23.8754 | 3.4851 | 6.85× | 15% | +|✅| np.nanvar(a) (float16) | float16 | 1,000 | 0.0324 | 0.0028 | 11.72× | 8% | +|✅| np.nanvar(a) (float16) | float16 | 100,000 | 1.2270 | 0.2160 | 5.68× | 18% | +|✅| np.nanvar(a) (float16) | float16 | 10,000,000 | 120.0573 | 21.5187 | 5.58× | 18% | +|✅| np.nanvar(a) (float32) | float32 | 1,000 | 0.0195 | 0.0017 | 11.49× | 9% | +|✅| np.nanvar(a) (float32) | float32 | 100,000 | 0.1645 | 0.0864 | 1.90× | 52% | +|✅| np.nanvar(a) (float32) | float32 | 10,000,000 | 32.0612 | 9.2119 | 3.48× | 29% | +|✅| np.nanvar(a) (float64) | float64 | 1,000 | 0.0198 | 0.0015 | 13.06× | 8% | +|✅| np.nanvar(a) (float64) | float64 | 100,000 | 0.4356 | 0.0762 | 5.72× | 18% | +|✅| np.nanvar(a) (float64) | float64 | 10,000,000 | 51.1759 | 11.2532 | 4.55× | 22% | +|▫| np.prod (float64) | float64 | 1,000 | 0.0022 | 0.0008 | 2.89× | 35% | +|✅| np.prod (float64) | float64 | 100,000 | 2.3310 | 0.1700 | 13.71× | 7% | +|✅| np.prod (float64) | float64 | 10,000,000 | 239.6474 | 60.4092 | 3.97× | 25% | +|▫| np.prod (int64) | int64 | 1,000 | 0.0021 | 0.0007 | 2.87× | 35% | +|✅| np.prod (int64) | int64 | 100,000 | 0.0572 | 0.0143 | 4.00× | 25% | +|✅| np.prod (int64) | int64 | 10,000,000 | 6.3161 | 3.8044 | 1.66× | 60% | |▫| np.prod axis=0 (float64) | float64 | 1,000 | 0.0019 | 0.0007 | 2.75× | 36% | -|✅| np.prod axis=0 (float64) | float64 | 100,000 | 0.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.prod axis=0 (float64) | float64 | 100,000 | 0.0136 | 0.0089 | 1.54× | 65% | +|🟡| np.prod axis=0 (float64) | float64 | 10,000,000 | 19.8072 | 19.8419 | 1.00× | 100% | +|▫| np.prod axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0009 | 2.24× | 45% | +|✅| np.prod axis=0 (int64) | int64 | 100,000 | 0.0272 | 0.0152 | 1.79× | 56% | +|✅| np.prod axis=0 (int64) | int64 | 10,000,000 | 5.0107 | 4.1147 | 1.22× | 82% | +|▫| np.prod axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0008 | 2.47× | 40% | +|✅| np.prod axis=1 (float64) | float64 | 100,000 | 0.0601 | 0.0050 | 12.13× | 8% | +|▫| np.prod axis=1 (float64) | float64 | 10,000,000 | 69.9249 | 3.0274 | 23.10× | 4% | +|▫| np.prod axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0010 | 1.96× | 51% | +|✅| np.prod axis=1 (int64) | int64 | 100,000 | 0.0458 | 0.0171 | 2.68× | 37% | +|✅| np.prod axis=1 (int64) | int64 | 10,000,000 | 6.2759 | 3.9188 | 1.60× | 62% | +|✅| np.std (float16) | float16 | 1,000 | 0.0203 | 0.0021 | 9.63× | 10% | +|✅| np.std (float16) | float16 | 100,000 | 0.9085 | 0.1830 | 4.96× | 20% | +|✅| np.std (float16) | float16 | 10,000,000 | 90.8149 | 18.0508 | 5.03× | 20% | +|▫| np.std (float32) | float32 | 1,000 | 0.0086 | 0.0007 | 12.74× | 8% | +|✅| np.std (float32) | float32 | 100,000 | 0.0450 | 0.0096 | 4.67× | 21% | +|✅| np.std (float32) | float32 | 10,000,000 | 17.8322 | 2.6281 | 6.79× | 15% | +|▫| np.std (float64) | float64 | 1,000 | 0.0068 | 0.0004 | 15.61× | 6% | +|✅| np.std (float64) | float64 | 100,000 | 0.0570 | 0.0190 | 3.00× | 33% | +|✅| np.std (float64) | float64 | 10,000,000 | 30.3403 | 6.6087 | 4.59× | 22% | +|✅| np.std axis=0 (float16) | float16 | 1,000 | 0.0214 | 0.0045 | 4.78× | 21% | +|✅| np.std axis=0 (float16) | float16 | 100,000 | 1.1043 | 0.3567 | 3.10× | 32% | +|✅| np.std axis=0 (float16) | float16 | 10,000,000 | 110.0006 | 83.8826 | 1.31× | 76% | +|✅| np.std axis=0 (float32) | float32 | 1,000 | 0.0087 | 0.0016 | 5.57× | 18% | +|✅| np.std axis=0 (float32) | float32 | 100,000 | 0.0377 | 0.0231 | 1.63× | 61% | +|✅| np.std axis=0 (float32) | float32 | 10,000,000 | 14.2545 | 4.6258 | 3.08× | 32% | +|▫| np.std axis=0 (float64) | float64 | 1,000 | 0.0076 | 0.0009 | 8.36× | 12% | +|✅| np.std axis=0 (float64) | float64 | 100,000 | 0.0637 | 0.0263 | 2.42× | 41% | +|✅| np.std axis=0 (float64) | float64 | 10,000,000 | 30.0409 | 7.5189 | 4.00× | 25% | +|▫| np.sum (complex128) | complex128 | 1,000 | 0.0018 | 0.0009 | 2.02× | 50% | +|✅| np.sum (complex128) | complex128 | 100,000 | 0.0294 | 0.0101 | 2.91× | 34% | +|✅| np.sum (complex128) | complex128 | 10,000,000 | 8.9925 | 6.4940 | 1.39× | 72% | +|✅| np.sum (float16) | float16 | 1,000 | 0.0040 | 0.0012 | 3.33× | 30% | +|✅| np.sum (float16) | float16 | 100,000 | 0.1981 | 0.0802 | 2.47× | 40% | +|✅| np.sum (float16) | float16 | 10,000,000 | 19.9449 | 8.0365 | 2.48× | 40% | +|▫| np.sum (float32) | float32 | 1,000 | 0.0017 | 0.0008 | 2.26× | 44% | +|✅| np.sum (float32) | float32 | 100,000 | 0.0171 | 0.0032 | 5.40× | 18% | +|✅| np.sum (float32) | float32 | 10,000,000 | 3.0579 | 1.0257 | 2.98× | 34% | +|▫| np.sum (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.24× | 45% | +|🔴| np.sum (float64) | float64 | 100,000 | 0.0166 | 0.2090 | 0.079× | 1260% | +|✅| np.sum (float64) | float64 | 10,000,000 | 4.8117 | 2.8908 | 1.66× | 60% | +|▫| np.sum (int16) | int16 | 1,000 | 0.0020 | 0.0008 | 2.55× | 39% | +|✅| np.sum (int16) | int16 | 100,000 | 0.0339 | 0.0189 | 1.79× | 56% | +|✅| np.sum (int16) | int16 | 10,000,000 | 3.5547 | 1.9468 | 1.83× | 55% | +|▫| np.sum (int32) | int32 | 1,000 | 0.0023 | 0.0008 | 2.85× | 35% | +|✅| np.sum (int32) | int32 | 100,000 | 0.0345 | 0.0190 | 1.82× | 55% | +|✅| np.sum (int32) | int32 | 10,000,000 | 4.7348 | 2.6909 | 1.76× | 57% | +|▫| np.sum (int64) | int64 | 1,000 | 0.0018 | 0.0008 | 2.27× | 44% | +|✅| np.sum (int64) | int64 | 100,000 | 0.0153 | 0.0045 | 3.42× | 29% | +|✅| np.sum (int64) | int64 | 10,000,000 | 4.1490 | 2.8310 | 1.47× | 68% | +|▫| np.sum (int8) | int8 | 1,000 | 0.0022 | 0.0008 | 2.77× | 36% | +|✅| np.sum (int8) | int8 | 100,000 | 0.0342 | 0.0186 | 1.84× | 54% | +|✅| np.sum (int8) | int8 | 10,000,000 | 3.2333 | 1.8404 | 1.76× | 57% | +|▫| np.sum (uint16) | uint16 | 1,000 | 0.0022 | 0.0008 | 2.84× | 35% | +|✅| np.sum (uint16) | uint16 | 100,000 | 0.0334 | 0.0189 | 1.77× | 57% | +|✅| np.sum (uint16) | uint16 | 10,000,000 | 3.7579 | 1.9368 | 1.94× | 52% | +|▫| np.sum (uint32) | uint32 | 1,000 | 0.0023 | 0.0008 | 2.83× | 35% | +|✅| np.sum (uint32) | uint32 | 100,000 | 0.0332 | 0.0190 | 1.75× | 57% | +|✅| np.sum (uint32) | uint32 | 10,000,000 | 4.0560 | 2.6922 | 1.51× | 66% | +|▫| np.sum (uint64) | uint64 | 1,000 | 0.0018 | 0.0008 | 2.28× | 44% | +|✅| np.sum (uint64) | uint64 | 100,000 | 0.0200 | 0.0044 | 4.52× | 22% | +|✅| np.sum (uint64) | uint64 | 10,000,000 | 4.2549 | 2.9226 | 1.46× | 69% | +|▫| np.sum (uint8) | uint8 | 1,000 | 0.0024 | 0.0008 | 3.07× | 32% | +|✅| np.sum (uint8) | uint8 | 100,000 | 0.0348 | 0.0186 | 1.87× | 54% | +|✅| np.sum (uint8) | uint8 | 10,000,000 | 3.2589 | 1.8460 | 1.76× | 57% | +|✅| np.sum axis=0 (complex128) | complex128 | 1,000 | 0.0020 | 0.0017 | 1.16× | 86% | +|✅| np.sum axis=0 (complex128) | complex128 | 100,000 | 0.0309 | 0.0204 | 1.51× | 66% | +|✅| np.sum axis=0 (complex128) | complex128 | 10,000,000 | 7.4501 | 7.3478 | 1.01× | 99% | +|✅| np.sum axis=0 (float16) | float16 | 1,000 | 0.0053 | 0.0040 | 1.32× | 76% | +|✅| np.sum axis=0 (float16) | float16 | 100,000 | 0.2950 | 0.1473 | 2.00× | 50% | +|✅| np.sum axis=0 (float16) | float16 | 10,000,000 | 29.0440 | 14.1979 | 2.05× | 49% | +|✅| np.sum axis=0 (float32) | float32 | 1,000 | 0.0022 | 0.0019 | 1.18× | 85% | +|✅| np.sum axis=0 (float32) | float32 | 100,000 | 0.0083 | 0.0080 | 1.04× | 96% | +|✅| np.sum axis=0 (float32) | float32 | 10,000,000 | 1.8895 | 1.3370 | 1.41× | 71% | +|✅| np.sum axis=0 (float64) | float64 | 1,000 | 0.0020 | 0.0019 | 1.03× | 97% | +|✅| np.sum axis=0 (float64) | float64 | 100,000 | 0.0142 | 0.0115 | 1.23× | 81% | +|✅| np.sum axis=0 (float64) | float64 | 10,000,000 | 3.4762 | 3.4200 | 1.02× | 98% | +|▫| np.sum axis=0 (int16) | int16 | 1,000 | 0.0025 | 0.0009 | 2.70× | 37% | +|✅| np.sum axis=0 (int16) | int16 | 100,000 | 0.0474 | 0.0047 | 10.08× | 10% | +|✅| np.sum axis=0 (int16) | int16 | 10,000,000 | 5.0614 | 0.5369 | 9.43× | 11% | +|▫| np.sum axis=0 (int32) | int32 | 1,000 | 0.0028 | 0.0007 | 3.80× | 26% | +|✅| np.sum axis=0 (int32) | int32 | 100,000 | 0.0485 | 0.0086 | 5.62× | 18% | +|✅| np.sum axis=0 (int32) | int32 | 10,000,000 | 5.6694 | 1.8929 | 3.00× | 33% | +|▫| np.sum axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0007 | 2.74× | 36% | +|✅| np.sum axis=0 (int64) | int64 | 100,000 | 0.0278 | 0.0104 | 2.67× | 37% | +|✅| np.sum axis=0 (int64) | int64 | 10,000,000 | 5.6011 | 3.2402 | 1.73× | 58% | +|▫| np.sum axis=0 (int8) | int8 | 1,000 | 0.0024 | 0.0009 | 2.52× | 40% | +|✅| np.sum axis=0 (int8) | int8 | 100,000 | 0.0474 | 0.0044 | 10.75× | 9% | +|✅| np.sum axis=0 (int8) | int8 | 10,000,000 | 4.6440 | 0.5247 | 8.85× | 11% | +|▫| np.sum axis=0 (uint16) | uint16 | 1,000 | 0.0025 | 0.0009 | 2.71× | 37% | +|✅| np.sum axis=0 (uint16) | uint16 | 100,000 | 0.0479 | 0.0053 | 9.02× | 11% | +|✅| np.sum axis=0 (uint16) | uint16 | 10,000,000 | 4.7415 | 0.6972 | 6.80× | 15% | +|▫| np.sum axis=0 (uint32) | uint32 | 1,000 | 0.0028 | 0.0007 | 3.86× | 26% | +|✅| np.sum axis=0 (uint32) | uint32 | 100,000 | 0.0506 | 0.0086 | 5.87× | 17% | +|✅| np.sum axis=0 (uint32) | uint32 | 10,000,000 | 5.5471 | 1.7971 | 3.09× | 32% | +|▫| np.sum axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0007 | 2.73× | 37% | +|✅| np.sum axis=0 (uint64) | uint64 | 100,000 | 0.0274 | 0.0104 | 2.64× | 38% | +|✅| np.sum axis=0 (uint64) | uint64 | 10,000,000 | 5.1406 | 3.2350 | 1.59× | 63% | +|▫| np.sum axis=0 (uint8) | uint8 | 1,000 | 0.0026 | 0.0009 | 2.85× | 35% | +|✅| np.sum axis=0 (uint8) | uint8 | 100,000 | 0.0513 | 0.0044 | 11.69× | 9% | +|✅| np.sum axis=0 (uint8) | uint8 | 10,000,000 | 4.5577 | 0.5260 | 8.66× | 12% | +|✅| np.sum axis=1 (complex128) | complex128 | 1,000 | 0.0021 | 0.0018 | 1.17× | 86% | +|✅| np.sum axis=1 (complex128) | complex128 | 100,000 | 0.0340 | 0.0306 | 1.11× | 90% | +|✅| np.sum axis=1 (complex128) | complex128 | 10,000,000 | 9.2453 | 8.6134 | 1.07× | 93% | +|✅| np.sum axis=1 (float16) | float16 | 1,000 | 0.0039 | 0.0038 | 1.04× | 96% | +|✅| np.sum axis=1 (float16) | float16 | 100,000 | 0.1987 | 0.1303 | 1.52× | 66% | +|✅| np.sum axis=1 (float16) | float16 | 10,000,000 | 19.7912 | 12.4799 | 1.59× | 63% | +|✅| np.sum axis=1 (float32) | float32 | 1,000 | 0.0030 | 0.0019 | 1.53× | 65% | +|✅| np.sum axis=1 (float32) | float32 | 100,000 | 0.0162 | 0.0104 | 1.55× | 64% | +|✅| np.sum axis=1 (float32) | float32 | 10,000,000 | 3.3850 | 1.8916 | 1.79× | 56% | +|✅| np.sum axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0016 | 1.21× | 83% | +|✅| np.sum axis=1 (float64) | float64 | 100,000 | 0.0200 | 0.0127 | 1.58× | 63% | +|✅| np.sum axis=1 (float64) | float64 | 10,000,000 | 5.1036 | 3.6624 | 1.39× | 72% | +|▫| np.sum axis=1 (int16) | int16 | 1,000 | 0.0023 | 0.0007 | 3.51× | 28% | +|✅| np.sum axis=1 (int16) | int16 | 100,000 | 0.0376 | 0.0038 | 9.79× | 10% | +|✅| np.sum axis=1 (int16) | int16 | 10,000,000 | 3.6422 | 0.4546 | 8.01× | 12% | +|▫| np.sum axis=1 (int32) | int32 | 1,000 | 0.0025 | 0.0007 | 3.66× | 27% | +|✅| np.sum axis=1 (int32) | int32 | 100,000 | 0.0396 | 0.0053 | 7.49× | 13% | +|✅| np.sum axis=1 (int32) | int32 | 10,000,000 | 4.2337 | 1.6246 | 2.61× | 38% | |▫| np.sum axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0007 | 2.60× | 38% | -|✅| np.sum axis=1 (int64) | int64 | 100,000 | 0.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% | +|✅| np.sum axis=1 (int64) | int64 | 100,000 | 0.0175 | 0.0075 | 2.33× | 43% | +|✅| np.sum axis=1 (int64) | int64 | 10,000,000 | 4.7220 | 2.8722 | 1.64× | 61% | +|▫| np.sum axis=1 (int8) | int8 | 1,000 | 0.0023 | 0.0007 | 3.54× | 28% | +|✅| np.sum axis=1 (int8) | int8 | 100,000 | 0.0379 | 0.0039 | 9.63× | 10% | +|✅| np.sum axis=1 (int8) | int8 | 10,000,000 | 3.5111 | 0.2640 | 13.30× | 8% | +|▫| np.sum axis=1 (uint16) | uint16 | 1,000 | 0.0027 | 0.0008 | 3.44× | 29% | +|✅| np.sum axis=1 (uint16) | uint16 | 100,000 | 0.0375 | 0.0037 | 10.00× | 10% | +|✅| np.sum axis=1 (uint16) | uint16 | 10,000,000 | 3.8775 | 0.4583 | 8.46× | 12% | +|▫| np.sum axis=1 (uint32) | uint32 | 1,000 | 0.0026 | 0.0007 | 3.63× | 28% | +|✅| np.sum axis=1 (uint32) | uint32 | 100,000 | 0.0413 | 0.0053 | 7.79× | 13% | +|✅| np.sum axis=1 (uint32) | uint32 | 10,000,000 | 4.2817 | 1.6385 | 2.61× | 38% | +|▫| np.sum axis=1 (uint64) | uint64 | 1,000 | 0.0019 | 0.0007 | 2.69× | 37% | +|✅| np.sum axis=1 (uint64) | uint64 | 100,000 | 0.0173 | 0.0075 | 2.30× | 44% | +|✅| np.sum axis=1 (uint64) | uint64 | 10,000,000 | 4.6457 | 2.8809 | 1.61× | 62% | +|▫| np.sum axis=1 (uint8) | uint8 | 1,000 | 0.0025 | 0.0007 | 3.81× | 26% | +|✅| np.sum axis=1 (uint8) | uint8 | 100,000 | 0.0402 | 0.0038 | 10.47× | 10% | +|✅| np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.2063 | 0.2647 | 12.11× | 8% | +|✅| np.var (float16) | float16 | 1,000 | 0.0200 | 0.0021 | 9.51× | 10% | +|✅| np.var (float16) | float16 | 100,000 | 0.9060 | 0.1822 | 4.97× | 20% | +|✅| np.var (float16) | float16 | 10,000,000 | 91.4660 | 18.1038 | 5.05× | 20% | +|▫| np.var (float32) | float32 | 1,000 | 0.0083 | 0.0007 | 11.92× | 8% | +|✅| np.var (float32) | float32 | 100,000 | 0.0451 | 0.0096 | 4.69× | 21% | +|✅| np.var (float32) | float32 | 10,000,000 | 17.1259 | 2.6208 | 6.54× | 15% | +|▫| np.var (float64) | float64 | 1,000 | 0.0067 | 0.0008 | 8.40× | 12% | +|✅| np.var (float64) | float64 | 100,000 | 0.0573 | 0.0191 | 3.00× | 33% | +|✅| np.var (float64) | float64 | 10,000,000 | 30.5902 | 6.6728 | 4.58× | 22% | +|✅| np.var axis=0 (float16) | float16 | 1,000 | 0.0200 | 0.0044 | 4.51× | 22% | +|✅| np.var axis=0 (float16) | float16 | 100,000 | 1.1366 | 0.3566 | 3.19× | 31% | +|✅| np.var axis=0 (float16) | float16 | 10,000,000 | 109.8825 | 83.9268 | 1.31× | 76% | +|✅| np.var axis=0 (float32) | float32 | 1,000 | 0.0086 | 0.0017 | 5.19× | 19% | +|✅| np.var axis=0 (float32) | float32 | 100,000 | 0.0371 | 0.0226 | 1.64× | 61% | +|✅| np.var axis=0 (float32) | float32 | 10,000,000 | 14.0847 | 4.7475 | 2.97× | 34% | +|▫| np.var axis=0 (float64) | float64 | 1,000 | 0.0075 | 0.0009 | 7.97× | 12% | +|✅| np.var axis=0 (float64) | float64 | 100,000 | 0.0680 | 0.0252 | 2.70× | 37% | +|✅| np.var axis=0 (float64) | float64 | 10,000,000 | 28.5127 | 7.5344 | 3.78× | 26% | ### Broadcasting | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|⚪| matrix + col_vector (N,M)+(N,1) | float64 | 1,000 | 0.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 + col_vector (N,M)+(N,1) | float64 | 1,000 | 0.0013 | - | - | - | +|⚪| matrix + col_vector (N,M)+(N,1) | float64 | 100,000 | 0.1968 | - | - | - | +|✅| matrix + col_vector (N,M)+(N,1) | float64 | 10,000,000 | 16.0261 | 13.9778 | 1.15× | 87% | |⚪| matrix + row_vector (N,M)+(M,) | float64 | 1,000 | 0.0012 | - | - | - | -|⚪| matrix + row_vector (N,M)+(M,) | float64 | 100,000 | 0.0268 | - | - | - | -|✅| matrix + row_vector (N,M)+(M,) | float64 | 10,000,000 | 16.5907 | 14.7614 | 1.12× | 89% | +|⚪| matrix + row_vector (N,M)+(M,) | float64 | 100,000 | 0.1942 | - | - | - | +|✅| matrix + row_vector (N,M)+(M,) | float64 | 10,000,000 | 16.3420 | 13.3161 | 1.23× | 82% | |⚪| matrix + scalar | float64 | 1,000 | 0.0007 | - | - | - | -|⚪| matrix + scalar | float64 | 100,000 | 0.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% | +|⚪| matrix + scalar | float64 | 100,000 | 0.0142 | - | - | - | +|✅| matrix + scalar | float64 | 10,000,000 | 15.6849 | 13.5809 | 1.16× | 87% | +|⚪| np.broadcast_to(row, (N,M)) | float64 | 1,000 | 0.0018 | - | - | - | +|⚪| np.broadcast_to(row, (N,M)) | float64 | 100,000 | 0.0021 | - | - | - | +|▫| np.broadcast_to(row, (N,M)) | float64 | 10,000,000 | 0.0018 | 0.0006 | 3.22× | 31% | ### Creation | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|▫| np.copy (float32) | float32 | 1,000 | 0.0006 | 0.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% | +|▫| np.copy (float32) | float32 | 1,000 | 0.0006 | 0.0117 | 0.050× | 1983% | +|🟡| np.copy (float32) | float32 | 100,000 | 0.0061 | 0.0071 | 0.86× | 117% | +|✅| np.copy (float32) | float32 | 10,000,000 | 6.4782 | 1.8708 | 3.46× | 29% | +|▫| np.copy (float64) | float64 | 1,000 | 0.0006 | 0.0198 | 0.031× | 3272% | +|🟡| np.copy (float64) | float64 | 100,000 | 0.0113 | 0.0135 | 0.83× | 120% | +|✅| np.copy (float64) | float64 | 10,000,000 | 13.0404 | 12.7447 | 1.02× | 98% | +|▫| np.copy (int32) | int32 | 1,000 | 0.0006 | 0.0116 | 0.051× | 1958% | +|🟡| np.copy (int32) | int32 | 100,000 | 0.0060 | 0.0069 | 0.88× | 114% | +|✅| np.copy (int32) | int32 | 10,000,000 | 6.3440 | 1.8390 | 3.45× | 29% | +|▫| np.copy (int64) | int64 | 1,000 | 0.0006 | 0.0133 | 0.046× | 2177% | +|🟡| np.copy (int64) | int64 | 100,000 | 0.0115 | 0.0140 | 0.82× | 122% | +|✅| np.copy (int64) | int64 | 10,000,000 | 13.2030 | 12.7437 | 1.04× | 96% | +|▫| np.empty (float32) | float32 | 1,000 | 0.0003 | 0.0085 | 0.039× | 2532% | +|▫| np.empty (float32) | float32 | 100,000 | 0.0003 | 0.0141 | 0.024× | 4090% | +|🟡| np.empty (float32) | float32 | 10,000,000 | 0.0087 | 0.0143 | 0.61× | 165% | +|▫| np.empty (float64) | float64 | 1,000 | 0.0005 | 0.0139 | 0.038× | 2598% | +|▫| np.empty (float64) | float64 | 100,000 | 0.0003 | 0.0140 | 0.021× | 4722% | +|🟡| np.empty (float64) | float64 | 10,000,000 | 0.0080 | 0.0138 | 0.58× | 172% | +|▫| np.empty (int32) | int32 | 1,000 | 0.0003 | 0.0089 | 0.038× | 2635% | +|▫| np.empty (int32) | int32 | 100,000 | 0.0003 | 0.0133 | 0.026× | 3857% | +|🟡| np.empty (int32) | int32 | 10,000,000 | 0.0108 | 0.0140 | 0.77× | 130% | +|▫| np.empty (int64) | int64 | 1,000 | 0.0003 | 0.0150 | 0.021× | 4695% | +|▫| np.empty (int64) | int64 | 100,000 | 0.0003 | 0.0152 | 0.022× | 4622% | +|🟡| np.empty (int64) | int64 | 10,000,000 | 0.0119 | 0.0141 | 0.85× | 118% | +|▫| np.full (float32) | float32 | 1,000 | 0.0010 | 0.0117 | 0.084× | 1196% | +|🟠| np.full (float32) | float32 | 100,000 | 0.0053 | 0.0126 | 0.42× | 239% | +|✅| np.full (float32) | float32 | 10,000,000 | 7.3482 | 1.8309 | 4.01× | 25% | +|▫| np.full (float64) | float64 | 1,000 | 0.0010 | 0.0142 | 0.068× | 1466% | +|🟡| np.full (float64) | float64 | 100,000 | 0.0098 | 0.0148 | 0.66× | 151% | +|✅| np.full (float64) | float64 | 10,000,000 | 14.6927 | 12.3279 | 1.19× | 84% | +|▫| np.full (int32) | int32 | 1,000 | 0.0009 | 0.0104 | 0.088× | 1138% | +|🟠| np.full (int32) | int32 | 100,000 | 0.0054 | 0.0123 | 0.44× | 228% | +|✅| np.full (int32) | int32 | 10,000,000 | 7.3322 | 1.9121 | 3.83× | 26% | +|▫| np.full (int64) | int64 | 1,000 | 0.0009 | 0.0135 | 0.064× | 1571% | +|🟡| np.full (int64) | int64 | 100,000 | 0.0098 | 0.0150 | 0.65× | 153% | +|✅| np.full (int64) | int64 | 10,000,000 | 14.7304 | 12.3185 | 1.20× | 84% | +|▫| np.ones (float32) | float32 | 1,000 | 0.0010 | 0.0094 | 0.10× | 953% | +|🟠| np.ones (float32) | float32 | 100,000 | 0.0054 | 0.0124 | 0.43× | 232% | +|✅| np.ones (float32) | float32 | 10,000,000 | 7.3143 | 1.8034 | 4.06× | 25% | +|▫| np.ones (float64) | float64 | 1,000 | 0.0009 | 0.0119 | 0.073× | 1370% | +|🟡| np.ones (float64) | float64 | 100,000 | 0.0098 | 0.0150 | 0.66× | 152% | +|✅| np.ones (float64) | float64 | 10,000,000 | 14.5911 | 12.4361 | 1.17× | 85% | +|▫| np.ones (int32) | int32 | 1,000 | 0.0009 | 0.0111 | 0.080× | 1257% | +|🟠| np.ones (int32) | int32 | 100,000 | 0.0053 | 0.0124 | 0.43× | 234% | +|✅| np.ones (int32) | int32 | 10,000,000 | 7.1344 | 2.0772 | 3.44× | 29% | +|▫| np.ones (int64) | int64 | 1,000 | 0.0009 | 0.0145 | 0.059× | 1685% | +|🟡| np.ones (int64) | int64 | 100,000 | 0.0099 | 0.0148 | 0.67× | 149% | +|✅| np.ones (int64) | int64 | 10,000,000 | 14.7038 | 12.3182 | 1.19× | 84% | +|▫| np.zeros (float32) | float32 | 1,000 | 0.0004 | 0.0107 | 0.039× | 2555% | +|✅| np.zeros (float32) | float32 | 100,000 | 0.0048 | 0.0020 | 2.37× | 42% | +|✅| np.zeros (float32) | float32 | 10,000,000 | 0.0090 | 0.0020 | 4.51× | 22% | +|▫| np.zeros (float64) | float64 | 1,000 | 0.0004 | 0.0137 | 0.026× | 3875% | +|✅| np.zeros (float64) | float64 | 100,000 | 0.0093 | 0.0026 | 3.62× | 28% | +|✅| np.zeros (float64) | float64 | 10,000,000 | 0.0083 | 0.0022 | 3.70× | 27% | +|▫| np.zeros (int32) | int32 | 1,000 | 0.0004 | 0.0107 | 0.036× | 2816% | +|✅| np.zeros (int32) | int32 | 100,000 | 0.0049 | 0.0020 | 2.45× | 41% | +|✅| np.zeros (int32) | int32 | 10,000,000 | 0.0111 | 0.0065 | 1.71× | 58% | +|▫| np.zeros (int64) | int64 | 1,000 | 0.0004 | 0.0140 | 0.027× | 3638% | +|✅| np.zeros (int64) | int64 | 100,000 | 0.0094 | 0.0026 | 3.70× | 27% | +|✅| np.zeros (int64) | int64 | 10,000,000 | 0.0114 | 0.0057 | 1.99× | 50% | +|🔴| np.zeros_like (float32) | float32 | 1,000 | 0.0011 | 0.0091 | 0.12× | 861% | +|✅| np.zeros_like (float32) | float32 | 100,000 | 0.0055 | 0.0021 | 2.63× | 38% | +|▫| np.zeros_like (float32) | float32 | 10,000,000 | 7.1806 | 0.0021 | 3422.48× | 0% | +|🔴| np.zeros_like (float64) | float64 | 1,000 | 0.0012 | 0.0135 | 0.092× | 1086% | +|✅| np.zeros_like (float64) | float64 | 100,000 | 0.0099 | 0.0027 | 3.70× | 27% | +|▫| np.zeros_like (float64) | float64 | 10,000,000 | 14.8132 | 0.0023 | 6363.47× | 0% | +|🔴| np.zeros_like (int32) | int32 | 1,000 | 0.0011 | 0.0089 | 0.12× | 842% | +|✅| np.zeros_like (int32) | int32 | 100,000 | 0.0057 | 0.0020 | 2.78× | 36% | +|▫| np.zeros_like (int32) | int32 | 10,000,000 | 7.2566 | 0.0066 | 1091.90× | 0% | +|🔴| np.zeros_like (int64) | int64 | 1,000 | 0.0010 | 0.0132 | 0.079× | 1261% | +|✅| np.zeros_like (int64) | int64 | 100,000 | 0.0100 | 0.0026 | 3.79× | 26% | +|▫| np.zeros_like (int64) | int64 | 10,000,000 | 14.7069 | 0.0056 | 2623.48× | 0% | ### Manipulation @@ -1505,17 +1505,17 @@ _Ranked over 1398 credible comparisons (both sides ≥1µs, within 20×); 384 ne |⚪| 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% | +|🔴| a.flatten | float64 | 100,000 | 0.0113 | 0.0883 | 0.13× | 782% | +|✅| a.flatten | float64 | 10,000,000 | 13.0852 | 11.4613 | 1.14× | 88% | |⚪| np.concatenate | float64 | 1,000 | 0.0010 | - | - | - | -|⚪| np.concatenate | float64 | 100,000 | 0.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.concatenate | float64 | 100,000 | 0.3154 | - | - | - | +|⚪| np.concatenate | float64 | 10,000,000 | 32.8142 | - | - | - | +|⚪| np.ravel | float64 | 1,000 | 0.0004 | - | - | - | +|▫| np.ravel | float64 | 100,000 | 0.0003 | 0.0005 | 0.69× | 145% | +|▫| np.ravel | float64 | 10,000,000 | 0.0003 | 0.0005 | 0.62× | 162% | +|⚪| np.stack | float64 | 1,000 | 0.0022 | - | - | - | +|⚪| np.stack | float64 | 100,000 | 0.3130 | - | - | - | +|⚪| np.stack | float64 | 10,000,000 | 33.9601 | - | - | - | |⚪| np.transpose (2D) | float64 | 1,000 | 0.0004 | - | - | - | |⚪| np.transpose (2D) | float64 | 100,000 | 0.0004 | - | - | - | |⚪| np.transpose (2D) | float64 | 10,000,000 | 0.0004 | - | - | - | @@ -1523,481 +1523,480 @@ _Ranked over 1398 credible comparisons (both sides ≥1µs, within 20×); 384 ne |⚪| 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% | +|▫| reshape 2D->1D | float64 | 100,000 | 0.0002 | 0.0005 | 0.33× | 304% | +|▫| reshape 2D->1D | float64 | 10,000,000 | 0.0002 | 0.0006 | 0.32× | 317% | ### Slicing | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| |⚪| a[100:1000] (contiguous) | float64 | 1,000 | 0.0002 | - | - | - | -|⚪| a[100:1000] (contiguous) | float64 | 100,000 | 0.0002 | - | - | - | -|⚪| a[100:1000] (contiguous) | float64 | 10,000,000 | 0.0002 | - | - | - | +|⚪| a[100:1000] (contiguous) | float64 | 100,000 | 0.0001 | - | - | - | +|⚪| a[100:1000] (contiguous) | float64 | 10,000,000 | 0.0001 | - | - | - | |⚪| a[::-1] (reversed) | float64 | 1,000 | 0.0001 | - | - | - | -|▫| a[::-1] (reversed) | float64 | 100,000 | 0.0002 | 0.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[::-1] (reversed) | float64 | 100,000 | 0.0002 | 0.0012 | 0.13× | 781% | +|▫| a[::-1] (reversed) | float64 | 10,000,000 | 0.0002 | 0.0012 | 0.13× | 789% | +|⚪| a[::2] (strided) | float64 | 1,000 | 0.0002 | - | - | - | |⚪| a[::2] (strided) | float64 | 100,000 | 0.0001 | - | - | - | -|⚪| a[::2] (strided) | float64 | 10,000,000 | 0.0002 | - | - | - | -|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - | -|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - | +|⚪| a[::2] (strided) | float64 | 10,000,000 | 0.0001 | - | - | - | +|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - | |⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - | +|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - | |⚪| np.sum(strided_slice) | float64 | 500 | 0.0016 | - | - | - | -|⚪| np.sum(strided_slice) | float64 | 50,000 | 0.0097 | - | - | - | -|⚪| np.sum(strided_slice) | float64 | 5,000,000 | 4.3559 | - | - | - | +|⚪| np.sum(strided_slice) | float64 | 50,000 | 0.0096 | - | - | - | +|⚪| np.sum(strided_slice) | float64 | 5,000,000 | 4.6738 | - | - | - | ### Comparison | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|▫| a != b (float32) | float32 | 1,000 | 0.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% | +|▫| a != b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.60× | 166% | +|🟠| a != b (float32) | float32 | 100,000 | 0.0059 | 0.0188 | 0.31× | 321% | +|✅| a != b (float32) | float32 | 10,000,000 | 3.9247 | 3.3366 | 1.18× | 85% | +|▫| a != b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.62× | 162% | +|🟠| a != b (float64) | float64 | 100,000 | 0.0110 | 0.0263 | 0.42× | 239% | +|✅| a != b (float64) | float64 | 10,000,000 | 6.7684 | 5.8470 | 1.16× | 86% | +|▫| a != b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54× | 186% | +|🟠| a != b (int32) | int32 | 100,000 | 0.0069 | 0.0201 | 0.34× | 291% | +|✅| a != b (int32) | int32 | 10,000,000 | 4.2916 | 3.4612 | 1.24× | 81% | +|▫| a != b (int64) | int64 | 1,000 | 0.0005 | 0.0008 | 0.60× | 166% | +|🟡| a != b (int64) | int64 | 100,000 | 0.0140 | 0.0260 | 0.54× | 186% | +|✅| a != b (int64) | int64 | 10,000,000 | 7.2974 | 5.8513 | 1.25× | 80% | +|▫| a < b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.56× | 179% | +|🟠| a < b (float32) | float32 | 100,000 | 0.0056 | 0.0189 | 0.29× | 339% | +|✅| a < b (float32) | float32 | 10,000,000 | 3.8362 | 3.2974 | 1.16× | 86% | +|▫| a < b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.62× | 162% | +|🟠| a < b (float64) | float64 | 100,000 | 0.0106 | 0.0279 | 0.38× | 264% | +|✅| a < b (float64) | float64 | 10,000,000 | 6.5961 | 5.7503 | 1.15× | 87% | +|▫| a < b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.62× | 162% | +|🟠| a < b (int32) | int32 | 100,000 | 0.0071 | 0.0187 | 0.38× | 265% | +|✅| a < b (int32) | int32 | 10,000,000 | 4.3674 | 3.2941 | 1.33× | 75% | +|▫| a < b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.73× | 137% | +|🟡| a < b (int64) | int64 | 100,000 | 0.0182 | 0.0250 | 0.73× | 137% | +|✅| a < b (int64) | int64 | 10,000,000 | 7.0769 | 5.6821 | 1.25× | 80% | +|▫| a <= b (float32) | float32 | 1,000 | 0.0006 | 0.0007 | 0.80× | 126% | +|🟠| a <= b (float32) | float32 | 100,000 | 0.0063 | 0.0181 | 0.35× | 289% | +|✅| a <= b (float32) | float32 | 10,000,000 | 3.8528 | 3.2691 | 1.18× | 85% | +|▫| a <= b (float64) | float64 | 1,000 | 0.0004 | 0.0007 | 0.60× | 167% | +|🟠| a <= b (float64) | float64 | 100,000 | 0.0104 | 0.0283 | 0.37× | 272% | +|✅| a <= b (float64) | float64 | 10,000,000 | 6.4781 | 5.7355 | 1.13× | 88% | +|▫| a <= b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.58× | 173% | +|🟠| a <= b (int32) | int32 | 100,000 | 0.0070 | 0.0192 | 0.37× | 273% | +|✅| a <= b (int32) | int32 | 10,000,000 | 4.2354 | 3.3183 | 1.28× | 78% | +|▫| a <= b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.72× | 138% | +|🟡| a <= b (int64) | int64 | 100,000 | 0.0186 | 0.0268 | 0.69× | 144% | +|✅| a <= b (int64) | int64 | 10,000,000 | 8.2513 | 5.9870 | 1.38× | 73% | +|▫| a == b (float32) | float32 | 1,000 | 0.0005 | 0.0007 | 0.61× | 163% | +|🟠| a == b (float32) | float32 | 100,000 | 0.0059 | 0.0199 | 0.29× | 339% | +|✅| a == b (float32) | float32 | 10,000,000 | 3.9574 | 3.2149 | 1.23× | 81% | +|▫| a == b (float64) | float64 | 1,000 | 0.0004 | 0.0007 | 0.58× | 172% | +|🟠| a == b (float64) | float64 | 100,000 | 0.0114 | 0.0279 | 0.41× | 244% | +|✅| a == b (float64) | float64 | 10,000,000 | 7.1028 | 5.6882 | 1.25× | 80% | +|▫| a == b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.60× | 167% | +|🟠| a == b (int32) | int32 | 100,000 | 0.0072 | 0.0183 | 0.40× | 253% | +|✅| a == b (int32) | int32 | 10,000,000 | 4.1736 | 3.3406 | 1.25× | 80% | +|▫| a == b (int64) | int64 | 1,000 | 0.0004 | 0.0008 | 0.58× | 172% | +|🟡| a == b (int64) | int64 | 100,000 | 0.0131 | 0.0248 | 0.53× | 189% | +|✅| a == b (int64) | int64 | 10,000,000 | 7.1546 | 5.7300 | 1.25× | 80% | +|▫| a > b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.56× | 178% | +|🟠| a > b (float32) | float32 | 100,000 | 0.0056 | 0.0185 | 0.31× | 327% | +|✅| a > b (float32) | float32 | 10,000,000 | 3.8956 | 3.3476 | 1.16× | 86% | +|▫| a > b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.58× | 171% | +|🟠| a > b (float64) | float64 | 100,000 | 0.0105 | 0.0262 | 0.40× | 248% | +|✅| a > b (float64) | float64 | 10,000,000 | 6.6876 | 5.7415 | 1.17× | 86% | +|▫| a > b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54× | 186% | +|🟠| a > b (int32) | int32 | 100,000 | 0.0070 | 0.0195 | 0.36× | 280% | +|✅| a > b (int32) | int32 | 10,000,000 | 4.1882 | 3.3117 | 1.26× | 79% | +|▫| a > b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.74× | 134% | +|🟡| a > b (int64) | int64 | 100,000 | 0.0231 | 0.0256 | 0.90× | 111% | +|✅| a > b (int64) | int64 | 10,000,000 | 7.6396 | 5.7329 | 1.33× | 75% | +|▫| a >= b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.61× | 165% | +|🟠| a >= b (float32) | float32 | 100,000 | 0.0063 | 0.0186 | 0.34× | 295% | +|✅| a >= b (float32) | float32 | 10,000,000 | 3.8402 | 3.2664 | 1.18× | 85% | +|▫| a >= b (float64) | float64 | 1,000 | 0.0005 | 0.0007 | 0.60× | 166% | +|🟠| a >= b (float64) | float64 | 100,000 | 0.0118 | 0.0241 | 0.49× | 203% | +|✅| a >= b (float64) | float64 | 10,000,000 | 7.1505 | 5.6739 | 1.26× | 79% | +|▫| a >= b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.56× | 177% | +|🟠| a >= b (int32) | int32 | 100,000 | 0.0069 | 0.0191 | 0.36× | 277% | +|✅| a >= b (int32) | int32 | 10,000,000 | 4.5128 | 3.3235 | 1.36× | 74% | +|▫| a >= b (int64) | int64 | 1,000 | 0.0008 | 0.0008 | 1.00× | 100% | +|🟡| a >= b (int64) | int64 | 100,000 | 0.0188 | 0.0266 | 0.71× | 142% | +|✅| a >= b (int64) | int64 | 10,000,000 | 7.8543 | 5.9554 | 1.32× | 76% | ### Bitwise | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|▫| a & b (bool) | bool | 1,000 | 0.0004 | 0.0016 | 0.24× | 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% | +|▫| a & b (bool) | bool | 1,000 | 0.0004 | 0.0016 | 0.24× | 409% | +|🔴| a & b (bool) | bool | 100,000 | 0.0028 | 0.0215 | 0.13× | 763% | +|🟡| a & b (bool) | bool | 10,000,000 | 1.8589 | 3.0929 | 0.60× | 166% | +|▫| a & b (int16) | int16 | 1,000 | 0.0008 | 0.0027 | 0.29× | 349% | +|✅| a & b (int16) | int16 | 100,000 | 0.0290 | 0.0169 | 1.72× | 58% | +|✅| a & b (int16) | int16 | 10,000,000 | 5.2942 | 2.9661 | 1.78× | 56% | +|▫| a & b (int32) | int32 | 1,000 | 0.0008 | 0.0060 | 0.13× | 779% | +|🟡| a & b (int32) | int32 | 100,000 | 0.0286 | 0.0342 | 0.84× | 120% | +|✅| a & b (int32) | int32 | 10,000,000 | 9.1881 | 5.3408 | 1.72× | 58% | +|▫| a & b (int64) | int64 | 1,000 | 0.0008 | 0.0069 | 0.11× | 891% | +|🟡| a & b (int64) | int64 | 100,000 | 0.0338 | 0.0634 | 0.53× | 188% | +|✅| a & b (int64) | int64 | 10,000,000 | 17.1008 | 16.6525 | 1.03× | 97% | +|▫| a & b (int8) | int8 | 1,000 | 0.0007 | 0.0013 | 0.49× | 204% | +|✅| a & b (int8) | int8 | 100,000 | 0.0286 | 0.0100 | 2.86× | 35% | +|✅| a & b (int8) | int8 | 10,000,000 | 3.8854 | 1.5338 | 2.53× | 40% | +|▫| a & b (uint16) | uint16 | 1,000 | 0.0008 | 0.0034 | 0.23× | 440% | +|✅| a & b (uint16) | uint16 | 100,000 | 0.0301 | 0.0180 | 1.68× | 60% | +|✅| a & b (uint16) | uint16 | 10,000,000 | 5.2834 | 3.0212 | 1.75× | 57% | +|▫| a & b (uint32) | uint32 | 1,000 | 0.0008 | 0.0039 | 0.20× | 492% | +|🟡| a & b (uint32) | uint32 | 100,000 | 0.0339 | 0.0400 | 0.85× | 118% | +|✅| a & b (uint32) | uint32 | 10,000,000 | 8.5821 | 6.0168 | 1.43× | 70% | +|▫| a & b (uint64) | uint64 | 1,000 | 0.0008 | 0.0024 | 0.32× | 310% | +|🟠| a & b (uint64) | uint64 | 100,000 | 0.0356 | 0.0739 | 0.48× | 207% | +|✅| a & b (uint64) | uint64 | 10,000,000 | 17.0644 | 16.1487 | 1.06× | 95% | +|▫| a & b (uint8) | uint8 | 1,000 | 0.0006 | 0.0010 | 0.62× | 162% | +|✅| a & b (uint8) | uint8 | 100,000 | 0.0296 | 0.0103 | 2.88× | 35% | +|✅| a & b (uint8) | uint8 | 10,000,000 | 3.8191 | 1.5272 | 2.50× | 40% | +|▫| a ^ b (bool) | bool | 1,000 | 0.0004 | 0.0017 | 0.22× | 447% | +|🔴| a ^ b (bool) | bool | 100,000 | 0.0026 | 0.0214 | 0.12× | 822% | +|🟡| a ^ b (bool) | bool | 10,000,000 | 1.8620 | 3.0807 | 0.60× | 166% | +|▫| a ^ b (int16) | int16 | 1,000 | 0.0008 | 0.0026 | 0.30× | 328% | +|✅| a ^ b (int16) | int16 | 100,000 | 0.0285 | 0.0149 | 1.92× | 52% | +|✅| a ^ b (int16) | int16 | 10,000,000 | 5.2041 | 2.9252 | 1.78× | 56% | +|▫| a ^ b (int32) | int32 | 1,000 | 0.0008 | 0.0047 | 0.16× | 615% | +|🟡| a ^ b (int32) | int32 | 100,000 | 0.0288 | 0.0321 | 0.90× | 111% | +|✅| a ^ b (int32) | int32 | 10,000,000 | 8.9067 | 5.3599 | 1.66× | 60% | +|▫| a ^ b (int64) | int64 | 1,000 | 0.0008 | 0.0040 | 0.20× | 511% | +|🟡| a ^ b (int64) | int64 | 100,000 | 0.0337 | 0.0666 | 0.51× | 198% | +|✅| a ^ b (int64) | int64 | 10,000,000 | 17.2489 | 15.6910 | 1.10× | 91% | +|▫| a ^ b (int8) | int8 | 1,000 | 0.0007 | 0.0012 | 0.52× | 191% | +|✅| a ^ b (int8) | int8 | 100,000 | 0.0295 | 0.0102 | 2.90× | 34% | +|✅| a ^ b (int8) | int8 | 10,000,000 | 3.8764 | 1.5503 | 2.50× | 40% | +|▫| a ^ b (uint16) | uint16 | 1,000 | 0.0008 | 0.0028 | 0.28× | 361% | +|✅| a ^ b (uint16) | uint16 | 100,000 | 0.0287 | 0.0163 | 1.77× | 57% | +|✅| a ^ b (uint16) | uint16 | 10,000,000 | 5.2129 | 2.9215 | 1.78× | 56% | +|▫| a ^ b (uint32) | uint32 | 1,000 | 0.0008 | 0.0048 | 0.16× | 610% | +|🟡| a ^ b (uint32) | uint32 | 100,000 | 0.0285 | 0.0315 | 0.91× | 110% | +|✅| a ^ b (uint32) | uint32 | 10,000,000 | 8.4267 | 5.7479 | 1.47× | 68% | +|▫| a ^ b (uint64) | uint64 | 1,000 | 0.0009 | 0.0111 | 0.078× | 1287% | +|🟡| a ^ b (uint64) | uint64 | 100,000 | 0.0341 | 0.0681 | 0.50× | 200% | +|✅| a ^ b (uint64) | uint64 | 10,000,000 | 16.9004 | 16.6136 | 1.02× | 98% | +|▫| a ^ b (uint8) | uint8 | 1,000 | 0.0006 | 0.0012 | 0.53× | 187% | +|✅| a ^ b (uint8) | uint8 | 100,000 | 0.0288 | 0.0119 | 2.42× | 41% | +|✅| a ^ b (uint8) | uint8 | 10,000,000 | 3.8171 | 1.4591 | 2.62× | 38% | +|▫| a | b (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.31× | 326% | +|🔴| a | b (bool) | bool | 100,000 | 0.0025 | 0.0232 | 0.11× | 912% | +|🟡| a | b (bool) | bool | 10,000,000 | 1.8887 | 2.8568 | 0.66× | 151% | +|▫| a | b (int16) | int16 | 1,000 | 0.0008 | 0.0023 | 0.35× | 288% | +|✅| a | b (int16) | int16 | 100,000 | 0.0285 | 0.0178 | 1.60× | 62% | +|✅| a | b (int16) | int16 | 10,000,000 | 5.2268 | 2.9832 | 1.75× | 57% | +|▫| a | b (int32) | int32 | 1,000 | 0.0008 | 0.0074 | 0.10× | 950% | +|🟡| a | b (int32) | int32 | 100,000 | 0.0286 | 0.0380 | 0.75× | 133% | +|✅| a | b (int32) | int32 | 10,000,000 | 9.0217 | 5.4574 | 1.65× | 60% | +|▫| a | b (int64) | int64 | 1,000 | 0.0008 | 0.0079 | 0.10× | 1003% | +|🟠| a | b (int64) | int64 | 100,000 | 0.0339 | 0.0707 | 0.48× | 209% | +|✅| a | b (int64) | int64 | 10,000,000 | 17.1245 | 15.6955 | 1.09× | 92% | +|▫| a | b (int8) | int8 | 1,000 | 0.0007 | 0.0014 | 0.48× | 210% | +|✅| a | b (int8) | int8 | 100,000 | 0.0300 | 0.0116 | 2.58× | 39% | +|✅| a | b (int8) | int8 | 10,000,000 | 4.1649 | 1.5132 | 2.75× | 36% | +|▫| a | b (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.43× | 234% | +|✅| a | b (uint16) | uint16 | 100,000 | 0.0291 | 0.0168 | 1.73× | 58% | +|✅| a | b (uint16) | uint16 | 10,000,000 | 5.1942 | 2.8924 | 1.80× | 56% | +|▫| a | b (uint32) | uint32 | 1,000 | 0.0008 | 0.0035 | 0.22× | 446% | +|🟡| a | b (uint32) | uint32 | 100,000 | 0.0285 | 0.0334 | 0.85× | 117% | +|✅| a | b (uint32) | uint32 | 10,000,000 | 8.5824 | 5.4787 | 1.57× | 64% | +|▫| a | b (uint64) | uint64 | 1,000 | 0.0008 | 0.0022 | 0.35× | 282% | +|🟡| a | b (uint64) | uint64 | 100,000 | 0.0353 | 0.0677 | 0.52× | 192% | +|✅| a | b (uint64) | uint64 | 10,000,000 | 16.8283 | 16.1102 | 1.04× | 96% | +|▫| a | b (uint8) | uint8 | 1,000 | 0.0007 | 0.0012 | 0.56× | 177% | +|✅| a | b (uint8) | uint8 | 100,000 | 0.0296 | 0.0105 | 2.83× | 35% | +|✅| a | b (uint8) | uint8 | 10,000,000 | 4.1042 | 1.4855 | 2.76× | 36% | +|▫| np.invert(a) (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.24× | 409% | +|🔴| np.invert(a) (bool) | bool | 100,000 | 0.0021 | 0.0230 | 0.092× | 1083% | +|🟡| np.invert(a) (bool) | bool | 10,000,000 | 1.6689 | 2.5576 | 0.65× | 153% | +|▫| np.invert(a) (int16) | int16 | 1,000 | 0.0007 | 0.0018 | 0.40× | 247% | +|✅| np.invert(a) (int16) | int16 | 100,000 | 0.0257 | 0.0140 | 1.83× | 55% | +|✅| np.invert(a) (int16) | int16 | 10,000,000 | 4.7670 | 2.5132 | 1.90× | 53% | +|▫| np.invert(a) (int32) | int32 | 1,000 | 0.0008 | 0.0058 | 0.13× | 758% | +|🟡| np.invert(a) (int32) | int32 | 100,000 | 0.0264 | 0.0305 | 0.86× | 116% | +|✅| np.invert(a) (int32) | int32 | 10,000,000 | 8.1792 | 4.7721 | 1.71× | 58% | +|▫| np.invert(a) (int64) | int64 | 1,000 | 0.0007 | 0.0059 | 0.13× | 796% | +|🟠| np.invert(a) (int64) | int64 | 100,000 | 0.0263 | 0.0661 | 0.40× | 251% | +|✅| np.invert(a) (int64) | int64 | 10,000,000 | 15.1634 | 14.2955 | 1.06× | 94% | +|▫| np.invert(a) (int8) | int8 | 1,000 | 0.0006 | 0.0014 | 0.46× | 218% | +|✅| np.invert(a) (int8) | int8 | 100,000 | 0.0293 | 0.0108 | 2.72× | 37% | +|✅| np.invert(a) (int8) | int8 | 10,000,000 | 3.5390 | 1.3133 | 2.69× | 37% | +|▫| np.invert(a) (uint16) | uint16 | 1,000 | 0.0007 | 0.0022 | 0.33× | 302% | +|✅| np.invert(a) (uint16) | uint16 | 100,000 | 0.0258 | 0.0206 | 1.25× | 80% | +|✅| np.invert(a) (uint16) | uint16 | 10,000,000 | 4.7281 | 2.4541 | 1.93× | 52% | +|▫| np.invert(a) (uint32) | uint32 | 1,000 | 0.0008 | 0.0036 | 0.22× | 459% | +|✅| np.invert(a) (uint32) | uint32 | 100,000 | 0.0332 | 0.0290 | 1.15× | 87% | +|✅| np.invert(a) (uint32) | uint32 | 10,000,000 | 7.8329 | 4.8460 | 1.62× | 62% | +|▫| np.invert(a) (uint64) | uint64 | 1,000 | 0.0007 | 0.0035 | 0.21× | 484% | +|🟠| np.invert(a) (uint64) | uint64 | 100,000 | 0.0263 | 0.0652 | 0.40× | 248% | +|🟡| np.invert(a) (uint64) | uint64 | 10,000,000 | 15.2896 | 15.3374 | 1.00× | 100% | +|▫| np.invert(a) (uint8) | uint8 | 1,000 | 0.0006 | 0.0014 | 0.46× | 216% | +|✅| np.invert(a) (uint8) | uint8 | 100,000 | 0.0268 | 0.0110 | 2.45× | 41% | +|✅| np.invert(a) (uint8) | uint8 | 10,000,000 | 3.5162 | 1.3311 | 2.64× | 38% | +|🔴| np.left_shift(a, 2) (bool) | bool | 1,000 | 0.0015 | 0.0125 | 0.12× | 845% | +|🟡| np.left_shift(a, 2) (bool) | bool | 100,000 | 0.0430 | 0.0779 | 0.55× | 181% | +|✅| np.left_shift(a, 2) (bool) | bool | 10,000,000 | 15.2024 | 10.3241 | 1.47× | 68% | +|🟠| np.left_shift(a, 2) (int16) | int16 | 1,000 | 0.0010 | 0.0031 | 0.33× | 302% | +|✅| np.left_shift(a, 2) (int16) | int16 | 100,000 | 0.0285 | 0.0150 | 1.90× | 53% | +|✅| np.left_shift(a, 2) (int16) | int16 | 10,000,000 | 4.9855 | 2.6983 | 1.85× | 54% | +|▫| np.left_shift(a, 2) (int32) | int32 | 1,000 | 0.0010 | 0.0057 | 0.18× | 569% | +|🟡| np.left_shift(a, 2) (int32) | int32 | 100,000 | 0.0190 | 0.0373 | 0.51× | 196% | +|✅| np.left_shift(a, 2) (int32) | int32 | 10,000,000 | 7.6421 | 4.5654 | 1.67× | 60% | +|▫| np.left_shift(a, 2) (int64) | int64 | 1,000 | 0.0009 | 0.0038 | 0.24× | 420% | +|🟠| np.left_shift(a, 2) (int64) | int64 | 100,000 | 0.0190 | 0.0672 | 0.28× | 353% | +|✅| np.left_shift(a, 2) (int64) | int64 | 10,000,000 | 15.2053 | 14.9107 | 1.02× | 98% | +|▫| np.left_shift(a, 2) (int8) | int8 | 1,000 | 0.0009 | 0.0019 | 0.49× | 204% | +|✅| np.left_shift(a, 2) (int8) | int8 | 100,000 | 0.0305 | 0.0085 | 3.58× | 28% | +|✅| np.left_shift(a, 2) (int8) | int8 | 10,000,000 | 3.7477 | 1.2738 | 2.94× | 34% | +|🟠| np.left_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0023 | 0.45× | 222% | +|✅| np.left_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0290 | 0.0163 | 1.78× | 56% | +|✅| np.left_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.3571 | 2.5057 | 2.14× | 47% | +|▫| np.left_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0045 | 0.22× | 456% | +|🟡| np.left_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0192 | 0.0272 | 0.70× | 142% | +|✅| np.left_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.9134 | 5.0757 | 1.56× | 64% | +|▫| np.left_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0096 | 0.10× | 1000% | +|🟠| np.left_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0194 | 0.0697 | 0.28× | 359% | +|🟡| np.left_shift(a, 2) (uint64) | uint64 | 10,000,000 | 15.2926 | 15.7026 | 0.97× | 103% | +|▫| np.left_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0023 | 0.40× | 250% | +|✅| np.left_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0292 | 0.0131 | 2.22× | 45% | +|✅| np.left_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.6979 | 1.2844 | 2.88× | 35% | +|🔴| np.right_shift(a, 2) (bool) | bool | 1,000 | 0.0016 | 0.0135 | 0.12× | 844% | +|🟡| np.right_shift(a, 2) (bool) | bool | 100,000 | 0.0529 | 0.0750 | 0.71× | 142% | +|✅| np.right_shift(a, 2) (bool) | bool | 10,000,000 | 15.2744 | 9.3866 | 1.63× | 62% | +|🟠| np.right_shift(a, 2) (int16) | int16 | 1,000 | 0.0011 | 0.0026 | 0.44× | 226% | +|✅| np.right_shift(a, 2) (int16) | int16 | 100,000 | 0.0377 | 0.0158 | 2.38× | 42% | +|✅| np.right_shift(a, 2) (int16) | int16 | 10,000,000 | 5.7282 | 2.6585 | 2.15× | 46% | +|🟠| np.right_shift(a, 2) (int32) | int32 | 1,000 | 0.0011 | 0.0038 | 0.28× | 354% | +|🟡| np.right_shift(a, 2) (int32) | int32 | 100,000 | 0.0288 | 0.0378 | 0.76× | 131% | +|✅| np.right_shift(a, 2) (int32) | int32 | 10,000,000 | 7.8870 | 4.3972 | 1.79× | 56% | +|🟠| np.right_shift(a, 2) (int64) | int64 | 1,000 | 0.0013 | 0.0039 | 0.32× | 309% | +|🟠| np.right_shift(a, 2) (int64) | int64 | 100,000 | 0.0287 | 0.0702 | 0.41× | 244% | +|✅| np.right_shift(a, 2) (int64) | int64 | 10,000,000 | 15.0917 | 14.2202 | 1.06× | 94% | +|🟡| np.right_shift(a, 2) (int8) | int8 | 1,000 | 0.0010 | 0.0019 | 0.54× | 185% | +|✅| np.right_shift(a, 2) (int8) | int8 | 100,000 | 0.0436 | 0.0108 | 4.02× | 25% | +|✅| np.right_shift(a, 2) (int8) | int8 | 10,000,000 | 4.7856 | 1.2716 | 3.76× | 27% | +|🟠| np.right_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0029 | 0.36× | 275% | +|✅| np.right_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0283 | 0.0170 | 1.67× | 60% | +|✅| np.right_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.1786 | 2.5878 | 2.00× | 50% | +|▫| np.right_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0036 | 0.27× | 368% | +|🟡| np.right_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0205 | 0.0284 | 0.72× | 138% | +|✅| np.right_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.7130 | 4.7119 | 1.64× | 61% | +|▫| np.right_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0108 | 0.091× | 1100% | +|🟠| np.right_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0212 | 0.0750 | 0.28× | 354% | +|🟡| np.right_shift(a, 2) (uint64) | uint64 | 10,000,000 | 14.9083 | 16.6474 | 0.90× | 112% | +|▫| np.right_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0021 | 0.44× | 227% | +|✅| np.right_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0296 | 0.0095 | 3.12× | 32% | +|✅| np.right_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.7353 | 1.2943 | 2.89× | 35% | ### Logic | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| |⚪| np.all(a) (bool) | bool | 1,000 | 0.0015 | - | - | - | -|⚪| np.all(a) (bool) | bool | 100,000 | 0.0015 | - | - | - | +|⚪| np.all(a) (bool) | bool | 100,000 | 0.0014 | - | - | - | |⚪| np.all(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - | -|⚪| np.allclose(a, b) (float16) | float16 | 1,000 | 0.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.allclose(a, b) (float16) | float16 | 1,000 | 0.0305 | - | - | - | +|⚪| np.allclose(a, b) (float16) | float16 | 100,000 | 1.7794 | - | - | - | +|⚪| np.allclose(a, b) (float16) | float16 | 10,000,000 | 192.9692 | - | - | - | +|⚪| np.allclose(a, b) (float32) | float32 | 1,000 | 0.0132 | - | - | - | +|⚪| np.allclose(a, b) (float32) | float32 | 100,000 | 0.3660 | - | - | - | +|⚪| np.allclose(a, b) (float32) | float32 | 10,000,000 | 55.8239 | - | - | - | +|⚪| np.allclose(a, b) (float64) | float64 | 1,000 | 0.0165 | - | - | - | +|⚪| np.allclose(a, b) (float64) | float64 | 100,000 | 0.6299 | - | - | - | +|⚪| np.allclose(a, b) (float64) | float64 | 10,000,000 | 107.5215 | - | - | - | +|⚪| np.any(a) (bool) | bool | 1,000 | 0.0015 | - | - | - | +|⚪| np.any(a) (bool) | bool | 100,000 | 0.0017 | - | - | - | |⚪| np.any(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - | -|✅| np.array_equal(a, b) (float16) | float16 | 1,000 | 0.0025 | 0.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.array_equal(a, b) (float16) | float16 | 1,000 | 0.0025 | 0.0013 | 1.90× | 53% | +|✅| np.array_equal(a, b) (float16) | float16 | 100,000 | 0.0873 | 0.0697 | 1.25× | 80% | +|✅| np.array_equal(a, b) (float16) | float16 | 10,000,000 | 9.5077 | 6.1828 | 1.54× | 65% | +|▫| np.array_equal(a, b) (float32) | float32 | 1,000 | 0.0016 | 0.0008 | 1.95× | 51% | +|🟠| np.array_equal(a, b) (float32) | float32 | 100,000 | 0.0067 | 0.0186 | 0.36× | 276% | +|✅| np.array_equal(a, b) (float32) | float32 | 10,000,000 | 3.9686 | 3.4029 | 1.17× | 86% | +|▫| np.array_equal(a, b) (float64) | float64 | 1,000 | 0.0018 | 0.0007 | 2.36× | 42% | +|🟠| np.array_equal(a, b) (float64) | float64 | 100,000 | 0.0121 | 0.0248 | 0.49× | 204% | +|✅| np.array_equal(a, b) (float64) | float64 | 10,000,000 | 6.8297 | 5.8386 | 1.17× | 86% | +|⚪| np.isclose(a, b) (float16) | float16 | 1,000 | 0.0300 | - | - | - | +|⚪| np.isclose(a, b) (float16) | float16 | 100,000 | 1.7764 | - | - | - | +|⚪| np.isclose(a, b) (float16) | float16 | 10,000,000 | 195.6207 | - | - | - | +|⚪| np.isclose(a, b) (float32) | float32 | 1,000 | 0.0113 | - | - | - | +|⚪| np.isclose(a, b) (float32) | float32 | 100,000 | 0.3666 | - | - | - | +|⚪| np.isclose(a, b) (float32) | float32 | 10,000,000 | 55.1472 | - | - | - | |⚪| np.isclose(a, b) (float64) | float64 | 1,000 | 0.0116 | - | - | - | -|⚪| np.isclose(a, b) (float64) | float64 | 100,000 | 0.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% | +|⚪| np.isclose(a, b) (float64) | float64 | 100,000 | 0.6275 | - | - | - | +|⚪| np.isclose(a, b) (float64) | float64 | 10,000,000 | 104.7217 | - | - | - | +|▫| np.isfinite(a) (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.57× | 175% | +|✅| np.isfinite(a) (float16) | float16 | 100,000 | 0.0496 | 0.0388 | 1.28× | 78% | +|✅| np.isfinite(a) (float16) | float16 | 10,000,000 | 5.8734 | 3.1098 | 1.89× | 53% | +|▫| np.isfinite(a) (float32) | float32 | 1,000 | 0.0004 | 0.0012 | 0.33× | 302% | +|🔴| np.isfinite(a) (float32) | float32 | 100,000 | 0.0059 | 0.0364 | 0.16× | 617% | +|🟡| np.isfinite(a) (float32) | float32 | 10,000,000 | 3.3272 | 3.8128 | 0.87× | 115% | +|▫| np.isfinite(a) (float64) | float64 | 1,000 | 0.0005 | 0.0014 | 0.32× | 314% | +|🟠| np.isfinite(a) (float64) | float64 | 100,000 | 0.0098 | 0.0365 | 0.27× | 374% | +|🟡| np.isfinite(a) (float64) | float64 | 10,000,000 | 5.3098 | 5.6920 | 0.93× | 107% | +|▫| np.isinf(a) (float16) | float16 | 1,000 | 0.0009 | 0.0012 | 0.76× | 132% | +|✅| np.isinf(a) (float16) | float16 | 100,000 | 0.0506 | 0.0386 | 1.31× | 76% | +|✅| np.isinf(a) (float16) | float16 | 10,000,000 | 6.0644 | 3.1035 | 1.95× | 51% | +|▫| np.isinf(a) (float32) | float32 | 1,000 | 0.0006 | 0.0013 | 0.41× | 241% | +|🔴| np.isinf(a) (float32) | float32 | 100,000 | 0.0058 | 0.0416 | 0.14× | 721% | +|🟡| np.isinf(a) (float32) | float32 | 10,000,000 | 3.0154 | 3.9983 | 0.75× | 133% | +|▫| np.isinf(a) (float64) | float64 | 1,000 | 0.0005 | 0.0015 | 0.32× | 312% | +|🟠| np.isinf(a) (float64) | float64 | 100,000 | 0.0101 | 0.0433 | 0.23× | 429% | +|🟡| np.isinf(a) (float64) | float64 | 10,000,000 | 5.2606 | 5.9503 | 0.88× | 113% | +|✅| np.isnan(a) (float16) | float16 | 1,000 | 0.0014 | 0.0012 | 1.12× | 89% | +|✅| np.isnan(a) (float16) | float16 | 100,000 | 0.0692 | 0.0397 | 1.74× | 57% | +|✅| np.isnan(a) (float16) | float16 | 10,000,000 | 7.7981 | 3.1130 | 2.50× | 40% | +|▫| np.isnan(a) (float32) | float32 | 1,000 | 0.0005 | 0.0016 | 0.34× | 298% | +|🔴| np.isnan(a) (float32) | float32 | 100,000 | 0.0044 | 0.0482 | 0.092× | 1091% | +|🟡| np.isnan(a) (float32) | float32 | 10,000,000 | 2.9244 | 4.7104 | 0.62× | 161% | +|▫| np.isnan(a) (float64) | float64 | 1,000 | 0.0004 | 0.0013 | 0.33× | 300% | +|🔴| np.isnan(a) (float64) | float64 | 100,000 | 0.0085 | 0.0483 | 0.18× | 569% | +|🟡| np.isnan(a) (float64) | float64 | 10,000,000 | 4.9310 | 6.0302 | 0.82× | 122% | +|✅| np.maximum(a, b) (float16) | float16 | 1,000 | 0.0031 | 0.0030 | 1.02× | 98% | +|✅| np.maximum(a, b) (float16) | float16 | 100,000 | 0.7598 | 0.6663 | 1.14× | 88% | +|✅| np.maximum(a, b) (float16) | float16 | 10,000,000 | 80.9858 | 66.1452 | 1.22× | 82% | +|▫| np.maximum(a, b) (float32) | float32 | 1,000 | 0.0006 | 0.0013 | 0.45× | 223% | +|🟠| np.maximum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0343 | 0.25× | 407% | +|✅| np.maximum(a, b) (float32) | float32 | 10,000,000 | 8.3101 | 4.3746 | 1.90× | 53% | +|▫| np.maximum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0018 | 0.31× | 323% | +|🟠| np.maximum(a, b) (float64) | float64 | 100,000 | 0.0293 | 0.0803 | 0.36× | 274% | +|🟡| np.maximum(a, b) (float64) | float64 | 10,000,000 | 16.5750 | 17.2376 | 0.96× | 104% | +|✅| np.minimum(a, b) (float16) | float16 | 1,000 | 0.0032 | 0.0031 | 1.03× | 97% | +|✅| np.minimum(a, b) (float16) | float16 | 100,000 | 0.7620 | 0.6658 | 1.14× | 87% | +|✅| np.minimum(a, b) (float16) | float16 | 10,000,000 | 81.4032 | 65.4062 | 1.25× | 80% | +|▫| np.minimum(a, b) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.42× | 240% | +|🟠| np.minimum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0345 | 0.24× | 411% | +|✅| np.minimum(a, b) (float32) | float32 | 10,000,000 | 8.4413 | 4.4356 | 1.90× | 52% | +|▫| np.minimum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0013 | 0.44× | 228% | +|🟠| np.minimum(a, b) (float64) | float64 | 100,000 | 0.0290 | 0.0866 | 0.34× | 298% | +|🟡| np.minimum(a, b) (float64) | float64 | 10,000,000 | 16.8958 | 20.5756 | 0.82× | 122% | ### Statistics | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|✅| np.average(a) (float16) | float16 | 1,000 | 0.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% | +|✅| np.average(a) (float16) | float16 | 1,000 | 0.0054 | 0.0012 | 4.48× | 22% | +|✅| np.average(a) (float16) | float16 | 100,000 | 0.1147 | 0.0798 | 1.44× | 70% | +|✅| np.average(a) (float16) | float16 | 10,000,000 | 10.5817 | 8.0311 | 1.32× | 76% | +|▫| np.average(a) (float32) | float32 | 1,000 | 0.0042 | 0.0007 | 5.80× | 17% | +|✅| np.average(a) (float32) | float32 | 100,000 | 0.0177 | 0.0032 | 5.57× | 18% | +|✅| np.average(a) (float32) | float32 | 10,000,000 | 2.8186 | 0.9734 | 2.90× | 34% | +|▫| np.average(a) (float64) | float64 | 1,000 | 0.0029 | 0.0007 | 3.89× | 26% | +|✅| np.average(a) (float64) | float64 | 100,000 | 0.0171 | 0.0040 | 4.26× | 23% | +|✅| np.average(a) (float64) | float64 | 10,000,000 | 4.6529 | 2.8474 | 1.63× | 61% | +|▫| np.count_nonzero(a) (float16) | float16 | 1,000 | 0.0018 | 0.0008 | 2.29× | 44% | +|✅| np.count_nonzero(a) (float16) | float16 | 100,000 | 0.1447 | 0.0436 | 3.32× | 30% | +|✅| np.count_nonzero(a) (float16) | float16 | 10,000,000 | 15.7587 | 4.3062 | 3.66× | 27% | +|▫| np.count_nonzero(a) (float32) | float32 | 1,000 | 0.0006 | 0.0003 | 1.87× | 53% | +|✅| np.count_nonzero(a) (float32) | float32 | 100,000 | 0.0438 | 0.0050 | 8.69× | 12% | +|✅| np.count_nonzero(a) (float32) | float32 | 10,000,000 | 4.2117 | 1.6445 | 2.56× | 39% | +|▫| np.count_nonzero(a) (float64) | float64 | 1,000 | 0.0007 | 0.0004 | 1.82× | 55% | +|✅| np.count_nonzero(a) (float64) | float64 | 100,000 | 0.0376 | 0.0090 | 4.19× | 24% | +|✅| np.count_nonzero(a) (float64) | float64 | 10,000,000 | 5.6444 | 3.9133 | 1.44× | 69% | +|✅| np.median(a) (float16) | float16 | 1,000 | 0.0144 | 0.0041 | 3.52× | 28% | +|🟡| np.median(a) (float16) | float16 | 100,000 | 0.8796 | 1.2503 | 0.70× | 142% | +|✅| np.median(a) (float16) | float16 | 10,000,000 | 105.7899 | 88.7294 | 1.19× | 84% | +|✅| np.median(a) (float32) | float32 | 1,000 | 0.0110 | 0.0023 | 4.80× | 21% | +|🟡| np.median(a) (float32) | float32 | 100,000 | 0.4686 | 0.6988 | 0.67× | 149% | +|🟡| np.median(a) (float32) | float32 | 10,000,000 | 73.7480 | 79.7326 | 0.93× | 108% | +|✅| np.median(a) (float64) | float64 | 1,000 | 0.0098 | 0.0023 | 4.23× | 24% | +|🟡| np.median(a) (float64) | float64 | 100,000 | 0.4653 | 0.7089 | 0.66× | 152% | +|🟡| np.median(a) (float64) | float64 | 10,000,000 | 86.4309 | 88.8375 | 0.97× | 103% | +|✅| np.percentile(a, 50) (float16) | float16 | 1,000 | 0.0288 | 0.0041 | 6.97× | 14% | +|✅| np.percentile(a, 50) (float16) | float16 | 100,000 | 1.7825 | 1.2489 | 1.43× | 70% | +|✅| np.percentile(a, 50) (float16) | float16 | 10,000,000 | 113.4806 | 88.7652 | 1.28× | 78% | +|✅| np.percentile(a, 50) (float32) | float32 | 1,000 | 0.0243 | 0.0023 | 10.61× | 9% | +|✅| np.percentile(a, 50) (float32) | float32 | 100,000 | 0.7026 | 0.7007 | 1.00× | 100% | +|🟡| np.percentile(a, 50) (float32) | float32 | 10,000,000 | 47.5374 | 79.7748 | 0.60× | 168% | +|✅| np.percentile(a, 50) (float64) | float64 | 1,000 | 0.0258 | 0.0023 | 11.00× | 9% | +|🟡| np.percentile(a, 50) (float64) | float64 | 100,000 | 0.7045 | 0.7086 | 0.99× | 101% | +|🟡| np.percentile(a, 50) (float64) | float64 | 10,000,000 | 58.5689 | 88.9709 | 0.66× | 152% | +|✅| np.ptp(a) (float16) | float16 | 1,000 | 0.0077 | 0.0037 | 2.10× | 48% | +|✅| np.ptp(a) (float16) | float16 | 100,000 | 1.0004 | 0.6489 | 1.54× | 65% | +|✅| np.ptp(a) (float16) | float16 | 10,000,000 | 103.1114 | 67.0357 | 1.54× | 65% | +|✅| np.ptp(a) (float32) | float32 | 1,000 | 0.0035 | 0.0022 | 1.59× | 63% | +|✅| np.ptp(a) (float32) | float32 | 100,000 | 0.0114 | 0.0080 | 1.44× | 70% | +|✅| np.ptp(a) (float32) | float32 | 10,000,000 | 2.6949 | 2.4569 | 1.10× | 91% | +|✅| np.ptp(a) (float64) | float64 | 1,000 | 0.0037 | 0.0020 | 1.88× | 53% | +|✅| np.ptp(a) (float64) | float64 | 100,000 | 0.0200 | 0.0134 | 1.49× | 67% | +|✅| np.ptp(a) (float64) | float64 | 10,000,000 | 6.9463 | 6.2250 | 1.12× | 90% | +|✅| np.quantile(a, 0.5) (float16) | float16 | 1,000 | 0.0283 | 0.0041 | 6.89× | 14% | +|✅| np.quantile(a, 0.5) (float16) | float16 | 100,000 | 1.7668 | 1.2481 | 1.42× | 71% | +|✅| np.quantile(a, 0.5) (float16) | float16 | 10,000,000 | 112.7790 | 88.6407 | 1.27× | 79% | +|✅| np.quantile(a, 0.5) (float32) | float32 | 1,000 | 0.0237 | 0.0023 | 10.32× | 10% | +|🟡| np.quantile(a, 0.5) (float32) | float32 | 100,000 | 0.6938 | 0.7016 | 0.99× | 101% | +|🟡| np.quantile(a, 0.5) (float32) | float32 | 10,000,000 | 47.6198 | 79.7894 | 0.60× | 168% | +|✅| np.quantile(a, 0.5) (float64) | float64 | 1,000 | 0.0239 | 0.0023 | 10.21× | 10% | +|🟡| np.quantile(a, 0.5) (float64) | float64 | 100,000 | 0.7004 | 0.7083 | 0.99× | 101% | +|🟡| np.quantile(a, 0.5) (float64) | float64 | 10,000,000 | 58.1853 | 89.0162 | 0.65× | 153% | ### Sorting | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|🟡| np.argsort(a) (float32) | float32 | 1,000 | 0.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% | +|🟡| np.argsort(a) (float32) | float32 | 1,000 | 0.0120 | 0.0223 | 0.54× | 186% | +|✅| np.argsort(a) (float32) | float32 | 100,000 | 1.5922 | 1.0142 | 1.57× | 64% | +|✅| np.argsort(a) (float32) | float32 | 10,000,000 | 1348.2730 | 132.4664 | 10.18× | 10% | +|🟡| np.argsort(a) (float64) | float64 | 1,000 | 0.0104 | 0.0177 | 0.59× | 171% | +|🟡| np.argsort(a) (float64) | float64 | 100,000 | 1.4280 | 2.5193 | 0.57× | 176% | +|✅| np.argsort(a) (float64) | float64 | 10,000,000 | 1768.7035 | 251.4880 | 7.03× | 14% | +|🟡| np.argsort(a) (int32) | int32 | 1,000 | 0.0113 | 0.0221 | 0.51× | 196% | +|🟠| np.argsort(a) (int32) | int32 | 100,000 | 0.4031 | 0.8504 | 0.47× | 211% | +|✅| np.argsort(a) (int32) | int32 | 10,000,000 | 174.0979 | 107.5057 | 1.62× | 62% | +|🟡| np.argsort(a) (int64) | int64 | 1,000 | 0.0131 | 0.0167 | 0.78× | 128% | +|🟠| np.argsort(a) (int64) | int64 | 100,000 | 0.4917 | 2.2549 | 0.22× | 459% | +|✅| np.argsort(a) (int64) | int64 | 10,000,000 | 310.5208 | 188.5734 | 1.65× | 61% | +|✅| np.nonzero(a) (float32) | float32 | 1,000 | 0.0027 | 0.0021 | 1.25× | 80% | +|✅| np.nonzero(a) (float32) | float32 | 100,000 | 0.1988 | 0.1946 | 1.02× | 98% | +|✅| np.nonzero(a) (float32) | float32 | 10,000,000 | 39.8712 | 14.1945 | 2.81× | 36% | +|✅| np.nonzero(a) (float64) | float64 | 1,000 | 0.0029 | 0.0020 | 1.44× | 70% | +|🟡| np.nonzero(a) (float64) | float64 | 100,000 | 0.1923 | 0.2002 | 0.96× | 104% | +|✅| np.nonzero(a) (float64) | float64 | 10,000,000 | 42.6329 | 17.6206 | 2.42× | 41% | +|🟡| np.nonzero(a) (int32) | int32 | 1,000 | 0.0017 | 0.0028 | 0.61× | 164% | +|🟡| np.nonzero(a) (int32) | int32 | 100,000 | 0.1051 | 0.1932 | 0.54× | 184% | +|✅| np.nonzero(a) (int32) | int32 | 10,000,000 | 20.1149 | 14.3503 | 1.40× | 71% | +|🟡| np.nonzero(a) (int64) | int64 | 1,000 | 0.0018 | 0.0026 | 0.69× | 144% | +|🟡| np.nonzero(a) (int64) | int64 | 100,000 | 0.1073 | 0.2034 | 0.53× | 190% | +|✅| np.nonzero(a) (int64) | int64 | 10,000,000 | 23.7474 | 18.2560 | 1.30× | 77% | +|✅| np.searchsorted(a, v) (float32) | float32 | 1,000 | 0.0083 | 0.0053 | 1.56× | 64% | +|✅| np.searchsorted(a, v) (float32) | float32 | 100,000 | 2.0222 | 1.7299 | 1.17× | 86% | +|✅| np.searchsorted(a, v) (float32) | float32 | 10,000,000 | 312.1823 | 191.5647 | 1.63× | 61% | +|✅| np.searchsorted(a, v) (float64) | float64 | 1,000 | 0.0083 | 0.0053 | 1.56× | 64% | +|✅| np.searchsorted(a, v) (float64) | float64 | 100,000 | 2.0961 | 1.7424 | 1.20× | 83% | +|✅| np.searchsorted(a, v) (float64) | float64 | 10,000,000 | 310.2307 | 192.5449 | 1.61× | 62% | +|✅| np.searchsorted(a, v) (int32) | int32 | 1,000 | 0.0190 | 0.0075 | 2.54× | 39% | +|✅| np.searchsorted(a, v) (int32) | int32 | 100,000 | 2.8983 | 2.2559 | 1.28× | 78% | +|✅| np.searchsorted(a, v) (int32) | int32 | 10,000,000 | 390.1343 | 243.3194 | 1.60× | 62% | +|✅| np.searchsorted(a, v) (int64) | int64 | 1,000 | 0.0186 | 0.0071 | 2.61× | 38% | +|✅| np.searchsorted(a, v) (int64) | int64 | 100,000 | 2.9016 | 2.2381 | 1.30× | 77% | +|✅| np.searchsorted(a, v) (int64) | int64 | 10,000,000 | 568.2151 | 243.9343 | 2.33× | 43% | ### LinearAlgebra | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|▫| np.dot(a, b) (float64) | float64 | 1,000 | 0.0007 | 0.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% | +|▫| np.dot(a, b) (float64) | float64 | 1,000 | 0.0007 | 0.0007 | 1.06× | 94% | +|✅| np.dot(a, b) (float64) | float64 | 100,000 | 0.1123 | 0.0093 | 12.05× | 8% | +|🟠| np.dot(a, b) (float64) | float64 | 10,000,000 | 0.8690 | 3.0303 | 0.29× | 349% | +|🟠| np.matmul(A, B) (float64) | float64 | 1,000 | 0.0027 | 0.0060 | 0.45× | 223% | +|🟠| np.matmul(A, B) (float64) | float64 | 100,000 | 0.5771 | 2.7815 | 0.21× | 482% | +|🔴| np.matmul(A, B) (float64) | float64 | 10,000,000 | 0.6896 | 4.4742 | 0.15× | 649% | +|🟠| np.outer(a, b) (float64) | float64 | 1,000 | 0.0022 | 0.0061 | 0.35× | 284% | +|🟡| np.outer(a, b) (float64) | float64 | 100,000 | 0.0380 | 0.0708 | 0.54× | 186% | +|✅| np.outer(a, b) (float64) | float64 | 10,000,000 | 13.4954 | 11.7542 | 1.15× | 87% | ### Selection | | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | |:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| -|🟡| np.where(cond) (float64) | float64 | 1,000 | 0.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% | - +|▫| np.where(cond) (float64) | float64 | 1,000 | 0.0009 | 0.0014 | 0.66× | 152% | +|🟠| np.where(cond) (float64) | float64 | 100,000 | 0.0294 | 0.0981 | 0.30× | 333% | +|✅| np.where(cond) (float64) | float64 | 10,000,000 | 7.4500 | 6.9913 | 1.07× | 94% | +|🟡| np.where(cond, a, b) (float64) | float64 | 1,000 | 0.0017 | 0.0020 | 0.85× | 117% | +|🟡| np.where(cond, a, b) (float64) | float64 | 100,000 | 0.0399 | 0.0688 | 0.58× | 173% | +|✅| np.where(cond, a, b) (float64) | float64 | 10,000,000 | 17.1294 | 14.8189 | 1.16× | 86% | --- @@ -2006,7 +2005,7 @@ _Ranked over 1398 credible comparisons (both sides ≥1µs, within 20×); 384 ne _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) +NumSharp NDIter — canonical benchmark · 2026-06-29 · speedup = NumPy ÷ NumSharp (>1.0× = NumSharp faster) 198 measured pairs (35 NA) · best-of-rounds, Release · matched kernels/ids %NumPy🕐 = NumSharp ÷ NumPy × 100 = share of NumPy's time NumSharp uses (8% = takes only 8% as long; <100% = faster) @@ -2014,55 +2013,55 @@ 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 +HEADLINE — operation matrix: 1.20× geomean · 83%🕐 of NumPy's time · 77 win / 53 lose over 130 cells OPERATIONS — BY SIZE TIER (geomean over all families) slower ◄───────── 1.0 (parity) ─────────► faster -scalar ██████████▉ ........ 1.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) +scalar ████████████▌ ...... 1.26× 79%🕐 ( 17 win / 9 lose) +1K ███████████▌ ....... 1.16× 86%🕐 ( 15 win / 11 lose) +100K ██████████▋ ........ 1.07× 94%🕐 ( 12 win / 14 lose) +1M ████████████▉ ...... 1.30× 77%🕐 ( 17 win / 9 lose) +10M ████████████▎ ...... 1.23× 82%🕐 ( 16 win / 10 lose) +ALL ███████████▉ ....... 1.20× 83%🕐 ( 77 win / 53 lose) OPERATIONS — BY CATEGORY (geomean over its families, all sizes) slower ◄───────── 1.0 (parity) ─────────► faster -elementwise███████████▊ ....... 1.18× 85%🕐 ( 28 win / 12 lose) -reductions █████████████████▍ 1.75× 57%🕐 ( 28 win / 12 lose) +elementwise████████████▊ ...... 1.28× 78%🕐 ( 31 win / 9 lose) +reductions █████████████████▍ 1.74× 57%🕐 ( 29 win / 11 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) +copy/cast ███████▎ ........... 0.73× 138%🕐 ( 9 win / 16 lose) ◄ SLOWER +index-math ███████▋ ........... 0.77× 130%🕐 ( 4 win / 6 lose) ◄ SLOWER +dtypes ███████████▌ ....... 1.16× 86%🕐 ( 4 win / 11 lose) CATEGORY × TIER geomean category scalar 1K 100K 1M 10M -elementwise 1.05× 1.54× 1.18× 1.09× 1.11× -reductions 2.67× 1.99× 1.51× 1.44× 1.42× +elementwise 1.65× 1.54× 1.14× 1.10× 1.08× +reductions 2.68× 2.00× 1.51× 1.43× 1.38× selection - - - - - -copy/cast 0.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× +copy/cast 0.59× 0.53× 0.41× 1.40× 1.12× +index-math 0.34× 0.51× 0.99× 1.23× 1.26× +dtypes 0.70× 0.81× 1.87× 1.39× 1.44× PER-FAMILY × TIER (NumPy ÷ NumSharp; >1.0 = NumSharp faster) family scalar 1K 100K 1M 10M geomean -- elementwise - add 1.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× + add 1.61× 1.43× 0.96× 1.00× 1.02× 1.18× + sqrt 1.67× 1.16× 1.01× 1.00× 1.01× 1.15× + copy 1.67× 2.35× 1.62× 1.39× 1.64× 1.71× + strided 1.65× 1.28× 0.93× 1.01× 0.99× 1.15× + bcast 1.68× 1.32× 0.89× 0.95× 0.95× 1.12× + reversed 1.65× 1.26× 0.93× 0.99× 0.95× 1.13× + castbuf 1.87× 2.20× 1.63× 1.36× 1.12× 1.59× + mixbuf 1.42× 1.72× 1.41× 1.20× 1.07× 1.35× -- reductions - sum 1.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× + sum 1.92× 1.85× 2.58× 1.76× 1.60× 1.92× + sum ax0 1.71× 0.86× 1.10× 0.96× 0.96× 1.09× + sum ax1 1.81× 0.92× 1.52× 1.79× 1.58× 1.48× + sum dt= 1.89× 1.35× 0.48× 0.46× 0.54× 0.79× + amin 1.69× 1.62× 0.71× 0.71× 0.76× 1.01× + cumsum 1.35× 1.13× 1.07× 1.87× 1.65× 1.38× + any(F) 10.04× 8.39× 2.00× 1.23× 1.00× 2.90× + any(hit) 10.25× 8.49× 8.50× 7.88× 7.98× 8.58× -- selection where NA NA NA NA NA a[mask] NA NA NA NA NA @@ -2072,55 +2071,55 @@ family scalar 1K 100K 1M 10M geomean 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× + flatten 0.41× 0.33× 0.17× 2.21× 1.13× 0.56× + astype 0.31× 0.53× 0.54× 1.94× 1.89× 0.80× + ravel.T 0.50× 0.58× 0.53× 2.22× 1.09× 0.82× + in-place 1.45× 0.77× 0.96× 1.03× 1.04× 1.03× + less->b 0.81× 0.52× 0.25× 0.55× 0.75× 0.53× -- index-math - unravel 0.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× + unravel 0.36× 0.50× 0.96× 1.00× 1.04× 0.71× + ravel_mi 0.32× 0.53× 1.01× 1.53× 1.54× 0.83× -- dtypes - complex 0.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× + complex 0.71× 0.58× 0.97× 0.77× 0.93× 0.78× + float16 0.72× 0.64× 0.58× 0.56× 0.57× 0.61× + int8 0.66× 1.43× 11.53× 6.16× 5.66× 3.28× CONSTRUCTION — iterator build+dispose vs np.nditer (size-invariant, 1K) slower ◄───────── 1.0 (parity) ─────────► faster -1op ██████████████████▋ 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) +1op █████████▋ ......... 0.97× 103%🕐 ( 0 win / 1 lose) ◄ SLOWER +3op_exl ███████████████████▶ 2.44× 41%🕐 ( 1 win / 0 lose) +ufunc ███████████████████▶ 2.91× 34%🕐 ( 1 win / 0 lose) +bufcast ███████████████████▶ 2.56× 39%🕐 ( 1 win / 0 lose) +multiindex █████████████▉ ..... 1.40× 72%🕐 ( 1 win / 0 lose) +8op ███████████████████▶ 3.67× 27%🕐 ( 1 win / 0 lose) +4d █████████████████▊ 1.78× 56%🕐 ( 1 win / 0 lose) +8d ██████████████████▌ 1.85× 54%🕐 ( 1 win / 0 lose) +strided2d ███████████████████▌ 1.95× 51%🕐 ( 1 win / 0 lose) +geomean ███████████████████▶ 2.03× 49%🕐 ( 8 win / 1 lose) CHUNK-WIDTH dispatch — strided rows, 2M total, inner width w (NumPy = np.positive) slower ◄───────── 1.0 (parity) ─────────► faster -w=4 ███████ ............ 0.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) +w=4 ██████▉ ............ 0.69× 145%🕐 ( 0 win / 1 lose) ◄ SLOWER +w=16 █████████▊ ......... 0.98× 102%🕐 ( 0 win / 1 lose) ◄ PARITY +w=64 ██████████▏ ........ 1.02× 98%🕐 ( 1 win / 0 lose) ◄ PARITY +w=256 ██████████████▌ .... 1.45× 69%🕐 ( 1 win / 0 lose) +w=1024 █████████████ ...... 1.31× 76%🕐 ( 1 win / 0 lose) PATHOLOGY canaries — known taxes/losses to track (NumPy ÷ NumSharp) - bcast_reduce 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) + bcast_reduce 522.42× (522.4× faster, faster) + allocate 1.06× (1.1× faster, faster) + overlap_copy 1.77× (1.8× faster, faster) + forder_out 1.17× (1.2× faster, faster) + zerodim 1.55× (1.6× faster, faster) DIVIDENDS — NumSharp-only machinery (NumPy baseline = closest it can do) scalar 1K 100K 1M 10M note -fuse7 12.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 +fuse7 12.55× 3.86× 1.44× 1.67× 2.09× vs chained 6× add +reuse 6.06× 6.12× 1.07× 1.00× 1.00× vs rebuild each call +par8 - 0.67× 2.78× 3.95× 5.40× vs single-thread -biggest NumSharp wins: i8@100K 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× +biggest NumSharp wins: i8@100K 11.53× · anyeh@1 10.25× · anyff@1 10.04× · anyeh@100K 8.50× · anyeh@1K 8.49× +most behind: flatten@100K 0.17× · lessbool@100K 0.25× · astype@1 0.31× · ravelmi@1 0.32× · flatten@1K 0.33× ``` @@ -2137,42 +2136,42 @@ Layouts (8, harmonized with the cast subsystem): `C`, `F` (Fortran), `T` (transp | 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 🟡 | +| 100K | 0.99 🟡 | 1.02 ✅ | 1.02 ✅ | 0.55 🟡 | 0.70 🟡 | 0.70 🟡 | 0.72 🟡 | 0.74 🟡 | +| 1M | 0.95 🟡 | 0.94 🟡 | 0.95 🟡 | 0.65 🟡 | 0.87 🟡 | 0.73 🟡 | 0.75 🟡 | 0.68 🟡 | **Geomean by dt** | size | f64 | f32 | c128 | dec | f16 | i32 | i64 | |---|---|---|---|---|---|---|---| -| 100K | 0.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 ✅ | +| 100K | 0.87 🟡 | 1.00 🟡 | 0.98 🟡 | 0.08 🔴 | 1.03 ✅ | 1.33 ✅ | 1.14 ✅ | +| 1M | 1.12 ✅ | 1.15 ✅ | 1.04 ✅ | 0.07 🔴 | 1.02 ✅ | 1.19 ✅ | 1.02 ✅ | **Geomean by op** | size | sum | min | max | prod | |---|---|---|---|---| -| 100K | 0.72 🟡 | 0.61 🟡 | 0.61 🟡 | 1.06 ✅ | -| 1M | 0.74 🟡 | 0.59 🟡 | 0.58 🟡 | 1.14 ✅ | +| 100K | 0.80 🟡 | 0.66 🟡 | 0.66 🟡 | 1.19 ✅ | +| 1M | 0.84 🟡 | 0.65 🟡 | 0.64 🟡 | 1.28 ✅ | **Worst 15 cells (NumSharp slowest vs NumPy)** | key | NumSharp ms | NumPy ms | ratio | |---|---|---|---| -| 1M\|dec\|bcast\|sum\|ax0 | 5.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 🔴 | +| 1M\|dec\|bcast\|sum\|ax0 | 5.5269 | 0.0655 | 0.01 🔴 | +| 100K\|dec\|bcast\|sum\|ax0 | 0.5555 | 0.0087 | 0.02 🔴 | +| 100K\|dec\|F\|sum\|ax1 | 0.5585 | 0.0094 | 0.02 🔴 | +| 100K\|dec\|C\|sum\|ax0 | 0.5615 | 0.0111 | 0.02 🔴 | +| 100K\|dec\|T\|sum\|ax1 | 0.5582 | 0.0111 | 0.02 🔴 | +| 100K\|dec\|negrow\|sum\|ax0 | 0.5592 | 0.0114 | 0.02 🔴 | +| 100K\|dec\|sliced\|sum\|ax0 | 0.5517 | 0.0115 | 0.02 🔴 | +| 1M\|dec\|sliced\|sum\|ax0 | 5.5802 | 0.1240 | 0.02 🔴 | +| 1M\|dec\|negrow\|sum\|ax0 | 5.5707 | 0.1242 | 0.02 🔴 | +| 1M\|dec\|F\|sum\|ax1 | 5.6157 | 0.1254 | 0.02 🔴 | +| 1M\|dec\|T\|sum\|ax1 | 5.5849 | 0.1278 | 0.02 🔴 | +| 1M\|dec\|C\|sum\|ax0 | 5.5736 | 0.1524 | 0.03 🔴 | +| 100K\|dec\|C\|min\|ax0 | 0.3021 | 0.0141 | 0.05 🔴 | +| 1M\|dec\|negcol\|sum\|ax0 | 5.6678 | 0.2866 | 0.05 🔴 | +| 100K\|dec\|negcol\|sum\|ax0 | 0.5594 | 0.0302 | 0.05 🔴 | ### Copy / identity-ufunc (np.positive) @@ -2180,35 +2179,35 @@ Layouts (8, harmonized with the cast subsystem): `C`, `F` (Fortran), `T` (transp | 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 ✅ | +| 100K | 1.22 ✅ | 1.51 ✅ | 1.28 ✅ | 0.83 🟡 | 1.54 ✅ | 1.48 ✅ | 2.20 ✅ | 1.62 ✅ | +| 1M | 2.82 ✅ | 2.89 ✅ | 2.88 ✅ | 2.08 ✅ | 2.58 ✅ | 2.64 ✅ | 3.16 ✅ | 2.66 ✅ | **Geomean by dt** | size | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| 100K | 0.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 ✅ | +| 100K | 0.92 🟡 | 1.03 ✅ | 1.51 ✅ | 1.99 ✅ | 1.02 ✅ | 1.09 ✅ | 1.65 ✅ | 1.08 ✅ | 2.56 ✅ | 2.47 ✅ | 1.15 ✅ | 0.85 🟡 | 2.56 ✅ | +| 1M | 4.60 ✅ | 4.87 ✅ | 2.13 ✅ | 2.14 ✅ | 2.11 ✅ | 2.12 ✅ | 2.56 ✅ | 2.46 ✅ | 2.20 ✅ | 2.10 ✅ | 2.14 ✅ | 2.59 ✅ | 5.47 ✅ | **Worst 15 cells (NumSharp slowest vs NumPy)** | key | NumSharp ms | NumPy ms | ratio | |---|---|---|---| -| 100K\|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 🟡 | +| 100K\|f64\|strided\|pos | 0.0243 | 0.0100 | 0.41 🟠 | +| 100K\|u64\|strided\|pos | 0.0241 | 0.0110 | 0.46 🟠 | +| 100K\|i64\|strided\|pos | 0.0237 | 0.0109 | 0.46 🟠 | +| 100K\|f32\|strided\|pos | 0.0216 | 0.0100 | 0.46 🟠 | +| 100K\|i32\|strided\|pos | 0.0213 | 0.0110 | 0.52 🟡 | +| 100K\|i64\|C\|pos | 0.0400 | 0.0210 | 0.53 🟡 | +| 100K\|i64\|T\|pos | 0.0387 | 0.0208 | 0.54 🟡 | +| 100K\|i8\|sliced\|pos | 0.0423 | 0.0228 | 0.54 🟡 | +| 100K\|u8\|bcast\|pos | 0.0416 | 0.0229 | 0.55 🟡 | +| 100K\|u8\|sliced\|pos | 0.0410 | 0.0227 | 0.55 🟡 | +| 100K\|u8\|negrow\|pos | 0.0410 | 0.0231 | 0.56 🟡 | +| 100K\|u32\|strided\|pos | 0.0191 | 0.0109 | 0.57 🟡 | +| 100K\|f64\|T\|pos | 0.0389 | 0.0227 | 0.58 🟡 | +| 100K\|f64\|F\|pos | 0.0362 | 0.0227 | 0.63 🟡 | +| 100K\|f64\|C\|pos | 0.0361 | 0.0228 | 0.63 🟡 | ### Elementwise (add/mul/neg/abs/sqrt/less/copy) @@ -2216,42 +2215,42 @@ Layouts (8, harmonized with the cast subsystem): `C`, `F` (Fortran), `T` (transp | 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 ✅ | +| 100K | 0.73 🟡 | 0.70 🟡 | 0.68 🟡 | 0.53 🟡 | 0.84 🟡 | 0.85 🟡 | 1.18 ✅ | 0.85 🟡 | +| 1M | 1.54 ✅ | 1.48 ✅ | 1.48 ✅ | 1.12 ✅ | 1.64 ✅ | 1.65 ✅ | 1.80 ✅ | 1.63 ✅ | **Geomean by dt** | size | f64 | f32 | c128 | f16 | i32 | i64 | |---|---|---|---|---|---|---| -| 100K | 0.58 🟡 | 0.53 🟡 | 1.18 ✅ | 0.75 🟡 | 0.79 🟡 | 0.81 🟡 | -| 1M | 1.91 ✅ | 1.59 ✅ | 1.74 ✅ | 0.96 🟡 | 1.55 ✅ | 1.82 ✅ | +| 100K | 0.67 🟡 | 0.57 🟡 | 1.15 ✅ | 0.75 🟡 | 0.82 🟡 | 0.81 🟡 | +| 1M | 1.86 ✅ | 1.53 ✅ | 1.73 ✅ | 0.94 🟡 | 1.54 ✅ | 1.79 ✅ | **Geomean by op** | size | add | mul | neg | abs | sqrt | less | copy | |---|---|---|---|---|---|---|---| -| 100K | 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 ✅ | +| 100K | 1.04 ✅ | 0.99 🟡 | 0.76 🟡 | 0.74 🟡 | 0.94 🟡 | 0.61 🟡 | 0.51 🟡 | +| 1M | 1.81 ✅ | 1.78 ✅ | 2.11 ✅ | 1.62 ✅ | 1.50 ✅ | 0.68 🟡 | 1.75 ✅ | **Worst 15 cells (NumSharp slowest vs NumPy)** | key | NumSharp ms | NumPy ms | ratio | |---|---|---|---| -| 100K\|f64\|strided\|abs | 0.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 🟠 | +| 100K\|f64\|strided\|abs | 0.0466 | 0.0077 | 0.17 🔴 | +| 100K\|f64\|strided\|neg | 0.0473 | 0.0088 | 0.19 🔴 | +| 100K\|i32\|bcast\|copy | 0.0233 | 0.0050 | 0.21 🟠 | +| 100K\|f16\|bcast\|copy | 0.0134 | 0.0030 | 0.22 🟠 | +| 100K\|f16\|negrow\|copy | 0.0168 | 0.0038 | 0.23 🟠 | +| 100K\|f32\|C\|copy | 0.0244 | 0.0059 | 0.24 🟠 | +| 100K\|i64\|strided\|neg | 0.0296 | 0.0076 | 0.26 🟠 | +| 100K\|f64\|strided\|copy | 0.0413 | 0.0108 | 0.26 🟠 | +| 100K\|f64\|negrow\|copy | 0.0595 | 0.0160 | 0.27 🟠 | +| 100K\|f16\|sliced\|copy | 0.0134 | 0.0037 | 0.27 🟠 | +| 100K\|f64\|sliced\|copy | 0.0592 | 0.0162 | 0.27 🟠 | +| 100K\|i32\|negrow\|copy | 0.0234 | 0.0064 | 0.28 🟠 | +| 100K\|f32\|C\|add | 0.0240 | 0.0066 | 0.28 🟠 | +| 100K\|f64\|strided\|mul | 0.0509 | 0.0142 | 0.28 🟠 | +| 100K\|f64\|strided\|add | 0.0516 | 0.0147 | 0.28 🟠 | --- @@ -2262,33 +2261,33 @@ The layout classes the per-operand layout grid (benchmark/layout) can't express. | 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 ✅ | +| 1-D contiguous (a+a) | 2.41 ✅ | 2.16 ✅ | 0.63 🟡 | 2.13 ✅ | 2.45 ✅ | 2.35 ✅ | 1.85 ✅ | +| 1-D strided a[::2] | 1.84 ✅ | 1.46 ✅ | 0.53 🟡 | 1.51 ✅ | 1.81 ✅ | 1.93 ✅ | 1.40 ✅ | +| 1-D reversed a[::-1] | 2.49 ✅ | 1.95 ✅ | 0.56 🟡 | 2.14 ✅ | 2.29 ✅ | 2.22 ✅ | 1.76 ✅ | +| array + scalar | 2.72 ✅ | 1.93 ✅ | 0.63 🟡 | 1.91 ✅ | 2.26 ✅ | 2.64 ✅ | 1.83 ✅ | +| scalar + array | 2.40 ✅ | 1.98 ✅ | 0.64 🟡 | 2.01 ✅ | 2.19 ✅ | 2.69 ✅ | 1.82 ✅ | +| mixed C + F | 2.29 ✅ | 2.02 ✅ | 0.62 🟡 | 2.02 ✅ | 2.09 ✅ | 1.87 ✅ | 1.68 ✅ | +| mixed C + T | 2.53 ✅ | 2.04 ✅ | 0.62 🟡 | 2.01 ✅ | 2.33 ✅ | 2.30 ✅ | 1.80 ✅ | +| binary broadcast +row(1,C) | 2.71 ✅ | 2.09 ✅ | 0.63 🟡 | 1.95 ✅ | 2.52 ✅ | 2.58 ✅ | 1.89 ✅ | +| binary broadcast +col(R,1) | 2.61 ✅ | 2.02 ✅ | 0.56 🟡 | 2.07 ✅ | 2.54 ✅ | 2.96 ✅ | 1.89 ✅ | +| col-broadcast unary (inner stride-0) | 2.54 ✅ | 1.56 ✅ | 0.88 🟡 | 1.65 ✅ | 2.64 ✅ | 6.22 ✅ | 2.13 ✅ | **Worst 12 cells** | key | NumSharp ms | NumPy ms | ratio | |---|---|---|---| -| 1d_strided|f16 | 2.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 ✅ | +| 1d_strided|f16 | 2.6261 | 1.3926 | 0.53 🟡 | +| 1d_rev|f16 | 5.2838 | 2.9653 | 0.56 🟡 | +| bcast_col|f16 | 5.2887 | 2.9837 | 0.56 🟡 | +| mix_C_T|f16 | 5.3031 | 3.2873 | 0.62 🟡 | +| mix_C_F|f16 | 5.3153 | 3.3015 | 0.62 🟡 | +| 1d_C|f16 | 4.7456 | 2.9682 | 0.63 🟡 | +| bcast_row|f16 | 4.7695 | 2.9999 | 0.63 🟡 | +| scalar_rhs|f16 | 4.7058 | 2.9602 | 0.63 🟡 | +| scalar_lhs|f16 | 4.6383 | 2.9742 | 0.64 🟡 | +| colbcast_unary|f16 | 0.4753 | 0.4173 | 0.88 🟡 | +| 1d_strided|f32 | 0.2366 | 0.3444 | 1.46 ✅ | +| 1d_strided|i32 | 0.2433 | 0.3676 | 1.51 ✅ | _60 comparable cells._ @@ -2302,326 +2301,315 @@ Full `astype(dst, copy:true)` sweep over every src→dst dtype pair × 8 memory ## 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 +- **118 / 1568** comparable cells lag (<1.0); **1450** win (≥1.0). +- **🔴 <0.2** — 0 cells. +- **🟠 0.2–0.5** — 1 cells. Top: 1× * → bool +- **🟡 0.5–1.0** — 117 cells. Top: 23× int → sub-word (narrow); 21× float/cplx → narrow-int (bool/u8/i8/i16/u16/char); 8× f16 → f64 -**float/complex → narrow-int geomean by src** (the historical cliff): `f32`→narrow **1.95**, `f64`→narrow **1.39**, `f16`→narrow **3.77**, `c128`→narrow **1.01**. +**float/complex → narrow-int geomean by src** (the historical cliff): `f32`→narrow **1.96**, `f64`→narrow **1.38**, `f16`→narrow **3.71**, `c128`→narrow **1.08**. ## Geomean by layout (all src×dst, excl. Decimal) | C | F | T | sliced | negrow | negcol | strided | bcast | |---|---|---|---|---|---|---|---| -| 1.82 ✅ | 1.97 ✅ | 1.88 ✅ | 1.87 ✅ | 1.89 ✅ | 1.81 ✅ | 1.47 ✅ | 2.21 ✅ | +| 1.86 ✅ | 1.88 ✅ | 1.93 ✅ | 1.95 ✅ | 1.97 ✅ | 1.82 ✅ | 1.47 ✅ | 2.25 ✅ | ## Geomean by src dtype (all layouts×dst) | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| 2.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 ✅ | +| 2.35 ✅ | 2.18 ✅ | 2.16 ✅ | 2.19 ✅ | 2.14 ✅ | 1.92 ✅ | 1.88 ✅ | 1.62 ✅ | 1.55 ✅ | 1.98 ✅ | 2.36 ✅ | 1.75 ✅ | 1.43 ✅ | nan ? | 1.23 ✅ | ## Geomean by dst dtype (all layouts×src) | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| 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 ✅ | +| 2.17 ✅ | 1.94 ✅ | 1.93 ✅ | 1.61 ✅ | 1.60 ✅ | 1.80 ✅ | 1.64 ✅ | 1.89 ✅ | 1.73 ✅ | 1.60 ✅ | 2.48 ✅ | 1.60 ✅ | 2.03 ✅ | nan ? | 2.59 ✅ | ## Layout: C (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 3.04✅ | 2.60✅ | 2.76✅ | 2.10✅ | 1.98✅ | 1.53✅ | 1.46✅ | 2.04✅ | 2.25✅ | 1.73✅ | 3.29✅ | 1.71✅ | 2.49✅ | — | 2.94✅ | +| **u8** | 3.55✅ | 1.55✅ | 3.56✅ | 1.69✅ | 1.83✅ | 2.01✅ | 1.89✅ | 2.21✅ | 2.47✅ | 1.62✅ | 3.90✅ | 1.38✅ | 2.41✅ | — | 3.07✅ | +| **i8** | 2.61✅ | 3.17✅ | 0.91🟡 | 1.82✅ | 1.76✅ | 1.95✅ | 1.95✅ | 2.35✅ | 2.66✅ | 1.76✅ | 3.94✅ | 1.79✅ | 2.64✅ | — | 2.98✅ | +| **i16** | 2.20✅ | 2.29✅ | 2.59✅ | 1.39✅ | 2.11✅ | 2.09✅ | 1.95✅ | 2.42✅ | 2.52✅ | 1.57✅ | 3.71✅ | 1.92✅ | 2.61✅ | — | 2.79✅ | +| **u16** | 2.22✅ | 2.80✅ | 2.81✅ | 2.12✅ | 1.24✅ | 2.09✅ | 2.14✅ | 2.63✅ | 2.22✅ | 1.08✅ | 3.71✅ | 1.93✅ | 2.46✅ | — | 2.97✅ | +| **i32** | 1.50✅ | 1.15✅ | 1.16✅ | 1.46✅ | 1.51✅ | 1.70✅ | 2.12✅ | 2.26✅ | 2.27✅ | 1.43✅ | 3.64✅ | 1.64✅ | 2.62✅ | — | 2.86✅ | +| **u32** | 1.77✅ | 1.18✅ | 1.17✅ | 1.35✅ | 1.44✅ | 2.17✅ | 1.65✅ | 2.19✅ | 2.29✅ | 1.48✅ | 3.66✅ | 1.47✅ | 2.34✅ | — | 2.69✅ | +| **i64** | 1.08✅ | 0.98🟡 | 0.96🟡 | 1.23✅ | 1.27✅ | 1.83✅ | 1.78✅ | 1.87✅ | 2.76✅ | 1.38✅ | 1.81✅ | 1.81✅ | 2.22✅ | — | 2.52✅ | +| **u64** | 1.14✅ | 0.92🟡 | 0.95🟡 | 1.22✅ | 1.18✅ | 1.73✅ | 1.73✅ | 2.56✅ | 2.09✅ | 1.30✅ | 1.65✅ | 1.14✅ | 1.79✅ | — | 2.45✅ | +| **char** | 2.07✅ | 2.02✅ | 2.14✅ | 1.49✅ | 0.97🟡 | 1.55✅ | 1.53✅ | 2.26✅ | 2.20✅ | 1.21✅ | 3.67✅ | 1.42✅ | 2.11✅ | — | 2.62✅ | +| **f16** | 4.51✅ | 5.42✅ | 5.35✅ | 3.82✅ | 3.94✅ | 3.80✅ | 1.96✅ | 2.94✅ | 0.99🟡 | 4.16✅ | 1.25✅ | 1.10✅ | 0.92🟡 | — | 1.64✅ | +| **f32** | 2.82✅ | 1.92✅ | 2.05✅ | 1.64✅ | 1.55✅ | 1.84✅ | 1.38✅ | 0.83🟡 | 0.87🟡 | 1.48✅ | 3.59✅ | 1.76✅ | 2.21✅ | — | 2.35✅ | +| **f64** | 1.81✅ | 0.81🟡 | 0.81🟡 | 1.32✅ | 1.29✅ | 1.68✅ | 1.51✅ | 0.86🟡 | 0.89🟡 | 1.38✅ | 1.04✅ | 1.72✅ | 2.05✅ | — | 2.60✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 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✅ | +| **c128** | 1.11✅ | 0.93🟡 | 0.94🟡 | 1.19✅ | 1.13✅ | 1.69✅ | 1.35✅ | 0.92🟡 | 0.84🟡 | 1.10✅ | 1.50✅ | 1.39✅ | 1.75✅ | — | 3.18✅ | ## Layout: F (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 0.24🟠 | 2.72✅ | 2.71✅ | 1.94✅ | 1.91✅ | 1.43✅ | 1.42✅ | 2.24✅ | 2.40✅ | 1.89✅ | 4.03✅ | 1.74✅ | 2.55✅ | — | 2.98✅ | +| **u8** | 4.01✅ | 1.11✅ | 3.48✅ | 1.70✅ | 1.71✅ | 2.07✅ | 2.06✅ | 2.11✅ | 2.33✅ | 1.62✅ | 3.89✅ | 1.39✅ | 2.49✅ | — | 3.06✅ | +| **i8** | 3.53✅ | 3.24✅ | 1.05✅ | 1.93✅ | 1.80✅ | 2.14✅ | 2.13✅ | 2.59✅ | 2.51✅ | 1.71✅ | 3.88✅ | 1.77✅ | 2.40✅ | — | 2.95✅ | +| **i16** | 1.87✅ | 2.06✅ | 2.52✅ | 1.31✅ | 1.98✅ | 1.84✅ | 2.01✅ | 2.59✅ | 2.39✅ | 2.19✅ | 3.71✅ | 2.05✅ | 2.39✅ | — | 3.01✅ | +| **u16** | 2.26✅ | 2.74✅ | 2.63✅ | 1.93✅ | 1.27✅ | 1.88✅ | 2.02✅ | 2.68✅ | 2.26✅ | 1.35✅ | 3.65✅ | 1.96✅ | 2.17✅ | — | 2.85✅ | +| **i32** | 1.69✅ | 1.11✅ | 1.18✅ | 1.48✅ | 1.49✅ | 1.76✅ | 2.17✅ | 2.46✅ | 2.48✅ | 1.50✅ | 3.90✅ | 1.72✅ | 2.33✅ | — | 2.85✅ | +| **u32** | 1.85✅ | 1.13✅ | 1.06✅ | 1.54✅ | 1.43✅ | 2.15✅ | 1.64✅ | 2.31✅ | 2.26✅ | 1.50✅ | 3.87✅ | 1.55✅ | 2.16✅ | — | 2.46✅ | +| **i64** | 1.11✅ | 0.94🟡 | 0.92🟡 | 1.17✅ | 1.26✅ | 1.88✅ | 1.75✅ | 2.16✅ | 2.70✅ | 1.28✅ | 1.87✅ | 1.55✅ | 2.17✅ | — | 2.24✅ | +| **u64** | 1.15✅ | 0.92🟡 | 0.94🟡 | 1.21✅ | 1.13✅ | 1.73✅ | 1.73✅ | 2.46✅ | 2.05✅ | 1.39✅ | 2.48✅ | 1.14✅ | 1.76✅ | — | 2.34✅ | +| **char** | 2.08✅ | 2.63✅ | 2.03✅ | 1.90✅ | 1.20✅ | 1.67✅ | 1.69✅ | 2.52✅ | 2.46✅ | 1.20✅ | 3.60✅ | 1.41✅ | 2.10✅ | — | 2.89✅ | +| **f16** | 4.49✅ | 6.02✅ | 6.33✅ | 3.79✅ | 4.31✅ | 3.73✅ | 2.06✅ | 2.85✅ | 1.11✅ | 4.33✅ | 1.24✅ | 2.44✅ | 0.95🟡 | — | 1.62✅ | +| **f32** | 3.44✅ | 2.12✅ | 2.26✅ | 1.62✅ | 1.64✅ | 1.92✅ | 1.35✅ | 0.82🟡 | 0.84🟡 | 1.69✅ | 3.63✅ | 1.67✅ | 2.21✅ | — | 2.26✅ | +| **f64** | 1.90✅ | 1.27✅ | 1.33✅ | 1.40✅ | 1.43✅ | 1.95✅ | 1.47✅ | 0.87🟡 | 0.90🟡 | 1.41✅ | 1.61✅ | 1.73✅ | 2.05✅ | — | 2.69✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 0.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✅ | +| **c128** | 0.99🟡 | 0.91🟡 | 0.88🟡 | 1.15✅ | 1.07✅ | 1.57✅ | 1.33✅ | 0.96🟡 | 0.81🟡 | 1.09✅ | 1.49✅ | 1.15✅ | 1.75✅ | — | 3.26✅ | ## Layout: T (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 3.40✅ | 3.39✅ | 3.74✅ | 1.71✅ | 1.80✅ | 1.47✅ | 1.41✅ | 2.31✅ | 2.32✅ | 1.91✅ | 4.20✅ | 1.78✅ | 2.68✅ | — | 2.99✅ | +| **u8** | 3.94✅ | 1.21✅ | 2.55✅ | 1.68✅ | 1.68✅ | 2.05✅ | 1.92✅ | 2.21✅ | 2.56✅ | 1.67✅ | 3.98✅ | 1.41✅ | 2.41✅ | — | 2.98✅ | +| **i8** | 2.58✅ | 3.43✅ | 0.85🟡 | 1.84✅ | 1.75✅ | 2.01✅ | 2.12✅ | 2.50✅ | 2.42✅ | 1.76✅ | 3.79✅ | 1.80✅ | 2.46✅ | — | 3.04✅ | +| **i16** | 2.29✅ | 2.12✅ | 3.21✅ | 1.25✅ | 2.11✅ | 2.01✅ | 2.04✅ | 2.43✅ | 2.25✅ | 2.00✅ | 3.86✅ | 2.02✅ | 2.46✅ | — | 3.02✅ | +| **u16** | 2.23✅ | 2.51✅ | 2.45✅ | 1.91✅ | 1.26✅ | 2.03✅ | 1.99✅ | 2.44✅ | 2.39✅ | 1.44✅ | 3.67✅ | 1.90✅ | 2.29✅ | — | 2.50✅ | +| **i32** | 1.77✅ | 1.13✅ | 1.19✅ | 1.52✅ | 1.52✅ | 1.69✅ | 2.31✅ | 2.07✅ | 2.11✅ | 1.66✅ | 3.96✅ | 1.65✅ | 2.57✅ | — | 2.95✅ | +| **u32** | 1.89✅ | 1.16✅ | 1.16✅ | 1.49✅ | 1.47✅ | 2.25✅ | 1.72✅ | 2.18✅ | 2.15✅ | 1.47✅ | 3.71✅ | 1.49✅ | 2.27✅ | — | 2.82✅ | +| **i64** | 1.28✅ | 1.04✅ | 0.93🟡 | 1.25✅ | 1.27✅ | 1.79✅ | 1.78✅ | 2.09✅ | 2.64✅ | 1.33✅ | 1.86✅ | 1.74✅ | 2.23✅ | — | 2.69✅ | +| **u64** | 1.20✅ | 0.94🟡 | 0.95🟡 | 1.21✅ | 1.16✅ | 1.79✅ | 1.62✅ | 2.52✅ | 2.00✅ | 1.36✅ | 2.47✅ | 1.12✅ | 1.90✅ | — | 2.54✅ | +| **char** | 2.14✅ | 2.15✅ | 2.63✅ | 1.84✅ | 1.22✅ | 1.61✅ | 1.62✅ | 2.24✅ | 2.47✅ | 1.31✅ | 3.50✅ | 1.44✅ | 2.32✅ | — | 2.56✅ | +| **f16** | 5.17✅ | 6.28✅ | 6.15✅ | 4.27✅ | 4.26✅ | 3.56✅ | 2.03✅ | 3.02✅ | 1.14✅ | 4.33✅ | 1.18✅ | 2.84✅ | 1.00🟡 | — | 1.65✅ | +| **f32** | 3.33✅ | 2.16✅ | 2.30✅ | 1.77✅ | 1.63✅ | 2.04✅ | 1.38✅ | 0.83🟡 | 0.86🟡 | 1.63✅ | 3.75✅ | 1.70✅ | 2.56✅ | — | 2.20✅ | +| **f64** | 2.00✅ | 1.35✅ | 1.35✅ | 1.37✅ | 1.41✅ | 1.81✅ | 1.48✅ | 0.87🟡 | 0.89🟡 | 1.31✅ | 1.63✅ | 1.74✅ | 1.93✅ | — | 2.61✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 1.00✅ | 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✅ | +| **c128** | 1.00✅ | 1.11✅ | 1.21✅ | 1.27✅ | 1.18✅ | 1.66✅ | 1.28✅ | 0.90🟡 | 0.85🟡 | 1.11✅ | 1.53✅ | 1.41✅ | 1.79✅ | — | 3.42✅ | ## Layout: sliced (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 3.14✅ | 5.84✅ | 5.99✅ | 1.96✅ | 2.00✅ | 1.49✅ | 1.56✅ | 2.38✅ | 2.06✅ | 1.99✅ | 3.95✅ | 1.74✅ | 2.66✅ | — | 3.02✅ | +| **u8** | 2.74✅ | 1.25✅ | 3.91✅ | 1.79✅ | 1.88✅ | 2.24✅ | 2.14✅ | 2.44✅ | 2.55✅ | 1.72✅ | 3.71✅ | 1.40✅ | 2.83✅ | — | 3.17✅ | +| **i8** | 2.96✅ | 3.03✅ | 0.92🟡 | 1.75✅ | 1.74✅ | 1.99✅ | 1.92✅ | 2.30✅ | 2.14✅ | 1.65✅ | 3.86✅ | 1.69✅ | 2.48✅ | — | 3.07✅ | +| **i16** | 2.25✅ | 2.82✅ | 2.56✅ | 1.45✅ | 1.71✅ | 1.93✅ | 1.90✅ | 2.47✅ | 2.50✅ | 1.62✅ | 3.54✅ | 2.06✅ | 2.58✅ | — | 2.85✅ | +| **u16** | 2.98✅ | 2.66✅ | 2.90✅ | 1.46✅ | 1.33✅ | 2.06✅ | 1.96✅ | 2.50✅ | 2.20✅ | 1.36✅ | 3.62✅ | 1.88✅ | 2.45✅ | — | 3.01✅ | +| **i32** | 1.94✅ | 2.20✅ | 2.10✅ | 1.43✅ | 1.54✅ | 1.90✅ | 1.81✅ | 2.14✅ | 2.23✅ | 1.55✅ | 3.70✅ | 1.58✅ | 2.39✅ | — | 2.86✅ | +| **u32** | 1.99✅ | 2.01✅ | 2.13✅ | 1.44✅ | 1.53✅ | 2.02✅ | 1.85✅ | 2.10✅ | 2.22✅ | 1.55✅ | 3.72✅ | 1.47✅ | 2.12✅ | — | 2.74✅ | +| **i64** | 1.20✅ | 1.18✅ | 1.28✅ | 1.42✅ | 1.33✅ | 1.78✅ | 1.78✅ | 2.22✅ | 2.35✅ | 1.42✅ | 1.82✅ | 1.52✅ | 2.36✅ | — | 2.68✅ | +| **u64** | 1.29✅ | 1.24✅ | 1.22✅ | 1.33✅ | 1.30✅ | 1.74✅ | 1.79✅ | 2.14✅ | 2.22✅ | 1.36✅ | 2.39✅ | 0.97🟡 | 1.58✅ | — | 2.45✅ | +| **char** | 2.16✅ | 2.26✅ | 2.43✅ | 1.50✅ | 1.31✅ | 1.61✅ | 1.60✅ | 2.27✅ | 2.32✅ | 1.31✅ | 3.47✅ | 1.42✅ | 2.23✅ | — | 2.80✅ | +| **f16** | 4.70✅ | 4.95✅ | 4.99✅ | 4.11✅ | 4.05✅ | 4.02✅ | 1.97✅ | 3.08✅ | 1.10✅ | 4.21✅ | 1.33✅ | 2.70✅ | 0.96🟡 | — | 1.49✅ | +| **f32** | 3.63✅ | 2.20✅ | 2.35✅ | 1.64✅ | 1.67✅ | 1.90✅ | 1.34✅ | 0.86🟡 | 0.88🟡 | 1.59✅ | 3.62✅ | 1.97✅ | 2.04✅ | — | 2.35✅ | +| **f64** | 2.01✅ | 1.26✅ | 1.31✅ | 1.42✅ | 1.33✅ | 0.70🟡 | 1.49✅ | 0.84🟡 | 0.84🟡 | 1.34✅ | 1.58✅ | 1.71✅ | 2.49✅ | — | 2.58✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 0.97🟡 | 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✅ | +| **c128** | 0.97🟡 | 1.07✅ | 0.96🟡 | 1.13✅ | 1.14✅ | 1.72✅ | 1.30✅ | 0.93🟡 | 0.80🟡 | 0.91🟡 | 1.47✅ | 1.40✅ | 1.75✅ | — | 2.20✅ | ## Layout: negrow (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 3.38✅ | 4.26✅ | 4.97✅ | 1.92✅ | 2.03✅ | 1.41✅ | 1.57✅ | 2.32✅ | 2.40✅ | 1.98✅ | 3.91✅ | 1.79✅ | 2.59✅ | — | 3.34✅ | +| **u8** | 3.67✅ | 1.14✅ | 3.99✅ | 1.71✅ | 1.63✅ | 2.15✅ | 2.24✅ | 2.37✅ | 2.35✅ | 1.87✅ | 3.81✅ | 1.44✅ | 2.29✅ | — | 3.05✅ | +| **i8** | 3.35✅ | 3.21✅ | 0.97🟡 | 2.04✅ | 1.87✅ | 2.02✅ | 2.04✅ | 2.32✅ | 2.48✅ | 1.72✅ | 3.67✅ | 1.73✅ | 2.58✅ | — | 3.25✅ | +| **i16** | 3.19✅ | 2.80✅ | 2.70✅ | 1.39✅ | 1.68✅ | 1.99✅ | 2.03✅ | 2.29✅ | 2.48✅ | 1.78✅ | 3.72✅ | 2.09✅ | 2.42✅ | — | 3.13✅ | +| **u16** | 2.41✅ | 2.59✅ | 2.35✅ | 1.53✅ | 1.32✅ | 1.77✅ | 1.84✅ | 2.45✅ | 2.56✅ | 1.53✅ | 3.57✅ | 2.04✅ | 2.46✅ | — | 2.82✅ | +| **i32** | 2.01✅ | 2.01✅ | 2.04✅ | 1.52✅ | 1.53✅ | 1.97✅ | 1.89✅ | 2.21✅ | 2.32✅ | 1.57✅ | 3.58✅ | 1.54✅ | 2.04✅ | — | 2.86✅ | +| **u32** | 1.96✅ | 2.10✅ | 2.14✅ | 1.47✅ | 1.49✅ | 1.80✅ | 1.91✅ | 2.27✅ | 2.52✅ | 1.59✅ | 3.59✅ | 1.50✅ | 2.18✅ | — | 2.54✅ | +| **i64** | 1.17✅ | 1.21✅ | 1.33✅ | 1.39✅ | 1.41✅ | 1.84✅ | 1.78✅ | 2.65✅ | 2.22✅ | 1.31✅ | 1.84✅ | 1.46✅ | 2.33✅ | — | 2.59✅ | +| **u64** | 1.13✅ | 1.26✅ | 1.29✅ | 1.33✅ | 1.37✅ | 1.83✅ | 1.96✅ | 2.17✅ | 2.39✅ | 1.31✅ | 2.35✅ | 1.00🟡 | 1.59✅ | — | 2.32✅ | +| **char** | 2.36✅ | 2.38✅ | 2.28✅ | 1.71✅ | 1.37✅ | 1.57✅ | 1.58✅ | 2.34✅ | 2.32✅ | 1.33✅ | 3.52✅ | 1.49✅ | 2.37✅ | — | 2.79✅ | +| **f16** | 5.08✅ | 4.80✅ | 4.78✅ | 3.80✅ | 3.83✅ | 3.85✅ | 2.03✅ | 3.13✅ | 1.09✅ | 3.83✅ | 1.34✅ | 2.87✅ | 0.97🟡 | — | 1.60✅ | +| **f32** | 3.30✅ | 2.23✅ | 2.25✅ | 1.60✅ | 1.67✅ | 1.91✅ | 1.36✅ | 0.84🟡 | 0.85🟡 | 1.66✅ | 3.58✅ | 1.95✅ | 2.09✅ | — | 2.25✅ | +| **f64** | 1.87✅ | 1.23✅ | 1.33✅ | 1.44✅ | 1.48✅ | 1.87✅ | 1.44✅ | 0.80🟡 | 0.88🟡 | 1.46✅ | 1.58✅ | 1.69✅ | 2.36✅ | — | 2.54✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 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✅ | +| **c128** | 1.10✅ | 0.94🟡 | 1.01✅ | 1.15✅ | 1.11✅ | 1.47✅ | 1.37✅ | 0.87🟡 | 0.92🟡 | 1.26✅ | 1.41✅ | 1.37✅ | 1.61✅ | — | 2.29✅ | ## Layout: negcol (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 4.56✅ | 7.06✅ | 6.59✅ | 2.26✅ | 2.21✅ | 1.54✅ | 1.48✅ | 2.25✅ | 2.21✅ | 2.40✅ | 2.80✅ | 1.88✅ | 2.48✅ | — | 3.10✅ | +| **u8** | 1.42✅ | 3.55✅ | 3.38✅ | 2.00✅ | 1.85✅ | 1.77✅ | 1.83✅ | 2.16✅ | 2.24✅ | 1.88✅ | 2.52✅ | 1.47✅ | 2.46✅ | — | 3.02✅ | +| **i8** | 1.31✅ | 4.32✅ | 2.73✅ | 1.70✅ | 1.89✅ | 1.82✅ | 1.83✅ | 2.24✅ | 2.26✅ | 1.73✅ | 2.63✅ | 1.65✅ | 2.37✅ | — | 3.10✅ | +| **i16** | 3.46✅ | 2.49✅ | 2.83✅ | 1.78✅ | 1.77✅ | 1.66✅ | 1.68✅ | 2.17✅ | 2.25✅ | 1.70✅ | 2.01✅ | 1.78✅ | 2.24✅ | — | 2.86✅ | +| **u16** | 3.61✅ | 3.01✅ | 3.11✅ | 1.76✅ | 1.62✅ | 1.68✅ | 1.75✅ | 2.43✅ | 2.22✅ | 1.69✅ | 2.02✅ | 1.43✅ | 2.38✅ | — | 2.92✅ | +| **i32** | 2.10✅ | 1.95✅ | 1.67✅ | 1.60✅ | 1.61✅ | 1.55✅ | 1.55✅ | 2.56✅ | 2.15✅ | 1.68✅ | 2.06✅ | 1.65✅ | 2.06✅ | — | 2.76✅ | +| **u32** | 2.08✅ | 1.60✅ | 1.53✅ | 1.59✅ | 1.58✅ | 1.48✅ | 1.61✅ | 2.46✅ | 2.30✅ | 1.63✅ | 2.02✅ | 1.47✅ | 2.34✅ | — | 2.84✅ | +| **i64** | 1.33✅ | 0.96🟡 | 0.97🟡 | 1.29✅ | 1.41✅ | 1.75✅ | 1.87✅ | 2.41✅ | 2.36✅ | 1.39✅ | 1.30✅ | 1.58✅ | 2.17✅ | — | 2.44✅ | +| **u64** | 1.26✅ | 1.01✅ | 0.93🟡 | 1.27✅ | 1.33✅ | 1.72✅ | 1.69✅ | 2.32✅ | 2.19✅ | 1.34✅ | 1.65✅ | 1.05✅ | 1.50✅ | — | 2.50✅ | +| **char** | 3.38✅ | 2.34✅ | 3.24✅ | 1.67✅ | 1.60✅ | 1.67✅ | 1.65✅ | 2.21✅ | 2.35✅ | 1.64✅ | 2.03✅ | 1.56✅ | 2.27✅ | — | 2.96✅ | +| **f16** | 4.65✅ | 1.73✅ | 1.73✅ | 1.74✅ | 1.76✅ | 2.23✅ | 1.33✅ | 2.07✅ | 0.89🟡 | 1.76✅ | 1.61✅ | 1.56✅ | 0.96🟡 | — | 1.51✅ | +| **f32** | 2.48✅ | 1.71✅ | 1.67✅ | 1.65✅ | 1.62✅ | 1.90✅ | 1.08✅ | 0.85🟡 | 0.81🟡 | 1.61✅ | 1.94✅ | 1.62✅ | 1.20✅ | — | 2.30✅ | +| **f64** | 1.45✅ | 1.12✅ | 1.10✅ | 1.33✅ | 1.38✅ | 1.75✅ | 1.10✅ | 0.83🟡 | 0.83🟡 | 1.39✅ | 1.19✅ | 1.65✅ | 2.67✅ | — | 2.68✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 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✅ | +| **c128** | 1.02✅ | 0.98🟡 | 1.08✅ | 1.19✅ | 1.10✅ | 1.54✅ | 1.16✅ | 0.98🟡 | 0.90🟡 | 1.22✅ | 0.95🟡 | 1.49✅ | 1.71✅ | — | 2.26✅ | ## Layout: strided (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 2.26✅ | 3.65✅ | 3.30✅ | 3.63✅ | 3.72✅ | 1.18✅ | 1.12✅ | 1.74✅ | 1.77✅ | 2.09✅ | 2.71✅ | 1.41✅ | 1.75✅ | — | 2.30✅ | +| **u8** | 0.97🟡 | 2.00✅ | 2.27✅ | 2.28✅ | 1.89✅ | 1.30✅ | 1.27✅ | 2.06✅ | 1.84✅ | 1.90✅ | 2.55✅ | 1.13✅ | 1.78✅ | — | 2.61✅ | +| **i8** | 0.91🟡 | 2.13✅ | 2.46✅ | 1.91✅ | 1.77✅ | 1.35✅ | 1.55✅ | 2.04✅ | 1.89✅ | 1.86✅ | 2.45✅ | 1.33✅ | 1.92✅ | — | 2.34✅ | +| **i16** | 2.41✅ | 1.68✅ | 1.97✅ | 1.14✅ | 2.07✅ | 1.21✅ | 1.26✅ | 1.90✅ | 1.96✅ | 1.70✅ | 1.89✅ | 1.18✅ | 1.73✅ | — | 2.39✅ | +| **u16** | 2.39✅ | 1.77✅ | 1.76✅ | 1.37✅ | 1.41✅ | 1.29✅ | 1.32✅ | 1.89✅ | 1.90✅ | 1.52✅ | 1.90✅ | 1.04✅ | 1.81✅ | — | 2.32✅ | +| **i32** | 1.60✅ | 1.43✅ | 1.39✅ | 1.16✅ | 1.16✅ | 1.23✅ | 1.08✅ | 1.86✅ | 1.78✅ | 1.26✅ | 1.88✅ | 1.28✅ | 1.76✅ | — | 2.44✅ | +| **u32** | 1.74✅ | 1.22✅ | 1.18✅ | 1.10✅ | 1.25✅ | 1.13✅ | 1.14✅ | 1.86✅ | 1.84✅ | 1.18✅ | 1.95✅ | 1.13✅ | 1.77✅ | — | 2.24✅ | +| **i64** | 1.11✅ | 0.95🟡 | 0.94🟡 | 0.86🟡 | 0.94🟡 | 1.22✅ | 1.35✅ | 1.77✅ | 1.74✅ | 0.91🟡 | 1.19✅ | 1.26✅ | 1.74✅ | — | 2.43✅ | +| **u64** | 1.07✅ | 0.93🟡 | 0.94🟡 | 0.83🟡 | 1.01✅ | 1.20✅ | 1.27✅ | 1.58✅ | 1.70✅ | 1.03✅ | 1.48✅ | 0.74🟡 | 1.47✅ | — | 2.17✅ | +| **char** | 2.39✅ | 1.80✅ | 1.68✅ | 1.26✅ | 1.49✅ | 1.21✅ | 1.30✅ | 1.85✅ | 1.75✅ | 1.51✅ | 1.83✅ | 1.13✅ | 1.73✅ | — | 2.34✅ | +| **f16** | 2.62✅ | 1.49✅ | 1.52✅ | 1.59✅ | 1.66✅ | 1.76✅ | 1.14✅ | 1.85✅ | 0.89🟡 | 1.59✅ | 1.11✅ | 1.23✅ | 0.95🟡 | — | 1.44✅ | +| **f32** | 1.98✅ | 1.31✅ | 1.31✅ | 1.30✅ | 1.37✅ | 1.34✅ | 0.91🟡 | 0.94🟡 | 0.80🟡 | 1.30✅ | 1.78✅ | 1.16✅ | 1.20✅ | — | 2.43✅ | +| **f64** | 1.25✅ | 0.98🟡 | 0.97🟡 | 0.91🟡 | 0.86🟡 | 1.22✅ | 0.94🟡 | 0.89🟡 | 0.80🟡 | 0.94🟡 | 1.06✅ | 1.07✅ | 1.81✅ | — | 2.08✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 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✅ | +| **c128** | 1.07✅ | 1.14✅ | 0.99🟡 | 0.93🟡 | 0.91🟡 | 1.15✅ | 1.03✅ | 0.97🟡 | 0.83🟡 | 0.94🟡 | 0.89🟡 | 1.08✅ | 1.59✅ | — | 1.66✅ | ## Layout: bcast (rows=src, cols=dst) | src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | |---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| -| **bool** | 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✅ | +| **bool** | 1.26✅ | 5.38✅ | 6.24✅ | 2.28✅ | 2.24✅ | 1.51✅ | 1.46✅ | 2.32✅ | 2.18✅ | 2.26✅ | 3.97✅ | 1.91✅ | 2.37✅ | — | 3.14✅ | +| **u8** | 4.95✅ | 0.89🟡 | 4.29✅ | 1.87✅ | 1.88✅ | 2.08✅ | 2.14✅ | 2.52✅ | 2.39✅ | 1.87✅ | 3.76✅ | 2.32✅ | 2.15✅ | — | 2.95✅ | +| **i8** | 5.13✅ | 4.15✅ | 0.80🟡 | 1.82✅ | 1.87✅ | 2.12✅ | 2.43✅ | 2.55✅ | 2.38✅ | 1.91✅ | 3.81✅ | 2.16✅ | 2.28✅ | — | 3.14✅ | +| **i16** | 4.77✅ | 3.50✅ | 3.80✅ | 1.60✅ | 1.72✅ | 1.98✅ | 1.91✅ | 2.18✅ | 2.32✅ | 1.69✅ | 3.62✅ | 2.22✅ | 2.52✅ | — | 3.12✅ | +| **u16** | 4.57✅ | 4.20✅ | 3.20✅ | 1.85✅ | 1.63✅ | 1.98✅ | 1.89✅ | 2.26✅ | 2.27✅ | 1.66✅ | 3.72✅ | 2.08✅ | 2.26✅ | — | 2.70✅ | +| **i32** | 3.42✅ | 2.89✅ | 3.25✅ | 1.70✅ | 1.67✅ | 2.12✅ | 1.92✅ | 2.09✅ | 2.34✅ | 1.94✅ | 3.82✅ | 2.24✅ | 2.67✅ | — | 3.00✅ | +| **u32** | 3.64✅ | 3.72✅ | 2.42✅ | 1.66✅ | 1.77✅ | 2.02✅ | 1.99✅ | 2.23✅ | 2.31✅ | 1.90✅ | 3.73✅ | 2.29✅ | 2.27✅ | — | 2.94✅ | +| **i64** | 2.70✅ | 2.23✅ | 2.29✅ | 1.73✅ | 1.72✅ | 2.04✅ | 2.10✅ | 2.41✅ | 2.12✅ | 1.72✅ | 1.85✅ | 2.08✅ | 2.00✅ | — | 2.67✅ | +| **u64** | 2.57✅ | 2.40✅ | 2.16✅ | 1.60✅ | 1.66✅ | 2.08✅ | 1.92✅ | 2.24✅ | 2.29✅ | 1.75✅ | 2.43✅ | 2.26✅ | 2.14✅ | — | 2.72✅ | +| **char** | 4.78✅ | 3.81✅ | 3.84✅ | 1.74✅ | 1.50✅ | 1.65✅ | 1.66✅ | 2.17✅ | 2.36✅ | 1.65✅ | 3.64✅ | 1.54✅ | 2.36✅ | — | 2.75✅ | +| **f16** | 6.87✅ | 5.51✅ | 5.35✅ | 4.23✅ | 4.21✅ | 3.88✅ | 2.04✅ | 3.04✅ | 1.09✅ | 3.86✅ | 1.46✅ | 2.87✅ | 0.96🟡 | — | 1.55✅ | +| **f32** | 4.89✅ | 3.29✅ | 2.71✅ | 1.88✅ | 2.02✅ | 2.15✅ | 1.47✅ | 2.21✅ | 0.86🟡 | 1.84✅ | 3.65✅ | 2.09✅ | 2.11✅ | — | 2.29✅ | +| **f64** | 2.70✅ | 2.15✅ | 2.14✅ | 1.78✅ | 1.77✅ | 2.11✅ | 1.49✅ | 1.99✅ | 0.88🟡 | 1.81✅ | 1.58✅ | 2.04✅ | 2.51✅ | — | 2.66✅ | | **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | -| **c128** | 1.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✅ | +| **c128** | 1.09✅ | 1.06✅ | 1.05✅ | 1.38✅ | 1.40✅ | 1.75✅ | 1.35✅ | 0.84🟡 | 0.80🟡 | 1.39✅ | 1.50✅ | 1.56✅ | 2.01✅ | — | 2.94✅ | -## Lagging cells (<1.0) — the worklist (129 cells) +## Lagging cells (<1.0) — the worklist (118 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)._ +| bool\|F\|bool | 0.0595 | 0.0144 | 0.24 🟠 | +| f64\|sliced\|i32 | 0.9124 | 0.6414 | 0.70 🟡 | +| u64\|strided\|f32 | 0.5215 | 0.3885 | 0.74 🟡 | +| c128\|bcast\|u64 | 1.5413 | 1.2301 | 0.80 🟡 | +| f32\|strided\|u64 | 0.7987 | 0.6399 | 0.80 🟡 | +| i8\|bcast\|i8 | 0.0619 | 0.0496 | 0.80 🟡 | +| c128\|sliced\|u64 | 1.7479 | 1.4021 | 0.80 🟡 | +| f64\|strided\|u64 | 0.7758 | 0.6243 | 0.80 🟡 | +| f64\|negrow\|i64 | 1.5209 | 1.2241 | 0.80 🟡 | +| c128\|F\|u64 | 1.7023 | 1.3717 | 0.81 🟡 | +| f32\|negcol\|u64 | 1.5659 | 1.2627 | 0.81 🟡 | +| f64\|C\|i8 | 0.2927 | 0.2376 | 0.81 🟡 | +| f64\|C\|u8 | 0.2892 | 0.2350 | 0.81 🟡 | +| f32\|F\|i64 | 1.4588 | 1.1945 | 0.82 🟡 | +| c128\|strided\|u64 | 0.9366 | 0.7745 | 0.83 🟡 | +| u64\|strided\|i16 | 0.1726 | 0.1432 | 0.83 🟡 | +| f32\|C\|i64 | 1.4773 | 1.2276 | 0.83 🟡 | +| f64\|negcol\|u64 | 1.5574 | 1.2946 | 0.83 🟡 | +| f32\|T\|i64 | 1.4640 | 1.2208 | 0.83 🟡 | +| f64\|negcol\|i64 | 1.4625 | 1.2196 | 0.83 🟡 | +| c128\|C\|u64 | 1.6652 | 1.3911 | 0.84 🟡 | +| f32\|negrow\|i64 | 1.4768 | 1.2373 | 0.84 🟡 | +| f32\|F\|u64 | 1.4675 | 1.2315 | 0.84 🟡 | +| f64\|sliced\|i64 | 1.4533 | 1.2221 | 0.84 🟡 | +| c128\|bcast\|i64 | 1.4280 | 1.2013 | 0.84 🟡 | +| f64\|sliced\|u64 | 1.4453 | 1.2198 | 0.84 🟡 | +| i8\|T\|i8 | 0.0613 | 0.0519 | 0.85 🟡 | +| c128\|T\|u64 | 1.6154 | 1.3692 | 0.85 🟡 | +| f32\|negrow\|u64 | 1.4957 | 1.2720 | 0.85 🟡 | +| f32\|negcol\|i64 | 1.4173 | 1.2088 | 0.85 🟡 | +| f64\|C\|i64 | 1.4556 | 1.2468 | 0.86 🟡 | +| i64\|strided\|i16 | 0.1748 | 0.1499 | 0.86 🟡 | +| f32\|sliced\|i64 | 1.4408 | 1.2354 | 0.86 🟡 | +| f64\|strided\|u16 | 0.1706 | 0.1469 | 0.86 🟡 | +| f32\|T\|u64 | 1.4532 | 1.2546 | 0.86 🟡 | +| f32\|bcast\|u64 | 1.4571 | 1.2602 | 0.86 🟡 | +| c128\|negrow\|i64 | 1.5665 | 1.3619 | 0.87 🟡 | +| f64\|F\|i64 | 1.4506 | 1.2612 | 0.87 🟡 | +| f64\|T\|i64 | 1.4409 | 1.2540 | 0.87 🟡 | +| f32\|C\|u64 | 1.4695 | 1.2834 | 0.87 🟡 | +| f64\|bcast\|u64 | 1.4020 | 1.2277 | 0.88 🟡 | +| f64\|negrow\|u64 | 1.4430 | 1.2673 | 0.88 🟡 | +| c128\|F\|i8 | 0.3572 | 0.3148 | 0.88 🟡 | +| f32\|sliced\|u64 | 1.4888 | 1.3174 | 0.88 🟡 | +| f16\|negcol\|u64 | 2.1147 | 1.8765 | 0.89 🟡 | +| u8\|bcast\|u8 | 0.0587 | 0.0522 | 0.89 🟡 | +| f64\|strided\|i64 | 0.7057 | 0.6283 | 0.89 🟡 | +| f64\|C\|u64 | 1.4293 | 1.2761 | 0.89 🟡 | +| f16\|strided\|u64 | 1.0346 | 0.9241 | 0.89 🟡 | +| c128\|strided\|f16 | 0.8811 | 0.7874 | 0.89 🟡 | +| f64\|T\|u64 | 1.4221 | 1.2717 | 0.89 🟡 | +| c128\|T\|i64 | 1.5151 | 1.3650 | 0.90 🟡 | +| c128\|negcol\|u64 | 1.6586 | 1.4945 | 0.90 🟡 | +| f64\|F\|u64 | 1.4496 | 1.3097 | 0.90 🟡 | +| f32\|strided\|u32 | 0.3838 | 0.3480 | 0.91 🟡 | +| c128\|sliced\|char | 0.5601 | 0.5081 | 0.91 🟡 | +| f64\|strided\|i16 | 0.1641 | 0.1489 | 0.91 🟡 | +| c128\|F\|u8 | 0.3391 | 0.3083 | 0.91 🟡 | +| i64\|strided\|char | 0.1534 | 0.1397 | 0.91 🟡 | +| i8\|strided\|bool | 0.1632 | 0.1489 | 0.91 🟡 | +| i8\|C\|i8 | 0.0595 | 0.0543 | 0.91 🟡 | +| c128\|strided\|u16 | 0.3051 | 0.2789 | 0.91 🟡 | +| c128\|C\|i64 | 1.5153 | 1.3895 | 0.92 🟡 | +| u64\|F\|u8 | 0.2149 | 0.1979 | 0.92 🟡 | +| c128\|negrow\|u64 | 1.7009 | 1.5680 | 0.92 🟡 | +| i64\|F\|i8 | 0.2150 | 0.1982 | 0.92 🟡 | +| f16\|C\|f64 | 1.5894 | 1.4665 | 0.92 🟡 | +| u64\|C\|u8 | 0.2155 | 0.1988 | 0.92 🟡 | +| i8\|sliced\|i8 | 0.0575 | 0.0530 | 0.92 🟡 | +| c128\|strided\|i16 | 0.3130 | 0.2897 | 0.93 🟡 | +| c128\|C\|u8 | 0.3526 | 0.3283 | 0.93 🟡 | +| u64\|negcol\|i8 | 0.2475 | 0.2306 | 0.93 🟡 | +| i64\|T\|i8 | 0.2114 | 0.1973 | 0.93 🟡 | +| c128\|sliced\|i64 | 1.4869 | 1.3889 | 0.93 🟡 | +| u64\|strided\|u8 | 0.1409 | 0.1316 | 0.93 🟡 | +| c128\|strided\|char | 0.2944 | 0.2754 | 0.94 🟡 | +| f32\|strided\|i64 | 0.7048 | 0.6596 | 0.94 🟡 | +| c128\|C\|i8 | 0.3417 | 0.3201 | 0.94 🟡 | +| i64\|strided\|u16 | 0.1550 | 0.1454 | 0.94 🟡 | +| u64\|F\|i8 | 0.2121 | 0.1991 | 0.94 🟡 | +| u64\|strided\|i8 | 0.1389 | 0.1305 | 0.94 🟡 | +| u64\|T\|u8 | 0.2105 | 0.1978 | 0.94 🟡 | +| i64\|F\|u8 | 0.2204 | 0.2078 | 0.94 🟡 | +| c128\|negrow\|u8 | 0.3492 | 0.3294 | 0.94 🟡 | +| f64\|strided\|char | 0.1593 | 0.1504 | 0.94 🟡 | +| f64\|strided\|u32 | 0.3797 | 0.3587 | 0.94 🟡 | +| i64\|strided\|i8 | 0.1438 | 0.1358 | 0.94 🟡 | +| u64\|C\|i8 | 0.2096 | 0.1981 | 0.95 🟡 | +| f16\|strided\|f64 | 0.7709 | 0.7306 | 0.95 🟡 | +| f16\|F\|f64 | 1.5066 | 1.4286 | 0.95 🟡 | +| i64\|strided\|u8 | 0.1424 | 0.1351 | 0.95 🟡 | +| u64\|T\|i8 | 0.2094 | 0.1987 | 0.95 🟡 | +| c128\|negcol\|f16 | 1.8203 | 1.7315 | 0.95 🟡 | +| f16\|sliced\|f64 | 1.4890 | 1.4241 | 0.96 🟡 | +| c128\|F\|i64 | 1.5008 | 1.4359 | 0.96 🟡 | +| i64\|negcol\|u8 | 0.2439 | 0.2335 | 0.96 🟡 | +| f16\|bcast\|f64 | 1.5177 | 1.4532 | 0.96 🟡 | +| c128\|sliced\|i8 | 0.3253 | 0.3118 | 0.96 🟡 | +| i64\|C\|i8 | 0.2090 | 0.2004 | 0.96 🟡 | +| f16\|negcol\|f64 | 1.5238 | 1.4668 | 0.96 🟡 | +| char\|C\|u16 | 0.2540 | 0.2457 | 0.97 🟡 | +| c128\|sliced\|bool | 0.4498 | 0.4355 | 0.97 🟡 | +| c128\|strided\|i64 | 0.8006 | 0.7755 | 0.97 🟡 | +| u64\|sliced\|f32 | 0.7665 | 0.7425 | 0.97 🟡 | +| f16\|negrow\|f64 | 1.5293 | 1.4823 | 0.97 🟡 | +| f64\|strided\|i8 | 0.1454 | 0.1413 | 0.97 🟡 | +| i8\|negrow\|i8 | 0.0558 | 0.0542 | 0.97 🟡 | +| u8\|strided\|bool | 0.1537 | 0.1495 | 0.97 🟡 | +| i64\|negcol\|i8 | 0.2480 | 0.2414 | 0.97 🟡 | +| i64\|C\|u8 | 0.2108 | 0.2062 | 0.98 🟡 | +| c128\|negcol\|u8 | 0.3485 | 0.3423 | 0.98 🟡 | +| f64\|strided\|u8 | 0.1456 | 0.1431 | 0.98 🟡 | +| c128\|negcol\|i64 | 1.6104 | 1.5838 | 0.98 🟡 | +| f16\|C\|u64 | 1.8886 | 1.8634 | 0.99 🟡 | +| c128\|F\|bool | 0.4151 | 0.4098 | 0.99 🟡 | +| c128\|strided\|i8 | 0.2650 | 0.2633 | 0.99 🟡 | +| f16\|T\|f64 | 1.4800 | 1.4751 | 1.00 🟡 | +| u64\|negrow\|f32 | 0.7923 | 0.7904 | 1.00 🟡 | + +_1568 comparable cells (1800 NumSharp rows; 118 lagging <1.0)._ --- @@ -2636,33 +2624,33 @@ NumSharp — fused np.evaluate vs unfused np.* chains (4M elements, best-of-9; ( 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 fused 3.53 ms unfused 6.08 ms (1.72x) + (a-b)/(a+b) fused 3.16 ms unfused 12.32 ms (3.90x) + sum(a*b) fused 2.30 ms unfused 4.33 ms (1.88x) + sum(af*bf) fused 1.43 ms unfused 1.57 ms (1.10x) [f32] + a*b+c out= fused 3.56 ms [1-pass fused-into-out] + i4*2+f8 fused 2.78 ms unfused 4.04 ms (1.45x) a*b+c across operand layouts (2-D 2000x2000, all 3 operands same layout): - [C ] fused 3.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) + [C ] fused 3.43 ms unfused 6.05 ms (1.77x) + [F ] fused 3.52 ms unfused 6.18 ms (1.75x) + [T ] fused 3.50 ms unfused 6.27 ms (1.79x) + [strided] fused 3.31 ms unfused 4.72 ms (1.43x) + [bcast ] fused 1.06 ms unfused 3.75 ms (3.53x) NumPy — absolutes on the same box (context for the unfused column): numpy 2.4.2, 4M float64, best of 9: - a*b+c 12.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 12.35 ms + (a-b)/(a+b) 18.75 ms + sum(a*b) 8.60 ms + sum(af*bf) 4.14 ms [f32] + a*b+c out= 4.68 ms [two-pass with out=] + i4*2+f8 9.67 ms a*b+c across operand layouts (2-D 2000x2000, unfused): - [C ] 12.87 ms - [F ] 12.76 ms - [T ] 12.84 ms - [strided] 7.87 ms - [bcast ] 12.36 ms + [C ] 12.52 ms + [F ] 12.54 ms + [T ] 12.51 ms + [strided] 7.91 ms + [bcast ] 11.95 ms ``` diff --git a/benchmark/history/2026-06-29_2d16f477/MANIFEST.md b/benchmark/history/2026-06-29_2d16f477/MANIFEST.md new file mode 100644 index 000000000..7fdee9b80 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/MANIFEST.md @@ -0,0 +1,55 @@ +# Benchmark snapshot — 2026-06-29 · 2d16f477 + +Official NumSharp-vs-NumPy 3-size comparison + the five matrix subsystems, persisted for provenance. Auto-generated by `benchmark/scripts/snapshot_history.py`. + +## Provenance +| | | +|---|---| +| Run timestamp | `20260629-083502` | +| Git HEAD | `2d16f477` — test(drawing): edge-case and data-loss/corruption coverage … | +| Working tree | clean (HEAD exactly) | +| Date | 2026-06-29 | + +## Environment +| | | +|---|---| +| CPU | 13th Gen Intel Core i9-13900K | +| OS | Windows 11 (10.0.26200) | +| .NET SDK | 10.0.101 (net10.0, Release) | +| Python | 3.12.12 | +| NumPy | 2.4.2 | + +## Convention +**Ratio = NumPy_ms ÷ NumSharp_ms (NPY/NS) → `>1.0×` = NumSharp faster** (higher is better). + +## Methodology +- **C#:** BenchmarkDotNet, `OfficialBenchmarkConfig` — InProcessEmit toolchain, 50 measured + iterations / 5 warmup, iteration time capped at 25 ms. MemoryDiagnoser on. +- **NumPy:** 50 timed iterations / 10 warmup per op (warm long-lived interpreter). +- **Sizes:** 1,000 / 100,000 / 10,000,000 elements. Same seeds both sides. +- Join keyed on (op, dtype, N). +- **Subsystems** appended to `benchmark-report.md`: NDIter, Layout, Operand, Cast, Fusion. + +## Headline — op-matrix geomean by size (NPY/NS, >1 = NumSharp faster) +| Size | geomean | %NumPy🕐 | ✅ / 🟡 / 🟠 / 🔴 | +|---|--:|--:|---| +| 1,000 | 1.13x | 89% | 116 / 58 / 35 / 11 | +| 100,000 | 0.98x | 102% | 295 / 135 / 124 / 35 | +| 10,000,000 | 1.39x | 72% | 427 / 136 / 24 / 4 | + +Overall op-matrix: **1851 ops | ✅ 838 | 🟡 329 | 🟠 183 | 🔴 50 | ▫ 388 | ⚪ 63**. + +NDIter: _HEADLINE — operation matrix: 1.20× geomean · 83%🕐 of NumPy's time · 77 win / 53 lose over 130 cells_ + +Cast: _**118 / 1568** comparable cells lag (<1.0); **1450** win (≥1.0)._ + +## Files +| file | what | +|---|---| +| `benchmark-report.md` | op-matrix (per-(op,dtype,N) ratio) + appended NDIter/Layout/Operand/Cast/Fusion | +| `benchmark-report.json` / `.csv` | unified machine-readable / spreadsheet form | +| `numpy-results.json` | raw NumPy timings (merge input) | +| `nditer_results.*` + `cards/` | iterator benchmark sheet + README cards | +| `layout_/operand_/cast_/fusion_results.*` | the four matrix-subsystem sheets | + +Raw BenchmarkDotNet per-class JSON (~tens of MB) is **not** persisted here (regenerable). Reproduce with `python benchmark/run_benchmark.py`. diff --git a/benchmark/history/2026-06-29_2d16f477/benchmark-report.csv b/benchmark/history/2026-06-29_2d16f477/benchmark-report.csv new file mode 100644 index 000000000..c66cf685c --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/benchmark-report.csv @@ -0,0 +1,1852 @@ +Operation,Suite,Category,DType,N,NumPy (ms),NumSharp (ms),Ratio (NumPy/NumSharp),%NumPy,Status +a + b (element-wise) (uint8),Arithmetic,Add,uint8,1000,0.0008,0.0019,0.432,231.6,negligible +"np.add(a, b) (uint8)",Arithmetic,Add,uint8,1000,0.0007,0.0019,0.362,276.2,negligible +a + scalar (uint8),Arithmetic,Add,uint8,1000,0.0008,0.0015,0.496,201.6,negligible +a + 5 (literal) (uint8),Arithmetic,Add,uint8,1000,0.0009,0.0036,0.256,390.2,negligible +a - b (element-wise) (uint8),Arithmetic,Subtract,uint8,1000,0.0007,0.0015,0.447,223.6,negligible +a - scalar (uint8),Arithmetic,Subtract,uint8,1000,0.0008,0.0008,0.95,105.3,negligible +scalar - a (uint8),Arithmetic,Subtract,uint8,1000,0.0008,0.0009,0.838,119.3,negligible +a * b (element-wise) (uint8),Arithmetic,Multiply,uint8,1000,0.0007,0.0017,0.389,257.4,negligible +a * a (square) (uint8),Arithmetic,Multiply,uint8,1000,0.0007,0.0014,0.462,216.2,negligible +a * scalar (uint8),Arithmetic,Multiply,uint8,1000,0.0008,0.0016,0.475,210.3,negligible +a * 2 (literal) (uint8),Arithmetic,Multiply,uint8,1000,0.0009,0.0038,0.234,427.9,negligible +a + b (element-wise) (int8),Arithmetic,Add,int8,1000,0.0007,0.0017,0.391,255.8,negligible +"np.add(a, b) (int8)",Arithmetic,Add,int8,1000,0.0007,0.0017,0.389,256.8,negligible +a + scalar (int8),Arithmetic,Add,int8,1000,0.0008,0.0016,0.493,203.0,negligible +a + 5 (literal) (int8),Arithmetic,Add,int8,1000,0.0009,0.0034,0.258,387.0,negligible +a - b (element-wise) (int8),Arithmetic,Subtract,int8,1000,0.0007,0.0014,0.456,219.3,negligible +a - scalar (int8),Arithmetic,Subtract,int8,1000,0.0008,0.0011,0.679,147.2,negligible +scalar - a (int8),Arithmetic,Subtract,int8,1000,0.0008,0.0009,0.904,110.7,negligible +a * b (element-wise) (int8),Arithmetic,Multiply,int8,1000,0.0006,0.0016,0.392,255.2,negligible +a * a (square) (int8),Arithmetic,Multiply,int8,1000,0.0006,0.0015,0.419,238.8,negligible +a * scalar (int8),Arithmetic,Multiply,int8,1000,0.0007,0.0016,0.448,223.1,negligible +a * 2 (literal) (int8),Arithmetic,Multiply,int8,1000,0.0008,0.0036,0.235,425.0,negligible +a + b (element-wise) (int16),Arithmetic,Add,int16,1000,0.0009,0.0018,0.47,212.8,negligible +"np.add(a, b) (int16)",Arithmetic,Add,int16,1000,0.0009,0.0017,0.511,195.8,negligible +a + scalar (int16),Arithmetic,Add,int16,1000,0.0009,0.0017,0.51,196.0,negligible +a + 5 (literal) (int16),Arithmetic,Add,int16,1000,0.001,0.0025,0.408,245.4,slower +a - b (element-wise) (int16),Arithmetic,Subtract,int16,1000,0.0008,0.0017,0.451,221.5,negligible +a - scalar (int16),Arithmetic,Subtract,int16,1000,0.0009,0.0013,0.703,142.3,negligible +scalar - a (int16),Arithmetic,Subtract,int16,1000,0.0009,0.0012,0.783,127.7,negligible +a * b (element-wise) (int16),Arithmetic,Multiply,int16,1000,0.0008,0.0019,0.415,240.9,negligible +a * a (square) (int16),Arithmetic,Multiply,int16,1000,0.0008,0.0018,0.414,241.5,negligible +a * scalar (int16),Arithmetic,Multiply,int16,1000,0.0009,0.0018,0.498,200.9,negligible +a * 2 (literal) (int16),Arithmetic,Multiply,int16,1000,0.001,0.0058,0.17,589.3,negligible +a + b (element-wise) (uint16),Arithmetic,Add,uint16,1000,0.0008,0.0021,0.391,255.8,negligible +"np.add(a, b) (uint16)",Arithmetic,Add,uint16,1000,0.0008,0.0018,0.425,235.3,negligible +a + scalar (uint16),Arithmetic,Add,uint16,1000,0.0009,0.0017,0.535,187.0,negligible +a + 5 (literal) (uint16),Arithmetic,Add,uint16,1000,0.001,0.0048,0.211,473.8,slower +a - b (element-wise) (uint16),Arithmetic,Subtract,uint16,1000,0.0008,0.0018,0.45,222.4,negligible +a - scalar (uint16),Arithmetic,Subtract,uint16,1000,0.0009,0.0012,0.768,130.3,negligible +scalar - a (uint16),Arithmetic,Subtract,uint16,1000,0.0009,0.0011,0.849,117.9,negligible +a * b (element-wise) (uint16),Arithmetic,Multiply,uint16,1000,0.0008,0.0019,0.393,254.1,negligible +a * a (square) (uint16),Arithmetic,Multiply,uint16,1000,0.0008,0.0017,0.448,223.2,negligible +a * scalar (uint16),Arithmetic,Multiply,uint16,1000,0.0009,0.0018,0.47,212.9,negligible +a * 2 (literal) (uint16),Arithmetic,Multiply,uint16,1000,0.001,0.0027,0.372,268.7,slower +a + b (element-wise) (int32),Arithmetic,Add,int32,1000,0.0008,0.0022,0.349,286.2,negligible +"np.add(a, b) (int32)",Arithmetic,Add,int32,1000,0.0008,0.0019,0.42,238.0,negligible +a + scalar (int32),Arithmetic,Add,int32,1000,0.0009,0.0019,0.462,216.6,negligible +a + 5 (literal) (int32),Arithmetic,Add,int32,1000,0.001,0.0033,0.312,320.6,slower +a - b (element-wise) (int32),Arithmetic,Subtract,int32,1000,0.0008,0.002,0.395,253.4,negligible +a - scalar (int32),Arithmetic,Subtract,int32,1000,0.0009,0.0016,0.577,173.3,negligible +scalar - a (int32),Arithmetic,Subtract,int32,1000,0.0009,0.0013,0.721,138.7,negligible +a * b (element-wise) (int32),Arithmetic,Multiply,int32,1000,0.0008,0.002,0.389,256.7,negligible +a * a (square) (int32),Arithmetic,Multiply,int32,1000,0.0008,0.002,0.387,258.2,negligible +a * scalar (int32),Arithmetic,Multiply,int32,1000,0.0009,0.0019,0.46,217.2,negligible +a * 2 (literal) (int32),Arithmetic,Multiply,int32,1000,0.001,0.0034,0.299,333.9,slower +a / b (element-wise) (int32),Arithmetic,Divide,int32,1000,0.0024,0.0053,0.465,214.9,slower +a / scalar (int32),Arithmetic,Divide,int32,1000,0.0018,0.0041,0.428,233.9,slower +scalar / a (int32),Arithmetic,Divide,int32,1000,0.0018,0.007,0.256,391.3,slower +a % b (element-wise) (int32),Arithmetic,Modulo,int32,1000,0.0021,0.0028,0.755,132.5,close +a % 7 (literal) (int32),Arithmetic,Modulo,int32,1000,0.0022,0.0028,0.777,128.7,close +a + b (element-wise) (uint32),Arithmetic,Add,uint32,1000,0.0011,0.0017,0.677,147.6,close +"np.add(a, b) (uint32)",Arithmetic,Add,uint32,1000,0.001,0.0019,0.514,194.7,negligible +a + scalar (uint32),Arithmetic,Add,uint32,1000,0.0009,0.0019,0.487,205.4,negligible +a + 5 (literal) (uint32),Arithmetic,Add,uint32,1000,0.0011,0.0056,0.189,530.5,much_slower +a - b (element-wise) (uint32),Arithmetic,Subtract,uint32,1000,0.0008,0.002,0.413,242.4,negligible +a - scalar (uint32),Arithmetic,Subtract,uint32,1000,0.0011,0.0012,0.881,113.5,close +scalar - a (uint32),Arithmetic,Subtract,uint32,1000,0.0009,0.0012,0.803,124.5,negligible +a * b (element-wise) (uint32),Arithmetic,Multiply,uint32,1000,0.0008,0.002,0.4,250.1,negligible +a * a (square) (uint32),Arithmetic,Multiply,uint32,1000,0.0008,0.0021,0.371,269.4,negligible +a * scalar (uint32),Arithmetic,Multiply,uint32,1000,0.0009,0.002,0.457,219.0,negligible +a * 2 (literal) (uint32),Arithmetic,Multiply,uint32,1000,0.001,0.0054,0.192,520.4,much_slower +a + b (element-wise) (int64),Arithmetic,Add,int64,1000,0.001,0.0032,0.303,329.9,negligible +"np.add(a, b) (int64)",Arithmetic,Add,int64,1000,0.0008,0.0028,0.293,341.0,negligible +a + scalar (int64),Arithmetic,Add,int64,1000,0.0009,0.0027,0.329,304.4,negligible +a + 5 (literal) (int64),Arithmetic,Add,int64,1000,0.001,0.0058,0.167,598.5,negligible +a - b (element-wise) (int64),Arithmetic,Subtract,int64,1000,0.0008,0.0028,0.273,367.0,negligible +a - scalar (int64),Arithmetic,Subtract,int64,1000,0.0009,0.0015,0.618,161.7,negligible +scalar - a (int64),Arithmetic,Subtract,int64,1000,0.0011,0.0018,0.63,158.6,close +a * b (element-wise) (int64),Arithmetic,Multiply,int64,1000,0.0008,0.003,0.259,386.5,negligible +a * a (square) (int64),Arithmetic,Multiply,int64,1000,0.0008,0.0029,0.266,375.7,negligible +a * scalar (int64),Arithmetic,Multiply,int64,1000,0.0009,0.0029,0.301,332.1,negligible +a * 2 (literal) (int64),Arithmetic,Multiply,int64,1000,0.0009,0.0056,0.163,613.7,negligible +a / b (element-wise) (int64),Arithmetic,Divide,int64,1000,0.0019,0.0055,0.346,289.1,slower +a / scalar (int64),Arithmetic,Divide,int64,1000,0.0017,0.0074,0.229,435.9,slower +scalar / a (int64),Arithmetic,Divide,int64,1000,0.0018,0.0069,0.261,383.4,slower +a % b (element-wise) (int64),Arithmetic,Modulo,int64,1000,0.0035,0.004,0.877,114.0,close +a % 7 (literal) (int64),Arithmetic,Modulo,int64,1000,0.0044,0.0069,0.639,156.4,close +a + b (element-wise) (uint64),Arithmetic,Add,uint64,1000,0.0008,0.0027,0.288,347.8,negligible +"np.add(a, b) (uint64)",Arithmetic,Add,uint64,1000,0.0008,0.0028,0.303,330.2,negligible +a + scalar (uint64),Arithmetic,Add,uint64,1000,0.0009,0.0025,0.366,272.9,negligible +a + 5 (literal) (uint64),Arithmetic,Add,uint64,1000,0.001,0.0054,0.19,525.9,much_slower +a - b (element-wise) (uint64),Arithmetic,Subtract,uint64,1000,0.0008,0.0029,0.26,384.9,negligible +a - scalar (uint64),Arithmetic,Subtract,uint64,1000,0.0009,0.0016,0.564,177.2,negligible +scalar - a (uint64),Arithmetic,Subtract,uint64,1000,0.0009,0.0018,0.505,198.0,negligible +a * b (element-wise) (uint64),Arithmetic,Multiply,uint64,1000,0.0007,0.0027,0.265,377.2,negligible +a * a (square) (uint64),Arithmetic,Multiply,uint64,1000,0.0007,0.0028,0.261,383.8,negligible +a * scalar (uint64),Arithmetic,Multiply,uint64,1000,0.0008,0.0028,0.285,350.6,negligible +a * 2 (literal) (uint64),Arithmetic,Multiply,uint64,1000,0.0009,0.003,0.31,322.8,negligible +a + b (element-wise) (float16),Arithmetic,Add,float16,1000,0.0055,0.0091,0.604,165.4,close +"np.add(a, b) (float16)",Arithmetic,Add,float16,1000,0.0057,0.0088,0.645,155.0,close +a + scalar (float16),Arithmetic,Add,float16,1000,0.0066,0.0091,0.727,137.6,close +a + 5 (literal) (float16),Arithmetic,Add,float16,1000,0.0064,0.0106,0.604,165.6,close +a - b (element-wise) (float16),Arithmetic,Subtract,float16,1000,0.0041,0.0092,0.444,225.2,slower +a - scalar (float16),Arithmetic,Subtract,float16,1000,0.0061,0.0052,1.181,84.7,faster +scalar - a (float16),Arithmetic,Subtract,float16,1000,0.0054,0.0051,1.053,95.0,faster +a * b (element-wise) (float16),Arithmetic,Multiply,float16,1000,0.0034,0.009,0.373,268.2,slower +a * a (square) (float16),Arithmetic,Multiply,float16,1000,0.0057,0.0093,0.615,162.5,close +a * scalar (float16),Arithmetic,Multiply,float16,1000,0.0062,0.0092,0.677,147.6,close +a * 2 (literal) (float16),Arithmetic,Multiply,float16,1000,0.0066,0.0103,0.634,157.7,close +a + b (element-wise) (float32),Arithmetic,Add,float32,1000,0.0007,0.0011,0.673,148.7,negligible +"np.add(a, b) (float32)",Arithmetic,Add,float32,1000,0.0008,0.0019,0.408,245.3,negligible +a + scalar (float32),Arithmetic,Add,float32,1000,0.0007,0.002,0.354,282.7,negligible +a + 5 (literal) (float32),Arithmetic,Add,float32,1000,0.0009,0.0049,0.176,567.6,negligible +a - b (element-wise) (float32),Arithmetic,Subtract,float32,1000,0.0006,0.002,0.279,358.9,negligible +a - scalar (float32),Arithmetic,Subtract,float32,1000,0.0007,0.0013,0.526,190.0,negligible +scalar - a (float32),Arithmetic,Subtract,float32,1000,0.0007,0.0014,0.523,191.0,negligible +a * b (element-wise) (float32),Arithmetic,Multiply,float32,1000,0.0006,0.0019,0.297,336.4,negligible +a * a (square) (float32),Arithmetic,Multiply,float32,1000,0.0005,0.0019,0.281,356.4,negligible +a * scalar (float32),Arithmetic,Multiply,float32,1000,0.0007,0.002,0.356,280.9,negligible +a * 2 (literal) (float32),Arithmetic,Multiply,float32,1000,0.0008,0.0053,0.145,691.2,negligible +a / b (element-wise) (float32),Arithmetic,Divide,float32,1000,0.0005,0.0023,0.218,457.8,negligible +a / scalar (float32),Arithmetic,Divide,float32,1000,0.0007,0.002,0.324,308.5,negligible +scalar / a (float32),Arithmetic,Divide,float32,1000,0.0007,0.002,0.332,300.9,negligible +a % b (element-wise) (float32),Arithmetic,Modulo,float32,1000,0.0121,0.0108,1.117,89.5,faster +a % 7 (literal) (float32),Arithmetic,Modulo,float32,1000,0.0143,0.0167,0.86,116.3,close +a + b (element-wise) (float64),Arithmetic,Add,float64,1000,0.0005,0.0018,0.279,358.1,negligible +"np.add(a, b) (float64)",Arithmetic,Add,float64,1000,0.0005,0.0025,0.211,475.0,negligible +a + scalar (float64),Arithmetic,Add,float64,1000,0.0007,0.0027,0.24,416.1,negligible +a + 5 (literal) (float64),Arithmetic,Add,float64,1000,0.0008,0.0056,0.141,707.5,negligible +a - b (element-wise) (float64),Arithmetic,Subtract,float64,1000,0.0005,0.0018,0.294,340.5,negligible +a - scalar (float64),Arithmetic,Subtract,float64,1000,0.0006,0.0019,0.332,301.5,negligible +scalar - a (float64),Arithmetic,Subtract,float64,1000,0.0007,0.002,0.333,300.0,negligible +a * b (element-wise) (float64),Arithmetic,Multiply,float64,1000,0.0005,0.0025,0.205,488.7,negligible +a * a (square) (float64),Arithmetic,Multiply,float64,1000,0.0005,0.0027,0.198,505.9,negligible +a * scalar (float64),Arithmetic,Multiply,float64,1000,0.0009,0.0028,0.308,325.0,negligible +a * 2 (literal) (float64),Arithmetic,Multiply,float64,1000,0.0008,0.0062,0.129,772.7,negligible +a / b (element-wise) (float64),Arithmetic,Divide,float64,1000,0.0007,0.0034,0.221,452.2,negligible +a / scalar (float64),Arithmetic,Divide,float64,1000,0.0009,0.0034,0.266,376.2,negligible +scalar / a (float64),Arithmetic,Divide,float64,1000,0.0009,0.0035,0.26,385.2,negligible +a % b (element-wise) (float64),Arithmetic,Modulo,float64,1000,0.01,0.009,1.122,89.1,faster +a % 7 (literal) (float64),Arithmetic,Modulo,float64,1000,0.0112,0.0175,0.641,155.9,close +a + b (element-wise) (complex128),Arithmetic,Add,complex128,1000,0.001,0.0046,0.226,442.5,slower +"np.add(a, b) (complex128)",Arithmetic,Add,complex128,1000,0.0008,0.0046,0.175,572.5,negligible +a + scalar (complex128),Arithmetic,Add,complex128,1000,0.0009,0.0042,0.226,442.2,negligible +a + 5 (literal) (complex128),Arithmetic,Add,complex128,1000,0.0011,0.0076,0.145,691.2,much_slower +a - b (element-wise) (complex128),Arithmetic,Subtract,complex128,1000,0.0009,0.004,0.218,457.8,negligible +a - scalar (complex128),Arithmetic,Subtract,complex128,1000,0.0009,0.003,0.313,319.0,negligible +scalar - a (complex128),Arithmetic,Subtract,complex128,1000,0.001,0.0027,0.357,280.0,negligible +a * b (element-wise) (complex128),Arithmetic,Multiply,complex128,1000,0.0009,0.0043,0.221,452.8,negligible +a * a (square) (complex128),Arithmetic,Multiply,complex128,1000,0.0008,0.0042,0.192,520.3,negligible +a * scalar (complex128),Arithmetic,Multiply,complex128,1000,0.0009,0.0043,0.218,458.3,negligible +a * 2 (literal) (complex128),Arithmetic,Multiply,complex128,1000,0.0011,0.0045,0.249,401.8,slower +a + b (element-wise) (uint8),Arithmetic,Add,uint8,100000,0.0305,0.0154,1.981,50.5,faster +"np.add(a, b) (uint8)",Arithmetic,Add,uint8,100000,0.0287,0.0154,1.861,53.7,faster +a + scalar (uint8),Arithmetic,Add,uint8,100000,0.0248,0.0148,1.67,59.9,faster +a + 5 (literal) (uint8),Arithmetic,Add,uint8,100000,0.0248,0.0205,1.211,82.6,faster +a - b (element-wise) (uint8),Arithmetic,Subtract,uint8,100000,0.0288,0.0152,1.899,52.7,faster +a - scalar (uint8),Arithmetic,Subtract,uint8,100000,0.0374,0.0079,4.708,21.2,faster +scalar - a (uint8),Arithmetic,Subtract,uint8,100000,0.0243,0.0082,2.978,33.6,faster +a * b (element-wise) (uint8),Arithmetic,Multiply,uint8,100000,0.0295,0.0157,1.883,53.1,faster +a * a (square) (uint8),Arithmetic,Multiply,uint8,100000,0.029,0.0155,1.876,53.3,faster +a * scalar (uint8),Arithmetic,Multiply,uint8,100000,0.0238,0.0159,1.495,66.9,faster +a * 2 (literal) (uint8),Arithmetic,Multiply,uint8,100000,0.0229,0.0216,1.057,94.6,faster +a + b (element-wise) (int8),Arithmetic,Add,int8,100000,0.0289,0.0158,1.831,54.6,faster +"np.add(a, b) (int8)",Arithmetic,Add,int8,100000,0.0293,0.0152,1.931,51.8,faster +a + scalar (int8),Arithmetic,Add,int8,100000,0.0251,0.0149,1.689,59.2,faster +a + 5 (literal) (int8),Arithmetic,Add,int8,100000,0.0369,0.023,1.603,62.4,faster +a - b (element-wise) (int8),Arithmetic,Subtract,int8,100000,0.0355,0.0155,2.294,43.6,faster +a - scalar (int8),Arithmetic,Subtract,int8,100000,0.0319,0.0079,4.019,24.9,faster +scalar - a (int8),Arithmetic,Subtract,int8,100000,0.0254,0.008,3.181,31.4,faster +a * b (element-wise) (int8),Arithmetic,Multiply,int8,100000,0.0282,0.0162,1.744,57.3,faster +a * a (square) (int8),Arithmetic,Multiply,int8,100000,0.028,0.0158,1.768,56.6,faster +a * scalar (int8),Arithmetic,Multiply,int8,100000,0.0223,0.0161,1.385,72.2,faster +a * 2 (literal) (int8),Arithmetic,Multiply,int8,100000,0.0226,0.0233,0.971,103.0,close +a + b (element-wise) (int16),Arithmetic,Add,int16,100000,0.0306,0.0341,0.899,111.2,close +"np.add(a, b) (int16)",Arithmetic,Add,int16,100000,0.0312,0.0273,1.144,87.4,faster +a + scalar (int16),Arithmetic,Add,int16,100000,0.0249,0.0262,0.953,104.9,close +a + 5 (literal) (int16),Arithmetic,Add,int16,100000,0.0256,0.0297,0.86,116.3,close +a - b (element-wise) (int16),Arithmetic,Subtract,int16,100000,0.0293,0.025,1.173,85.3,faster +a - scalar (int16),Arithmetic,Subtract,int16,100000,0.0239,0.0141,1.698,58.9,faster +scalar - a (int16),Arithmetic,Subtract,int16,100000,0.0243,0.0148,1.644,60.8,faster +a * b (element-wise) (int16),Arithmetic,Multiply,int16,100000,0.0282,0.0266,1.057,94.6,faster +a * a (square) (int16),Arithmetic,Multiply,int16,100000,0.0287,0.0251,1.142,87.5,faster +a * scalar (int16),Arithmetic,Multiply,int16,100000,0.0233,0.0262,0.891,112.2,close +a * 2 (literal) (int16),Arithmetic,Multiply,int16,100000,0.0233,0.0306,0.762,131.2,close +a + b (element-wise) (uint16),Arithmetic,Add,uint16,100000,0.0305,0.0303,1.005,99.5,faster +"np.add(a, b) (uint16)",Arithmetic,Add,uint16,100000,0.0294,0.0296,0.993,100.7,close +a + scalar (uint16),Arithmetic,Add,uint16,100000,0.0245,0.0256,0.956,104.6,close +a + 5 (literal) (uint16),Arithmetic,Add,uint16,100000,0.025,0.0308,0.812,123.2,close +a - b (element-wise) (uint16),Arithmetic,Subtract,uint16,100000,0.0299,0.0263,1.137,87.9,faster +a - scalar (uint16),Arithmetic,Subtract,uint16,100000,0.0244,0.0148,1.648,60.7,faster +scalar - a (uint16),Arithmetic,Subtract,uint16,100000,0.0313,0.0147,2.124,47.1,faster +a * b (element-wise) (uint16),Arithmetic,Multiply,uint16,100000,0.0308,0.0267,1.154,86.7,faster +a * a (square) (uint16),Arithmetic,Multiply,uint16,100000,0.0347,0.0258,1.345,74.4,faster +a * scalar (uint16),Arithmetic,Multiply,uint16,100000,0.0262,0.0269,0.973,102.7,close +a * 2 (literal) (uint16),Arithmetic,Multiply,uint16,100000,0.0229,0.0291,0.784,127.5,close +a + b (element-wise) (int32),Arithmetic,Add,int32,100000,0.0296,0.0569,0.52,192.3,close +"np.add(a, b) (int32)",Arithmetic,Add,int32,100000,0.0299,0.0546,0.548,182.6,close +a + scalar (int32),Arithmetic,Add,int32,100000,0.0245,0.0532,0.46,217.3,slower +a + 5 (literal) (int32),Arithmetic,Add,int32,100000,0.025,0.053,0.472,211.8,slower +a - b (element-wise) (int32),Arithmetic,Subtract,int32,100000,0.0287,0.0524,0.548,182.5,close +a - scalar (int32),Arithmetic,Subtract,int32,100000,0.0237,0.0278,0.854,117.1,close +scalar - a (int32),Arithmetic,Subtract,int32,100000,0.024,0.029,0.829,120.6,close +a * b (element-wise) (int32),Arithmetic,Multiply,int32,100000,0.0287,0.0519,0.553,180.9,close +a * a (square) (int32),Arithmetic,Multiply,int32,100000,0.03,0.0553,0.542,184.4,close +a * scalar (int32),Arithmetic,Multiply,int32,100000,0.0231,0.0508,0.455,219.9,slower +a * 2 (literal) (int32),Arithmetic,Multiply,int32,100000,0.023,0.0521,0.442,226.3,slower +a / b (element-wise) (int32),Arithmetic,Divide,int32,100000,0.0909,0.1953,0.465,214.9,slower +a / scalar (int32),Arithmetic,Divide,int32,100000,0.0622,0.1883,0.331,302.5,slower +scalar / a (int32),Arithmetic,Divide,int32,100000,0.0638,0.1794,0.355,281.4,slower +a % b (element-wise) (int32),Arithmetic,Modulo,int32,100000,0.3784,0.6093,0.621,161.0,close +a % 7 (literal) (int32),Arithmetic,Modulo,int32,100000,0.3957,0.659,0.6,166.5,close +a + b (element-wise) (uint32),Arithmetic,Add,uint32,100000,0.0292,0.0565,0.516,193.8,close +"np.add(a, b) (uint32)",Arithmetic,Add,uint32,100000,0.0324,0.0542,0.598,167.2,close +a + scalar (uint32),Arithmetic,Add,uint32,100000,0.0247,0.0503,0.491,203.6,slower +a + 5 (literal) (uint32),Arithmetic,Add,uint32,100000,0.0234,0.0493,0.474,210.8,slower +a - b (element-wise) (uint32),Arithmetic,Subtract,uint32,100000,0.0294,0.0506,0.581,172.1,close +a - scalar (uint32),Arithmetic,Subtract,uint32,100000,0.0233,0.0264,0.885,113.0,close +scalar - a (uint32),Arithmetic,Subtract,uint32,100000,0.0239,0.0299,0.8,125.0,close +a * b (element-wise) (uint32),Arithmetic,Multiply,uint32,100000,0.0278,0.0486,0.572,174.9,close +a * a (square) (uint32),Arithmetic,Multiply,uint32,100000,0.0285,0.049,0.581,172.1,close +a * scalar (uint32),Arithmetic,Multiply,uint32,100000,0.0227,0.0507,0.448,223.1,slower +a * 2 (literal) (uint32),Arithmetic,Multiply,uint32,100000,0.0225,0.0519,0.433,230.9,slower +a + b (element-wise) (int64),Arithmetic,Add,int64,100000,0.0351,0.1211,0.29,344.7,slower +"np.add(a, b) (int64)",Arithmetic,Add,int64,100000,0.0359,0.1337,0.269,372.4,slower +a + scalar (int64),Arithmetic,Add,int64,100000,0.0236,0.1014,0.233,429.4,slower +a + 5 (literal) (int64),Arithmetic,Add,int64,100000,0.0233,0.1024,0.228,439.2,slower +a - b (element-wise) (int64),Arithmetic,Subtract,int64,100000,0.0352,0.1044,0.337,297.0,slower +a - scalar (int64),Arithmetic,Subtract,int64,100000,0.0241,0.0677,0.357,280.4,slower +scalar - a (int64),Arithmetic,Subtract,int64,100000,0.025,0.0667,0.375,266.9,slower +a * b (element-wise) (int64),Arithmetic,Multiply,int64,100000,0.0386,0.1068,0.361,276.9,slower +a * a (square) (int64),Arithmetic,Multiply,int64,100000,0.0289,0.1056,0.274,365.5,slower +a * scalar (int64),Arithmetic,Multiply,int64,100000,0.0226,0.1076,0.21,475.6,slower +a * 2 (literal) (int64),Arithmetic,Multiply,int64,100000,0.0216,0.1059,0.204,491.1,slower +a / b (element-wise) (int64),Arithmetic,Divide,int64,100000,0.0785,0.1896,0.414,241.7,slower +a / scalar (int64),Arithmetic,Divide,int64,100000,0.0575,0.1885,0.305,328.1,slower +scalar / a (int64),Arithmetic,Divide,int64,100000,0.0627,0.1881,0.333,300.1,slower +a % b (element-wise) (int64),Arithmetic,Modulo,int64,100000,0.3756,0.6058,0.62,161.3,close +a % 7 (literal) (int64),Arithmetic,Modulo,int64,100000,0.4155,0.6703,0.62,161.3,close +a + b (element-wise) (uint64),Arithmetic,Add,uint64,100000,0.0529,0.1072,0.493,202.7,slower +"np.add(a, b) (uint64)",Arithmetic,Add,uint64,100000,0.0405,0.1101,0.368,271.9,slower +a + scalar (uint64),Arithmetic,Add,uint64,100000,0.0235,0.1018,0.231,432.9,slower +a + 5 (literal) (uint64),Arithmetic,Add,uint64,100000,0.0236,0.1073,0.22,453.8,slower +a - b (element-wise) (uint64),Arithmetic,Subtract,uint64,100000,0.0385,0.1017,0.379,263.9,slower +a - scalar (uint64),Arithmetic,Subtract,uint64,100000,0.0241,0.0652,0.369,270.8,slower +scalar - a (uint64),Arithmetic,Subtract,uint64,100000,0.0246,0.0594,0.414,241.8,slower +a * b (element-wise) (uint64),Arithmetic,Multiply,uint64,100000,0.0361,0.109,0.331,301.7,slower +a * a (square) (uint64),Arithmetic,Multiply,uint64,100000,0.0293,0.1078,0.272,367.6,slower +a * scalar (uint64),Arithmetic,Multiply,uint64,100000,0.0222,0.1048,0.212,471.4,slower +a * 2 (literal) (uint64),Arithmetic,Multiply,uint64,100000,0.0222,0.1066,0.208,480.7,slower +a + b (element-wise) (float16),Arithmetic,Add,float16,100000,0.2982,0.856,0.348,287.0,slower +"np.add(a, b) (float16)",Arithmetic,Add,float16,100000,0.2995,0.8369,0.358,279.5,slower +a + scalar (float16),Arithmetic,Add,float16,100000,0.3632,0.8631,0.421,237.7,slower +a + 5 (literal) (float16),Arithmetic,Add,float16,100000,0.3642,0.8592,0.424,235.9,slower +a - b (element-wise) (float16),Arithmetic,Subtract,float16,100000,0.3042,0.4791,0.635,157.5,close +a - scalar (float16),Arithmetic,Subtract,float16,100000,0.295,0.4792,0.616,162.5,close +scalar - a (float16),Arithmetic,Subtract,float16,100000,0.3008,0.4746,0.634,157.8,close +a * b (element-wise) (float16),Arithmetic,Multiply,float16,100000,0.3186,0.8505,0.375,266.9,slower +a * a (square) (float16),Arithmetic,Multiply,float16,100000,0.2934,0.8294,0.354,282.7,slower +a * scalar (float16),Arithmetic,Multiply,float16,100000,0.3472,0.8794,0.395,253.3,slower +a * 2 (literal) (float16),Arithmetic,Multiply,float16,100000,0.3439,0.8963,0.384,260.6,slower +a + b (element-wise) (float32),Arithmetic,Add,float32,100000,0.0069,0.0546,0.126,792.4,much_slower +"np.add(a, b) (float32)",Arithmetic,Add,float32,100000,0.0068,0.0542,0.125,798.2,much_slower +a + scalar (float32),Arithmetic,Add,float32,100000,0.0062,0.0514,0.121,829.4,much_slower +a + 5 (literal) (float32),Arithmetic,Add,float32,100000,0.0065,0.0543,0.119,841.0,much_slower +a - b (element-wise) (float32),Arithmetic,Subtract,float32,100000,0.0069,0.0482,0.143,697.6,much_slower +a - scalar (float32),Arithmetic,Subtract,float32,100000,0.007,0.0293,0.24,416.6,slower +scalar - a (float32),Arithmetic,Subtract,float32,100000,0.0067,0.0325,0.205,487.4,slower +a * b (element-wise) (float32),Arithmetic,Multiply,float32,100000,0.0071,0.0514,0.138,722.4,much_slower +a * a (square) (float32),Arithmetic,Multiply,float32,100000,0.0059,0.0493,0.12,833.9,much_slower +a * scalar (float32),Arithmetic,Multiply,float32,100000,0.0068,0.0488,0.139,721.9,much_slower +a * 2 (literal) (float32),Arithmetic,Multiply,float32,100000,0.0066,0.0516,0.128,779.5,much_slower +a / b (element-wise) (float32),Arithmetic,Divide,float32,100000,0.0134,0.0623,0.215,465.8,slower +a / scalar (float32),Arithmetic,Divide,float32,100000,0.0123,0.0595,0.207,483.6,slower +scalar / a (float32),Arithmetic,Divide,float32,100000,0.0127,0.0612,0.207,483.1,slower +a % b (element-wise) (float32),Arithmetic,Modulo,float32,100000,1.5318,1.5713,0.975,102.6,close +a % 7 (literal) (float32),Arithmetic,Modulo,float32,100000,1.6323,1.8289,0.892,112.0,close +a + b (element-wise) (float64),Arithmetic,Add,float64,100000,0.0287,0.1183,0.242,412.6,slower +"np.add(a, b) (float64)",Arithmetic,Add,float64,100000,0.0287,0.1135,0.253,395.9,slower +a + scalar (float64),Arithmetic,Add,float64,100000,0.0116,0.1045,0.111,902.3,much_slower +a + 5 (literal) (float64),Arithmetic,Add,float64,100000,0.0117,0.1033,0.113,883.5,much_slower +a - b (element-wise) (float64),Arithmetic,Subtract,float64,100000,0.0331,0.1072,0.309,324.1,slower +a - scalar (float64),Arithmetic,Subtract,float64,100000,0.0118,0.0691,0.171,586.3,much_slower +scalar - a (float64),Arithmetic,Subtract,float64,100000,0.0138,0.0582,0.237,421.5,slower +a * b (element-wise) (float64),Arithmetic,Multiply,float64,100000,0.0274,0.103,0.266,376.1,slower +a * a (square) (float64),Arithmetic,Multiply,float64,100000,0.0113,0.0977,0.116,863.4,much_slower +a * scalar (float64),Arithmetic,Multiply,float64,100000,0.0117,0.0999,0.117,856.6,much_slower +a * 2 (literal) (float64),Arithmetic,Multiply,float64,100000,0.0119,0.1056,0.113,886.8,much_slower +a / b (element-wise) (float64),Arithmetic,Divide,float64,100000,0.0382,0.1801,0.212,471.5,slower +a / scalar (float64),Arithmetic,Divide,float64,100000,0.0372,0.1696,0.22,455.5,slower +scalar / a (float64),Arithmetic,Divide,float64,100000,0.0372,0.1857,0.2,498.9,slower +a % b (element-wise) (float64),Arithmetic,Modulo,float64,100000,1.2891,1.3568,0.95,105.3,close +a % 7 (literal) (float64),Arithmetic,Modulo,float64,100000,1.4461,1.6302,0.887,112.7,close +a + b (element-wise) (complex128),Arithmetic,Add,complex128,100000,0.3515,0.4716,0.745,134.2,close +"np.add(a, b) (complex128)",Arithmetic,Add,complex128,100000,0.3569,0.4892,0.729,137.1,close +a + scalar (complex128),Arithmetic,Add,complex128,100000,0.3392,0.3087,1.099,91.0,faster +a + 5 (literal) (complex128),Arithmetic,Add,complex128,100000,0.3558,0.3115,1.142,87.5,faster +a - b (element-wise) (complex128),Arithmetic,Subtract,complex128,100000,0.3505,0.261,1.343,74.5,faster +a - scalar (complex128),Arithmetic,Subtract,complex128,100000,0.3509,0.2223,1.579,63.4,faster +scalar - a (complex128),Arithmetic,Subtract,complex128,100000,0.3545,0.221,1.604,62.4,faster +a * b (element-wise) (complex128),Arithmetic,Multiply,complex128,100000,0.3579,0.4442,0.806,124.1,close +a * a (square) (complex128),Arithmetic,Multiply,complex128,100000,0.3485,0.4268,0.817,122.5,close +a * scalar (complex128),Arithmetic,Multiply,complex128,100000,0.3458,0.3076,1.124,89.0,faster +a * 2 (literal) (complex128),Arithmetic,Multiply,complex128,100000,0.3633,0.3155,1.152,86.8,faster +a + b (element-wise) (uint8),Arithmetic,Add,uint8,10000000,4.9889,3.3759,1.478,67.7,faster +"np.add(a, b) (uint8)",Arithmetic,Add,uint8,10000000,4.7543,3.2277,1.473,67.9,faster +a + scalar (uint8),Arithmetic,Add,uint8,10000000,4.4127,1.9329,2.283,43.8,faster +a + 5 (literal) (uint8),Arithmetic,Add,uint8,10000000,4.1679,1.9455,2.142,46.7,faster +a - b (element-wise) (uint8),Arithmetic,Subtract,uint8,10000000,5.0513,1.6363,3.087,32.4,faster +a - scalar (uint8),Arithmetic,Subtract,uint8,10000000,4.1241,1.3972,2.952,33.9,faster +scalar - a (uint8),Arithmetic,Subtract,uint8,10000000,4.0556,1.405,2.886,34.6,faster +a * b (element-wise) (uint8),Arithmetic,Multiply,uint8,10000000,4.5011,3.6771,1.224,81.7,faster +a * a (square) (uint8),Arithmetic,Multiply,uint8,10000000,4.8089,2.8618,1.68,59.5,faster +a * scalar (uint8),Arithmetic,Multiply,uint8,10000000,4.0195,2.0901,1.923,52.0,faster +a * 2 (literal) (uint8),Arithmetic,Multiply,uint8,10000000,4.1643,2.1224,1.962,51.0,faster +a + b (element-wise) (int8),Arithmetic,Add,int8,10000000,4.7377,3.2841,1.443,69.3,faster +"np.add(a, b) (int8)",Arithmetic,Add,int8,10000000,4.836,3.1341,1.543,64.8,faster +a + scalar (int8),Arithmetic,Add,int8,10000000,4.2152,1.9671,2.143,46.7,faster +a + 5 (literal) (int8),Arithmetic,Add,int8,10000000,4.1932,1.9965,2.1,47.6,faster +a - b (element-wise) (int8),Arithmetic,Subtract,int8,10000000,4.7577,1.7145,2.775,36.0,faster +a - scalar (int8),Arithmetic,Subtract,int8,10000000,4.4975,1.3821,3.254,30.7,faster +scalar - a (int8),Arithmetic,Subtract,int8,10000000,4.5431,1.3785,3.296,30.3,faster +a * b (element-wise) (int8),Arithmetic,Multiply,int8,10000000,5.3373,3.6339,1.469,68.1,faster +a * a (square) (int8),Arithmetic,Multiply,int8,10000000,4.4945,2.8519,1.576,63.5,faster +a * scalar (int8),Arithmetic,Multiply,int8,10000000,3.761,2.0651,1.821,54.9,faster +a * 2 (literal) (int8),Arithmetic,Multiply,int8,10000000,3.7464,2.1072,1.778,56.2,faster +a + b (element-wise) (int16),Arithmetic,Add,int16,10000000,7.6408,7.1288,1.072,93.3,faster +"np.add(a, b) (int16)",Arithmetic,Add,int16,10000000,7.832,7.1303,1.098,91.0,faster +a + scalar (int16),Arithmetic,Add,int16,10000000,7.1782,4.4382,1.617,61.8,faster +a + 5 (literal) (int16),Arithmetic,Add,int16,10000000,6.8921,4.3178,1.596,62.6,faster +a - b (element-wise) (int16),Arithmetic,Subtract,int16,10000000,7.8362,3.1173,2.514,39.8,faster +a - scalar (int16),Arithmetic,Subtract,int16,10000000,7.1495,2.733,2.616,38.2,faster +scalar - a (int16),Arithmetic,Subtract,int16,10000000,7.1811,2.7354,2.625,38.1,faster +a * b (element-wise) (int16),Arithmetic,Multiply,int16,10000000,7.7338,6.8196,1.134,88.2,faster +a * a (square) (int16),Arithmetic,Multiply,int16,10000000,7.2866,5.2338,1.392,71.8,faster +a * scalar (int16),Arithmetic,Multiply,int16,10000000,7.0592,4.6609,1.515,66.0,faster +a * 2 (literal) (int16),Arithmetic,Multiply,int16,10000000,6.0238,4.4309,1.359,73.6,faster +a + b (element-wise) (uint16),Arithmetic,Add,uint16,10000000,7.7579,7.1286,1.088,91.9,faster +"np.add(a, b) (uint16)",Arithmetic,Add,uint16,10000000,8.1075,6.835,1.186,84.3,faster +a + scalar (uint16),Arithmetic,Add,uint16,10000000,6.9794,4.3583,1.601,62.4,faster +a + 5 (literal) (uint16),Arithmetic,Add,uint16,10000000,6.9032,4.253,1.623,61.6,faster +a - b (element-wise) (uint16),Arithmetic,Subtract,uint16,10000000,8.2884,3.1096,2.665,37.5,faster +a - scalar (uint16),Arithmetic,Subtract,uint16,10000000,6.7651,2.6065,2.596,38.5,faster +scalar - a (uint16),Arithmetic,Subtract,uint16,10000000,7.1706,2.6431,2.713,36.9,faster +a * b (element-wise) (uint16),Arithmetic,Multiply,uint16,10000000,7.7433,6.7987,1.139,87.8,faster +a * a (square) (uint16),Arithmetic,Multiply,uint16,10000000,7.9808,5.3188,1.5,66.6,faster +a * scalar (uint16),Arithmetic,Multiply,uint16,10000000,7.0635,4.6785,1.51,66.2,faster +a * 2 (literal) (uint16),Arithmetic,Multiply,uint16,10000000,6.6073,4.8579,1.36,73.5,faster +a + b (element-wise) (int32),Arithmetic,Add,int32,10000000,13.4533,10.0724,1.336,74.9,faster +"np.add(a, b) (int32)",Arithmetic,Add,int32,10000000,14.4326,12.7485,1.132,88.3,faster +a + scalar (int32),Arithmetic,Add,int32,10000000,12.6205,8.3589,1.51,66.2,faster +a + 5 (literal) (int32),Arithmetic,Add,int32,10000000,12.6603,8.4146,1.505,66.5,faster +a - b (element-wise) (int32),Arithmetic,Subtract,int32,10000000,13.781,6.3717,2.163,46.2,faster +a - scalar (int32),Arithmetic,Subtract,int32,10000000,13.2645,5.2875,2.509,39.9,faster +scalar - a (int32),Arithmetic,Subtract,int32,10000000,13.3685,5.4031,2.474,40.4,faster +a * b (element-wise) (int32),Arithmetic,Multiply,int32,10000000,13.0207,10.9911,1.185,84.4,faster +a * a (square) (int32),Arithmetic,Multiply,int32,10000000,12.7934,7.8908,1.621,61.7,faster +a * scalar (int32),Arithmetic,Multiply,int32,10000000,12.6141,9.136,1.381,72.4,faster +a * 2 (literal) (int32),Arithmetic,Multiply,int32,10000000,12.3132,7.7215,1.595,62.7,faster +a / b (element-wise) (int32),Arithmetic,Divide,int32,10000000,31.1185,23.9718,1.298,77.0,faster +a / scalar (int32),Arithmetic,Divide,int32,10000000,26.4799,23.0389,1.149,87.0,faster +scalar / a (int32),Arithmetic,Divide,int32,10000000,22.0961,25.4827,0.867,115.3,close +a % b (element-wise) (int32),Arithmetic,Modulo,int32,10000000,47.9091,58.8577,0.814,122.9,close +a % 7 (literal) (int32),Arithmetic,Modulo,int32,10000000,49.0203,66.9383,0.732,136.6,close +a + b (element-wise) (uint32),Arithmetic,Add,uint32,10000000,13.4492,9.8607,1.364,73.3,faster +"np.add(a, b) (uint32)",Arithmetic,Add,uint32,10000000,10.4639,9.8564,1.062,94.2,faster +a + scalar (uint32),Arithmetic,Add,uint32,10000000,10.8927,8.4266,1.293,77.4,faster +a + 5 (literal) (uint32),Arithmetic,Add,uint32,10000000,10.0916,8.5435,1.181,84.7,faster +a - b (element-wise) (uint32),Arithmetic,Subtract,uint32,10000000,10.854,6.0006,1.809,55.3,faster +a - scalar (uint32),Arithmetic,Subtract,uint32,10000000,10.2434,5.3189,1.926,51.9,faster +scalar - a (uint32),Arithmetic,Subtract,uint32,10000000,9.9808,5.3724,1.858,53.8,faster +a * b (element-wise) (uint32),Arithmetic,Multiply,uint32,10000000,9.8085,11.0138,0.891,112.3,close +a * a (square) (uint32),Arithmetic,Multiply,uint32,10000000,7.9914,8.4603,0.945,105.9,close +a * scalar (uint32),Arithmetic,Multiply,uint32,10000000,7.8165,9.237,0.846,118.2,close +a * 2 (literal) (uint32),Arithmetic,Multiply,uint32,10000000,7.893,7.6778,1.028,97.3,faster +a + b (element-wise) (int64),Arithmetic,Add,int64,10000000,16.9982,32.1148,0.529,188.9,close +"np.add(a, b) (int64)",Arithmetic,Add,int64,10000000,17.0171,34.3239,0.496,201.7,slower +a + scalar (int64),Arithmetic,Add,int64,10000000,14.8466,19.9072,0.746,134.1,close +a + 5 (literal) (int64),Arithmetic,Add,int64,10000000,15.3142,19.352,0.791,126.4,close +a - b (element-wise) (int64),Arithmetic,Subtract,int64,10000000,16.8594,20.7569,0.812,123.1,close +a - scalar (int64),Arithmetic,Subtract,int64,10000000,15.1015,14.457,1.045,95.7,faster +scalar - a (int64),Arithmetic,Subtract,int64,10000000,15.5954,14.9929,1.04,96.1,faster +a * b (element-wise) (int64),Arithmetic,Multiply,int64,10000000,17.0533,38.5984,0.442,226.3,slower +a * a (square) (int64),Arithmetic,Multiply,int64,10000000,15.6967,30.4188,0.516,193.8,close +a * scalar (int64),Arithmetic,Multiply,int64,10000000,15.4341,31.3975,0.492,203.4,slower +a * 2 (literal) (int64),Arithmetic,Multiply,int64,10000000,16.453,31.0792,0.529,188.9,close +a / b (element-wise) (int64),Arithmetic,Divide,int64,10000000,24.7535,40.7339,0.608,164.6,close +a / scalar (int64),Arithmetic,Divide,int64,10000000,20.5211,29.8992,0.686,145.7,close +scalar / a (int64),Arithmetic,Divide,int64,10000000,19.6435,30.8085,0.638,156.8,close +a % b (element-wise) (int64),Arithmetic,Modulo,int64,10000000,49.5215,66.8191,0.741,134.9,close +a % 7 (literal) (int64),Arithmetic,Modulo,int64,10000000,50.7135,75.8665,0.668,149.6,close +a + b (element-wise) (uint64),Arithmetic,Add,uint64,10000000,17.2194,35.4223,0.486,205.7,slower +"np.add(a, b) (uint64)",Arithmetic,Add,uint64,10000000,16.7988,34.5621,0.486,205.7,slower +a + scalar (uint64),Arithmetic,Add,uint64,10000000,15.0579,20.0299,0.752,133.0,close +a + 5 (literal) (uint64),Arithmetic,Add,uint64,10000000,15.2161,20.0614,0.758,131.8,close +a - b (element-wise) (uint64),Arithmetic,Subtract,uint64,10000000,16.7811,20.9601,0.801,124.9,close +a - scalar (uint64),Arithmetic,Subtract,uint64,10000000,15.1815,14.5668,1.042,96.0,faster +scalar - a (uint64),Arithmetic,Subtract,uint64,10000000,14.8288,14.8342,1.0,100.0,close +a * b (element-wise) (uint64),Arithmetic,Multiply,uint64,10000000,16.9583,37.9021,0.447,223.5,slower +a * a (square) (uint64),Arithmetic,Multiply,uint64,10000000,15.1757,29.8093,0.509,196.4,close +a * scalar (uint64),Arithmetic,Multiply,uint64,10000000,15.1079,30.057,0.503,198.9,close +a * 2 (literal) (uint64),Arithmetic,Multiply,uint64,10000000,15.0621,29.8983,0.504,198.5,close +a + b (element-wise) (float16),Arithmetic,Add,float16,10000000,31.3075,87.5987,0.357,279.8,slower +"np.add(a, b) (float16)",Arithmetic,Add,float16,10000000,31.2511,85.9844,0.363,275.1,slower +a + scalar (float16),Arithmetic,Add,float16,10000000,30.8505,85.6472,0.36,277.6,slower +a + 5 (literal) (float16),Arithmetic,Add,float16,10000000,31.0643,84.9236,0.366,273.4,slower +a - b (element-wise) (float16),Arithmetic,Subtract,float16,10000000,31.1711,48.4343,0.644,155.4,close +a - scalar (float16),Arithmetic,Subtract,float16,10000000,31.0622,48.9935,0.634,157.7,close +scalar - a (float16),Arithmetic,Subtract,float16,10000000,31.1065,47.0491,0.661,151.3,close +a * b (element-wise) (float16),Arithmetic,Multiply,float16,10000000,30.9166,88.961,0.348,287.7,slower +a * a (square) (float16),Arithmetic,Multiply,float16,10000000,30.734,84.9605,0.362,276.4,slower +a * scalar (float16),Arithmetic,Multiply,float16,10000000,35.1625,88.3826,0.398,251.4,slower +a * 2 (literal) (float16),Arithmetic,Multiply,float16,10000000,31.2284,86.0293,0.363,275.5,slower +a + b (element-wise) (float32),Arithmetic,Add,float32,10000000,8.7877,10.3685,0.848,118.0,close +"np.add(a, b) (float32)",Arithmetic,Add,float32,10000000,8.6159,10.2348,0.842,118.8,close +a + scalar (float32),Arithmetic,Add,float32,10000000,7.9325,8.3761,0.947,105.6,close +a + 5 (literal) (float32),Arithmetic,Add,float32,10000000,8.0704,8.3566,0.966,103.5,close +a - b (element-wise) (float32),Arithmetic,Subtract,float32,10000000,8.6157,5.6899,1.514,66.0,faster +a - scalar (float32),Arithmetic,Subtract,float32,10000000,8.0175,5.3684,1.493,67.0,faster +scalar - a (float32),Arithmetic,Subtract,float32,10000000,7.8766,5.3211,1.48,67.6,faster +a * b (element-wise) (float32),Arithmetic,Multiply,float32,10000000,8.4965,10.2234,0.831,120.3,close +a * a (square) (float32),Arithmetic,Multiply,float32,10000000,7.8671,8.1233,0.968,103.3,close +a * scalar (float32),Arithmetic,Multiply,float32,10000000,8.0629,8.9608,0.9,111.1,close +a * 2 (literal) (float32),Arithmetic,Multiply,float32,10000000,7.8824,9.424,0.836,119.6,close +a / b (element-wise) (float32),Arithmetic,Divide,float32,10000000,8.459,10.2825,0.823,121.6,close +a / scalar (float32),Arithmetic,Divide,float32,10000000,7.8511,8.8399,0.888,112.6,close +scalar / a (float32),Arithmetic,Divide,float32,10000000,7.957,7.2244,1.101,90.8,faster +a % b (element-wise) (float32),Arithmetic,Modulo,float32,10000000,156.9058,152.7181,1.027,97.3,faster +a % 7 (literal) (float32),Arithmetic,Modulo,float32,10000000,166.6333,176.1757,0.946,105.7,close +a + b (element-wise) (float64),Arithmetic,Add,float64,10000000,17.1247,32.2672,0.531,188.4,close +"np.add(a, b) (float64)",Arithmetic,Add,float64,10000000,23.3169,25.7561,0.905,110.5,close +a + scalar (float64),Arithmetic,Add,float64,10000000,19.7762,20.4638,0.966,103.5,close +a + 5 (literal) (float64),Arithmetic,Add,float64,10000000,19.9822,19.3898,1.031,97.0,faster +a - b (element-wise) (float64),Arithmetic,Subtract,float64,10000000,21.1427,16.8826,1.252,79.9,faster +a - scalar (float64),Arithmetic,Subtract,float64,10000000,19.9346,14.0728,1.417,70.6,faster +scalar - a (float64),Arithmetic,Subtract,float64,10000000,20.1742,14.0006,1.441,69.4,faster +a * b (element-wise) (float64),Arithmetic,Multiply,float64,10000000,21.0075,33.0143,0.636,157.2,close +a * a (square) (float64),Arithmetic,Multiply,float64,10000000,19.3973,20.3482,0.953,104.9,close +a * scalar (float64),Arithmetic,Multiply,float64,10000000,19.9081,22.8588,0.871,114.8,close +a * 2 (literal) (float64),Arithmetic,Multiply,float64,10000000,20.035,22.1709,0.904,110.7,close +a / b (element-wise) (float64),Arithmetic,Divide,float64,10000000,20.478,25.47,0.804,124.4,close +a / scalar (float64),Arithmetic,Divide,float64,10000000,19.0548,23.8037,0.8,124.9,close +scalar / a (float64),Arithmetic,Divide,float64,10000000,19.3997,22.5621,0.86,116.3,close +a % b (element-wise) (float64),Arithmetic,Modulo,float64,10000000,143.9662,145.6373,0.989,101.2,close +a % 7 (literal) (float64),Arithmetic,Modulo,float64,10000000,159.2176,162.5277,0.98,102.1,close +a + b (element-wise) (complex128),Arithmetic,Add,complex128,10000000,42.3859,58.161,0.729,137.2,close +"np.add(a, b) (complex128)",Arithmetic,Add,complex128,10000000,41.8396,58.6023,0.714,140.1,close +a + scalar (complex128),Arithmetic,Add,complex128,10000000,39.4817,41.1306,0.96,104.2,close +a + 5 (literal) (complex128),Arithmetic,Add,complex128,10000000,42.7672,39.9933,1.069,93.5,faster +a - b (element-wise) (complex128),Arithmetic,Subtract,complex128,10000000,41.6707,35.7057,1.167,85.7,faster +a - scalar (complex128),Arithmetic,Subtract,complex128,10000000,39.6368,25.162,1.575,63.5,faster +scalar - a (complex128),Arithmetic,Subtract,complex128,10000000,37.5427,25.1481,1.493,67.0,faster +a * b (element-wise) (complex128),Arithmetic,Multiply,complex128,10000000,34.4053,73.3371,0.469,213.2,slower +a * a (square) (complex128),Arithmetic,Multiply,complex128,10000000,30.2303,43.0242,0.703,142.3,close +a * scalar (complex128),Arithmetic,Multiply,complex128,10000000,30.9297,45.1226,0.685,145.9,close +a * 2 (literal) (complex128),Arithmetic,Multiply,complex128,10000000,31.3365,57.0611,0.549,182.1,close +np.sqrt (float16),Unary,Math,float16,1000,0.0046,0.0039,1.176,85.0,faster +np.abs (float16),Unary,Math,float16,1000,0.0008,0.0015,0.543,184.2,negligible +np.sign (float16),Unary,Math,float16,1000,0.0014,0.0042,0.33,303.5,slower +np.floor (float16),Unary,Rounding,float16,1000,0.0051,0.0039,1.301,76.8,faster +np.ceil (float16),Unary,Rounding,float16,1000,0.005,0.004,1.259,79.4,faster +np.round (float16),Unary,Rounding,float16,1000,0.0058,0.0046,1.24,80.6,faster +np.exp (float16),Unary,ExpLog,float16,1000,0.0052,0.0066,0.788,126.8,close +np.log (float16),Unary,ExpLog,float16,1000,0.0049,0.0069,0.71,140.8,close +np.log10 (float16),Unary,ExpLog,float16,1000,0.0052,0.007,0.74,135.1,close +np.sin (float16),Unary,Trig,float16,1000,0.0057,0.008,0.719,139.1,close +np.cos (float16),Unary,Trig,float16,1000,0.0051,0.0081,0.632,158.2,close +np.tan (float16),Unary,Trig,float16,1000,0.0045,0.0083,0.546,183.2,close +np.exp2 (float16),Unary,ExpLog,float16,1000,0.0047,0.0099,0.477,209.8,slower +np.expm1 (float16),Unary,ExpLog,float16,1000,0.0058,0.0091,0.636,157.2,close +np.log2 (float16),Unary,ExpLog,float16,1000,0.005,0.007,0.721,138.7,close +np.log1p (float16),Unary,ExpLog,float16,1000,0.0062,0.0086,0.719,139.0,close +"np.clip(a, -10, 10) (float16)",Unary,Math,float16,1000,0.0087,0.0059,1.467,68.2,faster +"np.power(a, 2) (float16)",Unary,Power,float16,1000,0.0103,0.0054,1.899,52.7,faster +"np.power(a, 3) (float16)",Unary,Power,float16,1000,0.0126,0.0176,0.716,139.6,close +"np.power(a, 0.5) (float16)",Unary,Power,float16,1000,0.0092,0.0057,1.616,61.9,faster +np.sqrt (float32),Unary,Math,float32,1000,0.0006,0.0015,0.42,238.1,negligible +np.abs (float32),Unary,Math,float32,1000,0.0005,0.0015,0.343,291.4,negligible +np.sign (float32),Unary,Math,float32,1000,0.0011,0.0038,0.295,339.1,slower +np.floor (float32),Unary,Rounding,float32,1000,0.0006,0.0015,0.375,267.0,negligible +np.ceil (float32),Unary,Rounding,float32,1000,0.0005,0.0014,0.38,263.3,negligible +np.round (float32),Unary,Rounding,float32,1000,0.0011,0.0015,0.733,136.4,close +np.exp (float32),Unary,ExpLog,float32,1000,0.001,0.0056,0.186,538.6,much_slower +np.log (float32),Unary,ExpLog,float32,1000,0.0013,0.0051,0.26,384.0,slower +np.log10 (float32),Unary,ExpLog,float32,1000,0.0035,0.005,0.697,143.4,close +np.sin (float32),Unary,Trig,float32,1000,0.006,0.0038,1.57,63.7,faster +np.cos (float32),Unary,Trig,float32,1000,0.0051,0.0038,1.354,73.9,faster +np.tan (float32),Unary,Trig,float32,1000,0.0047,0.0038,1.237,80.8,faster +np.exp2 (float32),Unary,ExpLog,float32,1000,0.0022,0.01,0.217,461.3,slower +np.expm1 (float32),Unary,ExpLog,float32,1000,0.0032,0.0046,0.705,141.8,close +np.log2 (float32),Unary,ExpLog,float32,1000,0.0027,0.0052,0.512,195.4,close +np.log1p (float32),Unary,ExpLog,float32,1000,0.0039,0.004,0.976,102.4,close +"np.clip(a, -10, 10) (float32)",Unary,Math,float32,1000,0.0021,0.0064,0.324,308.3,slower +"np.power(a, 2) (float32)",Unary,Power,float32,1000,0.0024,0.0017,1.364,73.3,faster +"np.power(a, 3) (float32)",Unary,Power,float32,1000,0.0059,0.0082,0.728,137.3,close +"np.power(a, 0.5) (float32)",Unary,Power,float32,1000,0.002,0.0019,1.059,94.5,faster +np.sqrt (float64),Unary,Math,float64,1000,0.0012,0.0025,0.468,213.6,slower +np.abs (float64),Unary,Math,float64,1000,0.0006,0.0028,0.199,503.2,negligible +np.sign (float64),Unary,Math,float64,1000,0.001,0.0047,0.223,448.4,slower +np.floor (float64),Unary,Rounding,float64,1000,0.0006,0.0032,0.174,575.1,negligible +np.ceil (float64),Unary,Rounding,float64,1000,0.0014,0.0036,0.371,269.7,slower +np.round (float64),Unary,Rounding,float64,1000,0.0012,0.0024,0.489,204.4,slower +np.exp (float64),Unary,ExpLog,float64,1000,0.003,0.004,0.749,133.5,close +np.log (float64),Unary,ExpLog,float64,1000,0.0028,0.0038,0.734,136.2,close +np.log10 (float64),Unary,ExpLog,float64,1000,0.0029,0.004,0.727,137.6,close +np.sin (float64),Unary,Trig,float64,1000,0.0049,0.004,1.215,82.3,faster +np.cos (float64),Unary,Trig,float64,1000,0.005,0.004,1.223,81.7,faster +np.tan (float64),Unary,Trig,float64,1000,0.005,0.005,0.994,100.6,close +np.exp2 (float64),Unary,ExpLog,float64,1000,0.0025,0.0096,0.257,388.8,slower +np.expm1 (float64),Unary,ExpLog,float64,1000,0.0038,0.004,0.947,105.6,close +np.log2 (float64),Unary,ExpLog,float64,1000,0.0042,0.0044,0.947,105.6,close +np.log1p (float64),Unary,ExpLog,float64,1000,0.0039,0.0033,1.192,83.9,faster +"np.clip(a, -10, 10) (float64)",Unary,Math,float64,1000,0.0019,0.0047,0.397,251.8,slower +"np.power(a, 2) (float64)",Unary,Power,float64,1000,0.0022,0.0031,0.711,140.6,close +"np.power(a, 3) (float64)",Unary,Power,float64,1000,0.0098,0.0121,0.813,123.1,close +"np.power(a, 0.5) (float64)",Unary,Power,float64,1000,0.0018,0.0032,0.552,181.3,close +np.cbrt(a) (float16),Unary,Unary,float16,1000,0.0101,0.0111,0.909,110.0,close +np.reciprocal(a) (float16),Unary,Unary,float16,1000,0.0036,0.0045,0.789,126.8,close +np.square(a) (float16),Unary,Unary,float16,1000,0.0034,0.0048,0.708,141.3,close +np.negative(a) (float16),Unary,Unary,float16,1000,0.0007,0.0014,0.541,184.9,negligible +np.positive(a) (float16),Unary,Unary,float16,1000,0.0007,0.001,0.692,144.5,negligible +np.trunc(a) (float16),Unary,Unary,float16,1000,0.0054,0.0038,1.404,71.2,faster +np.cbrt(a) (float32),Unary,Unary,float32,1000,0.0066,0.006,1.102,90.8,faster +np.reciprocal(a) (float32),Unary,Unary,float32,1000,0.0006,0.0014,0.444,225.0,negligible +np.square(a) (float32),Unary,Unary,float32,1000,0.0005,0.0013,0.388,257.5,negligible +np.negative(a) (float32),Unary,Unary,float32,1000,0.0005,0.0015,0.346,289.1,negligible +np.positive(a) (float32),Unary,Unary,float32,1000,0.0007,0.002,0.323,309.7,negligible +np.trunc(a) (float32),Unary,Unary,float32,1000,0.0005,0.0016,0.345,289.7,negligible +np.cbrt(a) (float64),Unary,Unary,float64,1000,0.0098,0.0093,1.051,95.1,faster +np.reciprocal(a) (float64),Unary,Unary,float64,1000,0.0008,0.0019,0.422,237.1,negligible +np.square(a) (float64),Unary,Unary,float64,1000,0.0005,0.003,0.168,595.7,negligible +np.negative(a) (float64),Unary,Unary,float64,1000,0.0005,0.0036,0.147,679.3,negligible +np.positive(a) (float64),Unary,Unary,float64,1000,0.0007,0.0028,0.244,409.2,negligible +np.trunc(a) (float64),Unary,Unary,float64,1000,0.0005,0.002,0.268,373.3,negligible +np.sqrt (float16),Unary,Math,float16,100000,0.4264,0.3413,1.249,80.0,faster +np.abs (float16),Unary,Math,float16,100000,0.0264,0.0234,1.127,88.8,faster +np.sign (float16),Unary,Math,float16,100000,0.0887,0.6603,0.134,744.4,much_slower +np.floor (float16),Unary,Rounding,float16,100000,0.4407,0.34,1.296,77.2,faster +np.ceil (float16),Unary,Rounding,float16,100000,0.466,0.3448,1.352,74.0,faster +np.round (float16),Unary,Rounding,float16,100000,0.4702,0.424,1.109,90.2,faster +np.exp (float16),Unary,ExpLog,float16,100000,0.4392,0.6077,0.723,138.4,close +np.log (float16),Unary,ExpLog,float16,100000,0.4263,0.6316,0.675,148.2,close +np.log10 (float16),Unary,ExpLog,float16,100000,0.4465,0.6426,0.695,143.9,close +np.sin (float16),Unary,Trig,float16,100000,0.7108,1.1057,0.643,155.6,close +np.cos (float16),Unary,Trig,float16,100000,0.7102,1.1049,0.643,155.6,close +np.tan (float16),Unary,Trig,float16,100000,0.8245,1.112,0.741,134.9,close +np.exp2 (float16),Unary,ExpLog,float16,100000,0.4598,0.9896,0.465,215.2,slower +np.expm1 (float16),Unary,ExpLog,float16,100000,0.5474,0.8722,0.628,159.3,close +np.log2 (float16),Unary,ExpLog,float16,100000,0.4545,0.6414,0.709,141.1,close +np.log1p (float16),Unary,ExpLog,float16,100000,0.5885,0.7878,0.747,133.9,close +"np.clip(a, -10, 10) (float16)",Unary,Math,float16,100000,0.9296,0.7061,1.317,76.0,faster +"np.power(a, 2) (float16)",Unary,Power,float16,100000,1.069,0.4762,2.245,44.5,faster +"np.power(a, 3) (float16)",Unary,Power,float16,100000,1.5343,2.4828,0.618,161.8,close +"np.power(a, 0.5) (float16)",Unary,Power,float16,100000,0.8324,0.3398,2.45,40.8,faster +np.sqrt (float32),Unary,Math,float32,100000,0.0149,0.0291,0.514,194.7,close +np.abs (float32),Unary,Math,float32,100000,0.0064,0.0352,0.181,553.2,much_slower +np.sign (float32),Unary,Math,float32,100000,0.2971,0.4006,0.742,134.8,close +np.floor (float32),Unary,Rounding,float32,100000,0.0064,0.0319,0.199,501.4,much_slower +np.ceil (float32),Unary,Rounding,float32,100000,0.0066,0.0305,0.217,460.2,slower +np.round (float32),Unary,Rounding,float32,100000,0.007,0.0281,0.248,403.2,slower +np.exp (float32),Unary,ExpLog,float32,100000,0.0553,0.1841,0.301,332.7,slower +np.log (float32),Unary,ExpLog,float32,100000,0.0869,0.2148,0.404,247.3,slower +np.log10 (float32),Unary,ExpLog,float32,100000,0.1985,0.214,0.928,107.8,close +np.sin (float32),Unary,Trig,float32,100000,0.7167,0.7077,1.013,98.7,faster +np.cos (float32),Unary,Trig,float32,100000,0.703,0.7111,0.989,101.2,close +np.tan (float32),Unary,Trig,float32,100000,0.8414,0.6851,1.228,81.4,faster +np.exp2 (float32),Unary,ExpLog,float32,100000,0.176,0.8987,0.196,510.7,much_slower +np.expm1 (float32),Unary,ExpLog,float32,100000,0.2728,0.1902,1.434,69.7,faster +np.log2 (float32),Unary,ExpLog,float32,100000,0.2008,0.2006,1.001,99.9,faster +np.log1p (float32),Unary,ExpLog,float32,100000,0.3058,0.2337,1.309,76.4,faster +"np.clip(a, -10, 10) (float32)",Unary,Math,float32,100000,0.0082,0.0345,0.238,420.8,slower +"np.power(a, 2) (float32)",Unary,Power,float32,100000,0.1544,0.0283,5.46,18.3,faster +"np.power(a, 3) (float32)",Unary,Power,float32,100000,0.6578,0.678,0.97,103.1,close +"np.power(a, 0.5) (float32)",Unary,Power,float32,100000,0.1267,0.0285,4.448,22.5,faster +np.sqrt (float64),Unary,Math,float64,100000,0.0557,0.0656,0.848,117.9,close +np.abs (float64),Unary,Math,float64,100000,0.0112,0.0686,0.163,612.2,much_slower +np.sign (float64),Unary,Math,float64,100000,0.2936,0.4,0.734,136.2,close +np.floor (float64),Unary,Rounding,float64,100000,0.0151,0.0632,0.239,419.2,slower +np.ceil (float64),Unary,Rounding,float64,100000,0.012,0.0606,0.199,503.3,much_slower +np.round (float64),Unary,Rounding,float64,100000,0.0128,0.0572,0.224,446.7,slower +np.exp (float64),Unary,ExpLog,float64,100000,0.2581,0.2792,0.925,108.2,close +np.log (float64),Unary,ExpLog,float64,100000,0.2424,0.2668,0.908,110.1,close +np.log10 (float64),Unary,ExpLog,float64,100000,0.2625,0.2698,0.973,102.8,close +np.sin (float64),Unary,Trig,float64,100000,0.714,0.7415,0.963,103.8,close +np.cos (float64),Unary,Trig,float64,100000,0.699,0.7313,0.956,104.6,close +np.tan (float64),Unary,Trig,float64,100000,0.8055,0.8447,0.954,104.9,close +np.exp2 (float64),Unary,ExpLog,float64,100000,0.2137,0.8559,0.25,400.4,slower +np.expm1 (float64),Unary,ExpLog,float64,100000,0.359,0.2864,1.254,79.8,faster +np.log2 (float64),Unary,ExpLog,float64,100000,0.3739,0.3882,0.963,103.8,close +np.log1p (float64),Unary,ExpLog,float64,100000,0.3412,0.2752,1.24,80.7,faster +"np.clip(a, -10, 10) (float64)",Unary,Math,float64,100000,0.0166,0.07,0.238,420.7,slower +"np.power(a, 2) (float64)",Unary,Power,float64,100000,0.1542,0.059,2.615,38.2,faster +"np.power(a, 3) (float64)",Unary,Power,float64,100000,1.0724,1.0959,0.978,102.2,close +"np.power(a, 0.5) (float64)",Unary,Power,float64,100000,0.1231,0.0638,1.93,51.8,faster +np.cbrt(a) (float16),Unary,Unary,float16,100000,1.1991,1.3766,0.871,114.8,close +np.reciprocal(a) (float16),Unary,Unary,float16,100000,0.2193,0.408,0.538,186.0,close +np.square(a) (float16),Unary,Unary,float16,100000,0.2122,0.4399,0.483,207.2,slower +np.negative(a) (float16),Unary,Unary,float16,100000,0.0278,0.0234,1.187,84.3,faster +np.positive(a) (float16),Unary,Unary,float16,100000,0.0217,0.013,1.667,60.0,faster +np.trunc(a) (float16),Unary,Unary,float16,100000,0.4827,0.3346,1.443,69.3,faster +np.cbrt(a) (float32),Unary,Unary,float32,100000,0.8943,0.8882,1.007,99.3,faster +np.reciprocal(a) (float32),Unary,Unary,float32,100000,0.0143,0.0263,0.543,184.3,close +np.square(a) (float32),Unary,Unary,float32,100000,0.0058,0.0262,0.223,448.0,slower +np.negative(a) (float32),Unary,Unary,float32,100000,0.0066,0.0261,0.254,393.7,slower +np.positive(a) (float32),Unary,Unary,float32,100000,0.0194,0.025,0.775,129.0,close +np.trunc(a) (float32),Unary,Unary,float32,100000,0.0058,0.0257,0.224,445.4,slower +np.cbrt(a) (float64),Unary,Unary,float64,100000,1.097,1.0793,1.016,98.4,faster +np.reciprocal(a) (float64),Unary,Unary,float64,100000,0.0421,0.0535,0.787,127.1,close +np.square(a) (float64),Unary,Unary,float64,100000,0.0122,0.0533,0.229,436.4,slower +np.negative(a) (float64),Unary,Unary,float64,100000,0.0121,0.0539,0.224,447.3,slower +np.positive(a) (float64),Unary,Unary,float64,100000,0.0206,0.052,0.397,251.9,slower +np.trunc(a) (float64),Unary,Unary,float64,100000,0.0115,0.0513,0.224,445.7,slower +np.sqrt (float16),Unary,Math,float16,10000000,40.8006,33.6967,1.211,82.6,faster +np.abs (float16),Unary,Math,float16,10000000,4.7982,2.9688,1.616,61.9,faster +np.sign (float16),Unary,Math,float16,10000000,10.5588,63.8912,0.165,605.1,much_slower +np.floor (float16),Unary,Rounding,float16,10000000,43.3912,33.7248,1.287,77.7,faster +np.ceil (float16),Unary,Rounding,float16,10000000,43.5339,33.7644,1.289,77.6,faster +np.round (float16),Unary,Rounding,float16,10000000,42.8027,40.9331,1.046,95.6,faster +np.exp (float16),Unary,ExpLog,float16,10000000,44.3829,58.6632,0.757,132.2,close +np.log (float16),Unary,ExpLog,float16,10000000,46.0282,63.6713,0.723,138.3,close +np.log10 (float16),Unary,ExpLog,float16,10000000,47.8418,62.9499,0.76,131.6,close +np.sin (float16),Unary,Trig,float16,10000000,79.6291,110.416,0.721,138.7,close +np.cos (float16),Unary,Trig,float16,10000000,80.1757,109.6838,0.731,136.8,close +np.tan (float16),Unary,Trig,float16,10000000,92.5062,110.2014,0.839,119.1,close +np.exp2 (float16),Unary,ExpLog,float16,10000000,48.1931,97.0656,0.496,201.4,slower +np.expm1 (float16),Unary,ExpLog,float16,10000000,55.0439,85.4215,0.644,155.2,close +np.log2 (float16),Unary,ExpLog,float16,10000000,48.9339,62.7084,0.78,128.1,close +np.log1p (float16),Unary,ExpLog,float16,10000000,60.5869,77.8953,0.778,128.6,close +"np.clip(a, -10, 10) (float16)",Unary,Math,float16,10000000,93.7915,68.7791,1.364,73.3,faster +"np.power(a, 2) (float16)",Unary,Power,float16,10000000,106.8632,46.7294,2.287,43.7,faster +"np.power(a, 3) (float16)",Unary,Power,float16,10000000,150.3564,250.3069,0.601,166.5,close +"np.power(a, 0.5) (float16)",Unary,Power,float16,10000000,84.2019,32.9557,2.555,39.1,faster +np.sqrt (float32),Unary,Math,float32,10000000,7.0955,4.2557,1.667,60.0,faster +np.abs (float32),Unary,Math,float32,10000000,7.1189,4.2161,1.689,59.2,faster +np.sign (float32),Unary,Math,float32,10000000,36.0421,39.7051,0.908,110.2,close +np.floor (float32),Unary,Rounding,float32,10000000,7.303,5.1858,1.408,71.0,faster +np.ceil (float32),Unary,Rounding,float32,10000000,7.2732,4.4002,1.653,60.5,faster +np.round (float32),Unary,Rounding,float32,10000000,7.3586,4.6823,1.572,63.6,faster +np.exp (float32),Unary,ExpLog,float32,10000000,10.4285,17.6747,0.59,169.5,close +np.log (float32),Unary,ExpLog,float32,10000000,13.18,20.9525,0.629,159.0,close +np.log10 (float32),Unary,ExpLog,float32,10000000,23.5444,20.6616,1.14,87.8,faster +np.sin (float32),Unary,Trig,float32,10000000,80.7643,70.4978,1.146,87.3,faster +np.cos (float32),Unary,Trig,float32,10000000,82.6791,69.083,1.197,83.6,faster +np.tan (float32),Unary,Trig,float32,10000000,92.7529,67.5651,1.373,72.8,faster +np.exp2 (float32),Unary,ExpLog,float32,10000000,22.9673,90.4267,0.254,393.7,slower +np.expm1 (float32),Unary,ExpLog,float32,10000000,31.7384,18.416,1.723,58.0,faster +np.log2 (float32),Unary,ExpLog,float32,10000000,23.4387,19.254,1.217,82.1,faster +np.log1p (float32),Unary,ExpLog,float32,10000000,33.3514,22.3477,1.492,67.0,faster +"np.clip(a, -10, 10) (float32)",Unary,Math,float32,10000000,7.5158,4.14,1.815,55.1,faster +"np.power(a, 2) (float32)",Unary,Power,float32,10000000,18.94,4.1649,4.548,22.0,faster +"np.power(a, 3) (float32)",Unary,Power,float32,10000000,72.0628,66.4589,1.084,92.2,faster +"np.power(a, 0.5) (float32)",Unary,Power,float32,10000000,16.0019,4.1327,3.872,25.8,faster +np.sqrt (float64),Unary,Math,float64,10000000,15.1785,13.7551,1.103,90.6,faster +np.abs (float64),Unary,Math,float64,10000000,14.6849,13.9245,1.055,94.8,faster +np.sign (float64),Unary,Math,float64,10000000,40.6151,45.17,0.899,111.2,close +np.floor (float64),Unary,Rounding,float64,10000000,14.8331,19.622,0.756,132.3,close +np.ceil (float64),Unary,Rounding,float64,10000000,14.6298,16.0489,0.912,109.7,close +np.round (float64),Unary,Rounding,float64,10000000,15.0627,15.7393,0.957,104.5,close +np.exp (float64),Unary,ExpLog,float64,10000000,33.4427,31.7361,1.054,94.9,faster +np.log (float64),Unary,ExpLog,float64,10000000,31.9128,30.1149,1.06,94.4,faster +np.log10 (float64),Unary,ExpLog,float64,10000000,32.9855,30.761,1.072,93.3,faster +np.sin (float64),Unary,Trig,float64,10000000,82.056,78.2388,1.049,95.3,faster +np.cos (float64),Unary,Trig,float64,10000000,81.9906,77.371,1.06,94.4,faster +np.tan (float64),Unary,Trig,float64,10000000,94.5311,88.7915,1.065,93.9,faster +np.exp2 (float64),Unary,ExpLog,float64,10000000,37.0195,90.0413,0.411,243.2,slower +np.expm1 (float64),Unary,ExpLog,float64,10000000,47.0453,33.2374,1.415,70.6,faster +np.log2 (float64),Unary,ExpLog,float64,10000000,50.1019,42.1909,1.188,84.2,faster +np.log1p (float64),Unary,ExpLog,float64,10000000,48.2083,31.5835,1.526,65.5,faster +"np.clip(a, -10, 10) (float64)",Unary,Math,float64,10000000,18.6971,13.381,1.397,71.6,faster +"np.power(a, 2) (float64)",Unary,Power,float64,10000000,28.4405,13.5219,2.103,47.5,faster +"np.power(a, 3) (float64)",Unary,Power,float64,10000000,124.6532,111.9286,1.114,89.8,faster +"np.power(a, 0.5) (float64)",Unary,Power,float64,10000000,25.4013,13.6356,1.863,53.7,faster +np.cbrt(a) (float16),Unary,Unary,float16,10000000,121.4253,136.3973,0.89,112.3,close +np.reciprocal(a) (float16),Unary,Unary,float16,10000000,23.1324,40.0357,0.578,173.1,close +np.square(a) (float16),Unary,Unary,float16,10000000,23.1199,42.7721,0.541,185.0,close +np.negative(a) (float16),Unary,Unary,float16,10000000,4.769,2.8837,1.654,60.5,faster +np.positive(a) (float16),Unary,Unary,float16,10000000,4.2319,1.618,2.616,38.2,faster +np.trunc(a) (float16),Unary,Unary,float16,10000000,42.0396,32.4934,1.294,77.3,faster +np.cbrt(a) (float32),Unary,Unary,float32,10000000,94.5195,86.5058,1.093,91.5,faster +np.reciprocal(a) (float32),Unary,Unary,float32,10000000,7.162,4.0578,1.765,56.7,faster +np.square(a) (float32),Unary,Unary,float32,10000000,7.1833,4.0587,1.77,56.5,faster +np.negative(a) (float32),Unary,Unary,float32,10000000,7.7826,4.1048,1.896,52.7,faster +np.positive(a) (float32),Unary,Unary,float32,10000000,7.762,3.3803,2.296,43.5,faster +np.trunc(a) (float32),Unary,Unary,float32,10000000,7.1817,4.0632,1.768,56.6,faster +np.cbrt(a) (float64),Unary,Unary,float64,10000000,115.3869,109.5524,1.053,94.9,faster +np.reciprocal(a) (float64),Unary,Unary,float64,10000000,14.7266,13.7636,1.07,93.5,faster +np.square(a) (float64),Unary,Unary,float64,10000000,14.9158,13.8405,1.078,92.8,faster +np.negative(a) (float64),Unary,Unary,float64,10000000,16.0651,13.8831,1.157,86.4,faster +np.positive(a) (float64),Unary,Unary,float64,10000000,15.1241,10.8534,1.393,71.8,faster +np.trunc(a) (float64),Unary,Unary,float64,10000000,14.6674,13.6305,1.076,92.9,faster +np.sum (uint8),Reduction,Sum,uint8,1000,0.0024,0.0008,3.074,32.5,negligible +np.sum axis=0 (uint8),Reduction,Sum,uint8,1000,0.0026,0.0009,2.85,35.1,negligible +np.sum axis=1 (uint8),Reduction,Sum,uint8,1000,0.0025,0.0007,3.806,26.3,negligible +np.mean (uint8),Reduction,Mean,uint8,1000,0.0031,0.0008,3.805,26.3,negligible +np.amin (uint8),Reduction,MinMax,uint8,1000,0.0016,0.0007,2.257,44.3,negligible +np.amax (uint8),Reduction,MinMax,uint8,1000,0.0016,0.0008,2.056,48.6,negligible +np.argmin (uint8),Reduction,ArgMinMax,uint8,1000,0.0009,0.0007,1.282,78.0,negligible +np.argmax (uint8),Reduction,ArgMinMax,uint8,1000,0.0013,0.0007,1.948,51.3,negligible +np.cumsum (uint8),Reduction,Sum,uint8,1000,0.0025,0.0019,1.272,78.6,faster +np.amin axis=0 (uint8),Reduction,MinMax,uint8,1000,0.0019,0.0007,2.862,34.9,negligible +np.amax axis=0 (uint8),Reduction,MinMax,uint8,1000,0.0019,0.0007,2.852,35.1,negligible +np.mean axis=0 (uint8),Reduction,Mean,uint8,1000,0.0039,0.0007,5.2,19.2,negligible +np.mean axis=1 (uint8),Reduction,Mean,uint8,1000,0.0035,0.0008,4.495,22.2,negligible +np.sum (int8),Reduction,Sum,int8,1000,0.0022,0.0008,2.769,36.1,negligible +np.sum axis=0 (int8),Reduction,Sum,int8,1000,0.0024,0.0009,2.523,39.6,negligible +np.sum axis=1 (int8),Reduction,Sum,int8,1000,0.0023,0.0007,3.539,28.3,negligible +np.mean (int8),Reduction,Mean,int8,1000,0.003,0.0008,3.578,27.9,negligible +np.amin (int8),Reduction,MinMax,int8,1000,0.0017,0.0007,2.3,43.5,negligible +np.amax (int8),Reduction,MinMax,int8,1000,0.0016,0.0007,2.082,48.0,negligible +np.argmin (int8),Reduction,ArgMinMax,int8,1000,0.0009,0.0007,1.279,78.2,negligible +np.argmax (int8),Reduction,ArgMinMax,int8,1000,0.0009,0.0007,1.254,79.7,negligible +np.cumsum (int8),Reduction,Sum,int8,1000,0.0025,0.0017,1.49,67.1,faster +np.amin axis=0 (int8),Reduction,MinMax,int8,1000,0.0019,0.0006,2.991,33.4,negligible +np.amax axis=0 (int8),Reduction,MinMax,int8,1000,0.002,0.0007,2.789,35.9,negligible +np.mean axis=0 (int8),Reduction,Mean,int8,1000,0.0038,0.0008,4.56,21.9,negligible +np.mean axis=1 (int8),Reduction,Mean,int8,1000,0.0036,0.0008,4.503,22.2,negligible +np.sum (int16),Reduction,Sum,int16,1000,0.002,0.0008,2.549,39.2,negligible +np.sum axis=0 (int16),Reduction,Sum,int16,1000,0.0025,0.0009,2.701,37.0,negligible +np.sum axis=1 (int16),Reduction,Sum,int16,1000,0.0023,0.0007,3.507,28.5,negligible +np.mean (int16),Reduction,Mean,int16,1000,0.0031,0.0008,3.923,25.5,negligible +np.amin (int16),Reduction,MinMax,int16,1000,0.0016,0.0007,2.266,44.1,negligible +np.amax (int16),Reduction,MinMax,int16,1000,0.0015,0.0007,2.141,46.7,negligible +np.argmin (int16),Reduction,ArgMinMax,int16,1000,0.0011,0.0007,1.516,66.0,negligible +np.argmax (int16),Reduction,ArgMinMax,int16,1000,0.0009,0.0007,1.227,81.5,negligible +np.cumsum (int16),Reduction,Sum,int16,1000,0.0025,0.002,1.233,81.1,faster +np.amin axis=0 (int16),Reduction,MinMax,int16,1000,0.002,0.0007,2.896,34.5,negligible +np.amax axis=0 (int16),Reduction,MinMax,int16,1000,0.002,0.0007,2.938,34.0,negligible +np.mean axis=0 (int16),Reduction,Mean,int16,1000,0.0038,0.0008,4.828,20.7,negligible +np.mean axis=1 (int16),Reduction,Mean,int16,1000,0.0037,0.0008,4.548,22.0,negligible +np.sum (uint16),Reduction,Sum,uint16,1000,0.0022,0.0008,2.841,35.2,negligible +np.sum axis=0 (uint16),Reduction,Sum,uint16,1000,0.0025,0.0009,2.711,36.9,negligible +np.sum axis=1 (uint16),Reduction,Sum,uint16,1000,0.0027,0.0008,3.444,29.0,negligible +np.mean (uint16),Reduction,Mean,uint16,1000,0.0031,0.0008,3.904,25.6,negligible +np.amin (uint16),Reduction,MinMax,uint16,1000,0.0016,0.0007,2.157,46.4,negligible +np.amax (uint16),Reduction,MinMax,uint16,1000,0.0016,0.0008,2.119,47.2,negligible +np.argmin (uint16),Reduction,ArgMinMax,uint16,1000,0.0009,0.0007,1.324,75.5,negligible +np.argmax (uint16),Reduction,ArgMinMax,uint16,1000,0.0009,0.0007,1.267,78.9,negligible +np.cumsum (uint16),Reduction,Sum,uint16,1000,0.0026,0.002,1.257,79.5,faster +np.amin axis=0 (uint16),Reduction,MinMax,uint16,1000,0.002,0.0007,2.984,33.5,negligible +np.amax axis=0 (uint16),Reduction,MinMax,uint16,1000,0.002,0.0007,2.97,33.7,negligible +np.mean axis=0 (uint16),Reduction,Mean,uint16,1000,0.0037,0.0007,5.003,20.0,negligible +np.mean axis=1 (uint16),Reduction,Mean,uint16,1000,0.0038,0.0008,4.68,21.4,negligible +np.sum (int32),Reduction,Sum,int32,1000,0.0023,0.0008,2.845,35.1,negligible +np.sum axis=0 (int32),Reduction,Sum,int32,1000,0.0028,0.0007,3.803,26.3,negligible +np.sum axis=1 (int32),Reduction,Sum,int32,1000,0.0025,0.0007,3.664,27.3,negligible +np.mean (int32),Reduction,Mean,int32,1000,0.003,0.0008,3.707,27.0,negligible +np.amin (int32),Reduction,MinMax,int32,1000,0.0016,0.0007,2.247,44.5,negligible +np.amax (int32),Reduction,MinMax,int32,1000,0.0016,0.0007,2.282,43.8,negligible +np.argmin (int32),Reduction,ArgMinMax,int32,1000,0.001,0.0007,1.376,72.7,negligible +np.argmax (int32),Reduction,ArgMinMax,int32,1000,0.0009,0.0007,1.225,81.6,negligible +np.cumsum (int32),Reduction,Sum,int32,1000,0.0024,0.0019,1.27,78.8,faster +np.amin axis=0 (int32),Reduction,MinMax,int32,1000,0.0023,0.0007,3.319,30.1,negligible +np.amax axis=0 (int32),Reduction,MinMax,int32,1000,0.002,0.0007,2.841,35.2,negligible +np.mean axis=0 (int32),Reduction,Mean,int32,1000,0.0044,0.0008,5.781,17.3,negligible +np.mean axis=1 (int32),Reduction,Mean,int32,1000,0.0037,0.0007,5.002,20.0,negligible +np.sum (uint32),Reduction,Sum,uint32,1000,0.0023,0.0008,2.832,35.3,negligible +np.sum axis=0 (uint32),Reduction,Sum,uint32,1000,0.0028,0.0007,3.863,25.9,negligible +np.sum axis=1 (uint32),Reduction,Sum,uint32,1000,0.0026,0.0007,3.63,27.5,negligible +np.mean (uint32),Reduction,Mean,uint32,1000,0.003,0.0008,3.702,27.0,negligible +np.amin (uint32),Reduction,MinMax,uint32,1000,0.0016,0.0007,2.298,43.5,negligible +np.amax (uint32),Reduction,MinMax,uint32,1000,0.0016,0.0007,2.211,45.2,negligible +np.argmin (uint32),Reduction,ArgMinMax,uint32,1000,0.001,0.0007,1.362,73.4,negligible +np.argmax (uint32),Reduction,ArgMinMax,uint32,1000,0.0009,0.0007,1.302,76.8,negligible +np.cumsum (uint32),Reduction,Sum,uint32,1000,0.0024,0.0021,1.172,85.3,faster +np.amin axis=0 (uint32),Reduction,MinMax,uint32,1000,0.0019,0.0007,2.772,36.1,negligible +np.amax axis=0 (uint32),Reduction,MinMax,uint32,1000,0.0019,0.0007,2.805,35.7,negligible +np.mean axis=0 (uint32),Reduction,Mean,uint32,1000,0.0044,0.0008,5.636,17.7,negligible +np.mean axis=1 (uint32),Reduction,Mean,uint32,1000,0.0034,0.0008,4.121,24.3,negligible +np.sum (int64),Reduction,Sum,int64,1000,0.0018,0.0008,2.267,44.1,negligible +np.sum axis=0 (int64),Reduction,Sum,int64,1000,0.002,0.0007,2.742,36.5,negligible +np.sum axis=1 (int64),Reduction,Sum,int64,1000,0.0019,0.0007,2.597,38.5,negligible +np.mean (int64),Reduction,Mean,int64,1000,0.0029,0.0008,3.709,27.0,negligible +np.amin (int64),Reduction,MinMax,int64,1000,0.0017,0.0008,2.13,46.9,negligible +np.amax (int64),Reduction,MinMax,int64,1000,0.0017,0.0006,2.625,38.1,negligible +np.argmin (int64),Reduction,ArgMinMax,int64,1000,0.001,0.0009,1.108,90.3,negligible +np.argmax (int64),Reduction,ArgMinMax,int64,1000,0.001,0.0009,1.106,90.4,negligible +np.cumsum (int64),Reduction,Sum,int64,1000,0.0017,0.0019,0.915,109.3,close +np.amin axis=0 (int64),Reduction,MinMax,int64,1000,0.0027,0.0008,3.316,30.2,negligible +np.amax axis=0 (int64),Reduction,MinMax,int64,1000,0.0021,0.0008,2.618,38.2,negligible +np.mean axis=0 (int64),Reduction,Mean,int64,1000,0.0043,0.0013,3.253,30.7,faster +np.mean axis=1 (int64),Reduction,Mean,int64,1000,0.0034,0.0013,2.547,39.3,faster +np.sum (uint64),Reduction,Sum,uint64,1000,0.0018,0.0008,2.284,43.8,negligible +np.sum axis=0 (uint64),Reduction,Sum,uint64,1000,0.002,0.0007,2.73,36.6,negligible +np.sum axis=1 (uint64),Reduction,Sum,uint64,1000,0.0019,0.0007,2.686,37.2,negligible +np.mean (uint64),Reduction,Mean,uint64,1000,0.0032,0.0008,4.16,24.0,negligible +np.amin (uint64),Reduction,MinMax,uint64,1000,0.0017,0.0008,2.115,47.3,negligible +np.amax (uint64),Reduction,MinMax,uint64,1000,0.0017,0.0008,2.137,46.8,negligible +np.argmin (uint64),Reduction,ArgMinMax,uint64,1000,0.001,0.0009,1.034,96.7,negligible +np.argmax (uint64),Reduction,ArgMinMax,uint64,1000,0.001,0.0009,1.045,95.7,negligible +np.cumsum (uint64),Reduction,Sum,uint64,1000,0.0017,0.002,0.824,121.3,close +np.amin axis=0 (uint64),Reduction,MinMax,uint64,1000,0.002,0.0008,2.375,42.1,negligible +np.amax axis=0 (uint64),Reduction,MinMax,uint64,1000,0.002,0.0009,2.239,44.7,negligible +np.mean axis=0 (uint64),Reduction,Mean,uint64,1000,0.0037,0.0017,2.198,45.5,faster +np.mean axis=1 (uint64),Reduction,Mean,uint64,1000,0.0037,0.0016,2.231,44.8,faster +np.sum (float16),Reduction,Sum,float16,1000,0.004,0.0012,3.332,30.0,faster +np.sum axis=0 (float16),Reduction,Sum,float16,1000,0.0053,0.004,1.325,75.5,faster +np.sum axis=1 (float16),Reduction,Sum,float16,1000,0.0039,0.0038,1.043,95.8,faster +np.mean (float16),Reduction,Mean,float16,1000,0.0047,0.0012,3.857,25.9,faster +np.var (float16),Reduction,VarStd,float16,1000,0.02,0.0021,9.505,10.5,faster +np.std (float16),Reduction,VarStd,float16,1000,0.0203,0.0021,9.631,10.4,faster +np.amin (float16),Reduction,MinMax,float16,1000,0.0041,0.0012,3.531,28.3,faster +np.amax (float16),Reduction,MinMax,float16,1000,0.0037,0.0011,3.477,28.8,faster +np.argmin (float16),Reduction,ArgMinMax,float16,1000,0.0029,0.002,1.422,70.3,faster +np.argmax (float16),Reduction,ArgMinMax,float16,1000,0.0029,0.0021,1.409,71.0,faster +np.cumsum (float16),Reduction,Sum,float16,1000,0.0071,0.0094,0.749,133.5,close +np.amin axis=0 (float16),Reduction,MinMax,float16,1000,0.004,0.0019,2.113,47.3,faster +np.amax axis=0 (float16),Reduction,MinMax,float16,1000,0.0042,0.0019,2.179,45.9,faster +np.mean axis=0 (float16),Reduction,Mean,float16,1000,0.0061,0.0035,1.751,57.1,faster +np.mean axis=1 (float16),Reduction,Mean,float16,1000,0.0052,0.0039,1.309,76.4,faster +np.var axis=0 (float16),Reduction,VarStd,float16,1000,0.02,0.0044,4.515,22.1,faster +np.std axis=0 (float16),Reduction,VarStd,float16,1000,0.0214,0.0045,4.781,20.9,faster +np.sum (float32),Reduction,Sum,float32,1000,0.0017,0.0008,2.258,44.3,negligible +np.sum axis=0 (float32),Reduction,Sum,float32,1000,0.0022,0.0019,1.175,85.1,faster +np.sum axis=1 (float32),Reduction,Sum,float32,1000,0.003,0.0019,1.533,65.2,faster +np.mean (float32),Reduction,Mean,float32,1000,0.004,0.0007,5.418,18.5,negligible +np.var (float32),Reduction,VarStd,float32,1000,0.0083,0.0007,11.923,8.4,negligible +np.std (float32),Reduction,VarStd,float32,1000,0.0086,0.0007,12.745,7.8,negligible +np.amin (float32),Reduction,MinMax,float32,1000,0.0023,0.0008,2.968,33.7,negligible +np.amax (float32),Reduction,MinMax,float32,1000,0.0017,0.0006,2.729,36.6,negligible +np.argmin (float32),Reduction,ArgMinMax,float32,1000,0.0009,0.0012,0.798,125.3,negligible +np.argmax (float32),Reduction,ArgMinMax,float32,1000,0.0009,0.0012,0.778,128.6,negligible +np.cumsum (float32),Reduction,Sum,float32,1000,0.0029,0.0018,1.651,60.6,faster +np.amin axis=0 (float32),Reduction,MinMax,float32,1000,0.0021,0.0008,2.674,37.4,negligible +np.amax axis=0 (float32),Reduction,MinMax,float32,1000,0.0021,0.0008,2.664,37.5,negligible +np.mean axis=0 (float32),Reduction,Mean,float32,1000,0.0039,0.0022,1.82,55.0,faster +np.mean axis=1 (float32),Reduction,Mean,float32,1000,0.0036,0.0022,1.667,60.0,faster +np.var axis=0 (float32),Reduction,VarStd,float32,1000,0.0086,0.0017,5.194,19.3,faster +np.std axis=0 (float32),Reduction,VarStd,float32,1000,0.0087,0.0016,5.571,18.0,faster +np.sum (float64),Reduction,Sum,float64,1000,0.0017,0.0008,2.243,44.6,negligible +np.sum axis=0 (float64),Reduction,Sum,float64,1000,0.002,0.0019,1.034,96.7,faster +np.sum axis=1 (float64),Reduction,Sum,float64,1000,0.0019,0.0016,1.208,82.8,faster +np.mean (float64),Reduction,Mean,float64,1000,0.0024,0.0007,3.253,30.7,negligible +np.var (float64),Reduction,VarStd,float64,1000,0.0067,0.0008,8.397,11.9,negligible +np.std (float64),Reduction,VarStd,float64,1000,0.0068,0.0004,15.611,6.4,negligible +np.amin (float64),Reduction,MinMax,float64,1000,0.0017,0.0008,2.21,45.2,negligible +np.amax (float64),Reduction,MinMax,float64,1000,0.0018,0.0008,2.337,42.8,negligible +np.argmin (float64),Reduction,ArgMinMax,float64,1000,0.001,0.0012,0.827,120.9,negligible +np.argmax (float64),Reduction,ArgMinMax,float64,1000,0.001,0.0012,0.822,121.6,negligible +np.cumsum (float64),Reduction,Sum,float64,1000,0.0028,0.0022,1.315,76.0,faster +np.amin axis=0 (float64),Reduction,MinMax,float64,1000,0.0021,0.0009,2.407,41.5,negligible +np.amax axis=0 (float64),Reduction,MinMax,float64,1000,0.0021,0.0009,2.331,42.9,negligible +np.mean axis=0 (float64),Reduction,Mean,float64,1000,0.003,0.0023,1.291,77.5,faster +np.mean axis=1 (float64),Reduction,Mean,float64,1000,0.0029,0.0022,1.332,75.0,faster +np.var axis=0 (float64),Reduction,VarStd,float64,1000,0.0075,0.0009,7.968,12.5,negligible +np.std axis=0 (float64),Reduction,VarStd,float64,1000,0.0076,0.0009,8.362,12.0,negligible +np.sum (complex128),Reduction,Sum,complex128,1000,0.0018,0.0009,2.018,49.6,negligible +np.sum axis=0 (complex128),Reduction,Sum,complex128,1000,0.002,0.0017,1.162,86.1,faster +np.sum axis=1 (complex128),Reduction,Sum,complex128,1000,0.0021,0.0018,1.168,85.6,faster +np.mean (complex128),Reduction,Mean,complex128,1000,0.0027,0.0009,2.845,35.2,negligible +np.amin (complex128),Reduction,MinMax,complex128,1000,0.0031,0.0016,1.926,51.9,faster +np.amax (complex128),Reduction,MinMax,complex128,1000,0.003,0.0018,1.642,60.9,faster +np.argmin (complex128),Reduction,ArgMinMax,complex128,1000,0.0019,0.0015,1.246,80.3,faster +np.argmax (complex128),Reduction,ArgMinMax,complex128,1000,0.002,0.0018,1.136,88.1,faster +np.cumsum (complex128),Reduction,Sum,complex128,1000,0.003,0.0037,0.82,122.0,close +np.amin axis=0 (complex128),Reduction,MinMax,complex128,1000,0.0029,0.003,0.986,101.4,close +np.amax axis=0 (complex128),Reduction,MinMax,complex128,1000,0.003,0.003,1.002,99.8,faster +np.mean axis=0 (complex128),Reduction,Mean,complex128,1000,0.0033,0.0025,1.298,77.0,faster +np.mean axis=1 (complex128),Reduction,Mean,complex128,1000,0.0032,0.0025,1.238,80.8,faster +np.nansum(a) (float16),Reduction,Reduction,float16,1000,0.0063,0.0013,4.843,20.6,faster +np.nanmean(a) (float16),Reduction,Reduction,float16,1000,0.0127,0.0017,7.366,13.6,faster +np.nanmax(a) (float16),Reduction,Reduction,float16,1000,0.0054,0.0011,4.865,20.6,faster +np.nanmin(a) (float16),Reduction,Reduction,float16,1000,0.0053,0.0011,4.767,21.0,faster +np.nanstd(a) (float16),Reduction,Reduction,float16,1000,0.0341,0.0028,12.257,8.2,faster +np.nanvar(a) (float16),Reduction,Reduction,float16,1000,0.0324,0.0028,11.718,8.5,faster +np.nanprod(a) (float16),Reduction,Reduction,float16,1000,0.0061,0.0013,4.729,21.1,faster +np.nanmedian(a) (float16),Reduction,Reduction,float16,1000,0.0171,0.0043,3.926,25.5,faster +"np.nanpercentile(a, 50) (float16)",Reduction,Reduction,float16,1000,0.0365,0.0043,8.449,11.8,faster +"np.nanquantile(a, 0.5) (float16)",Reduction,Reduction,float16,1000,0.0336,0.0043,7.729,12.9,faster +np.cumprod(a) (float16),Reduction,Reduction,float16,1000,0.0061,0.0097,0.629,159.0,close +np.nansum(a) (float32),Reduction,Reduction,float32,1000,0.0037,0.0008,4.834,20.7,negligible +np.nanmean(a) (float32),Reduction,Reduction,float32,1000,0.0102,0.0008,12.607,7.9,negligible +np.nanmax(a) (float32),Reduction,Reduction,float32,1000,0.003,0.0009,3.289,30.4,negligible +np.nanmin(a) (float32),Reduction,Reduction,float32,1000,0.003,0.0009,3.238,30.9,negligible +np.nanstd(a) (float32),Reduction,Reduction,float32,1000,0.0202,0.0017,11.918,8.4,faster +np.nanvar(a) (float32),Reduction,Reduction,float32,1000,0.0195,0.0017,11.492,8.7,faster +np.nanprod(a) (float32),Reduction,Reduction,float32,1000,0.0052,0.0008,6.311,15.8,negligible +np.nanmedian(a) (float32),Reduction,Reduction,float32,1000,0.0132,0.0022,5.943,16.8,faster +"np.nanpercentile(a, 50) (float32)",Reduction,Reduction,float32,1000,0.0267,0.0022,11.99,8.3,faster +"np.nanquantile(a, 0.5) (float32)",Reduction,Reduction,float32,1000,0.028,0.0022,12.604,7.9,faster +np.cumprod(a) (float32),Reduction,Reduction,float32,1000,0.0046,0.0028,1.648,60.7,faster +np.nansum(a) (float64),Reduction,Reduction,float64,1000,0.0037,0.0008,4.61,21.7,negligible +np.nanmean(a) (float64),Reduction,Reduction,float64,1000,0.0088,0.0012,7.487,13.4,faster +np.nanmax(a) (float64),Reduction,Reduction,float64,1000,0.003,0.0012,2.519,39.7,faster +np.nanmin(a) (float64),Reduction,Reduction,float64,1000,0.0042,0.0009,4.514,22.2,negligible +np.nanstd(a) (float64),Reduction,Reduction,float64,1000,0.019,0.0015,12.521,8.0,faster +np.nanvar(a) (float64),Reduction,Reduction,float64,1000,0.0198,0.0015,13.06,7.7,faster +np.nanprod(a) (float64),Reduction,Reduction,float64,1000,0.0055,0.0008,6.958,14.4,negligible +np.nanmedian(a) (float64),Reduction,Reduction,float64,1000,0.0127,0.0023,5.545,18.0,faster +"np.nanpercentile(a, 50) (float64)",Reduction,Reduction,float64,1000,0.0265,0.0023,11.565,8.6,faster +"np.nanquantile(a, 0.5) (float64)",Reduction,Reduction,float64,1000,0.0257,0.0023,11.236,8.9,faster +np.cumprod(a) (float64),Reduction,Reduction,float64,1000,0.0046,0.0034,1.332,75.0,faster +np.prod (int64),Reduction,Reduction,int64,1000,0.0021,0.0007,2.872,34.8,negligible +np.prod axis=0 (int64),Reduction,Reduction,int64,1000,0.002,0.0009,2.242,44.6,negligible +np.prod axis=1 (int64),Reduction,Reduction,int64,1000,0.0019,0.001,1.957,51.1,negligible +np.prod (float64),Reduction,Reduction,float64,1000,0.0022,0.0008,2.887,34.6,negligible +np.prod axis=0 (float64),Reduction,Reduction,float64,1000,0.0019,0.0007,2.751,36.3,negligible +np.prod axis=1 (float64),Reduction,Reduction,float64,1000,0.0019,0.0008,2.472,40.4,negligible +np.sum (uint8),Reduction,Sum,uint8,100000,0.0348,0.0186,1.87,53.5,faster +np.sum axis=0 (uint8),Reduction,Sum,uint8,100000,0.0513,0.0044,11.686,8.6,faster +np.sum axis=1 (uint8),Reduction,Sum,uint8,100000,0.0402,0.0038,10.467,9.6,faster +np.mean (uint8),Reduction,Mean,uint8,100000,0.0541,0.0187,2.902,34.5,faster +np.amin (uint8),Reduction,MinMax,uint8,100000,0.0028,0.0012,2.408,41.5,faster +np.amax (uint8),Reduction,MinMax,uint8,100000,0.0024,0.0012,2.056,48.6,faster +np.argmin (uint8),Reduction,ArgMinMax,uint8,100000,0.0033,0.0012,2.702,37.0,faster +np.argmax (uint8),Reduction,ArgMinMax,uint8,100000,0.0032,0.0012,2.596,38.5,faster +np.cumsum (uint8),Reduction,Sum,uint8,100000,0.3198,0.1205,2.654,37.7,faster +np.amin axis=0 (uint8),Reduction,MinMax,uint8,100000,0.0076,0.0051,1.491,67.1,faster +np.amax axis=0 (uint8),Reduction,MinMax,uint8,100000,0.0081,0.0031,2.654,37.7,faster +np.mean axis=0 (uint8),Reduction,Mean,uint8,100000,0.0545,0.0082,6.63,15.1,faster +np.mean axis=1 (uint8),Reduction,Mean,uint8,100000,0.0587,0.0079,7.417,13.5,faster +np.sum (int8),Reduction,Sum,int8,100000,0.0342,0.0186,1.836,54.5,faster +np.sum axis=0 (int8),Reduction,Sum,int8,100000,0.0474,0.0044,10.753,9.3,faster +np.sum axis=1 (int8),Reduction,Sum,int8,100000,0.0379,0.0039,9.631,10.4,faster +np.mean (int8),Reduction,Mean,int8,100000,0.0567,0.0186,3.039,32.9,faster +np.amin (int8),Reduction,MinMax,int8,100000,0.0028,0.0012,2.376,42.1,faster +np.amax (int8),Reduction,MinMax,int8,100000,0.0024,0.0012,2.001,50.0,faster +np.argmin (int8),Reduction,ArgMinMax,int8,100000,0.0023,0.0012,1.859,53.8,faster +np.argmax (int8),Reduction,ArgMinMax,int8,100000,0.0023,0.0012,1.884,53.1,faster +np.cumsum (int8),Reduction,Sum,int8,100000,0.3124,0.1187,2.63,38.0,faster +np.amin axis=0 (int8),Reduction,MinMax,int8,100000,0.0077,0.0041,1.875,53.3,faster +np.amax axis=0 (int8),Reduction,MinMax,int8,100000,0.0076,0.0039,1.962,51.0,faster +np.mean axis=0 (int8),Reduction,Mean,int8,100000,0.0534,0.0082,6.493,15.4,faster +np.mean axis=1 (int8),Reduction,Mean,int8,100000,0.0571,0.0079,7.211,13.9,faster +np.sum (int16),Reduction,Sum,int16,100000,0.0339,0.0189,1.792,55.8,faster +np.sum axis=0 (int16),Reduction,Sum,int16,100000,0.0474,0.0047,10.076,9.9,faster +np.sum axis=1 (int16),Reduction,Sum,int16,100000,0.0376,0.0038,9.786,10.2,faster +np.mean (int16),Reduction,Mean,int16,100000,0.0532,0.0189,2.812,35.6,faster +np.amin (int16),Reduction,MinMax,int16,100000,0.0035,0.0015,2.338,42.8,faster +np.amax (int16),Reduction,MinMax,int16,100000,0.0031,0.0015,2.039,49.0,faster +np.argmin (int16),Reduction,ArgMinMax,int16,100000,0.0034,0.0016,2.063,48.5,faster +np.argmax (int16),Reduction,ArgMinMax,int16,100000,0.0034,0.0017,2.015,49.6,faster +np.cumsum (int16),Reduction,Sum,int16,100000,0.3253,0.1209,2.69,37.2,faster +np.amin axis=0 (int16),Reduction,MinMax,int16,100000,0.0065,0.0037,1.74,57.5,faster +np.amax axis=0 (int16),Reduction,MinMax,int16,100000,0.0063,0.0037,1.73,57.8,faster +np.mean axis=0 (int16),Reduction,Mean,int16,100000,0.055,0.0084,6.526,15.3,faster +np.mean axis=1 (int16),Reduction,Mean,int16,100000,0.0573,0.008,7.186,13.9,faster +np.sum (uint16),Reduction,Sum,uint16,100000,0.0334,0.0189,1.768,56.6,faster +np.sum axis=0 (uint16),Reduction,Sum,uint16,100000,0.0479,0.0053,9.017,11.1,faster +np.sum axis=1 (uint16),Reduction,Sum,uint16,100000,0.0375,0.0037,9.997,10.0,faster +np.mean (uint16),Reduction,Mean,uint16,100000,0.0526,0.0189,2.776,36.0,faster +np.amin (uint16),Reduction,MinMax,uint16,100000,0.0033,0.0015,2.215,45.1,faster +np.amax (uint16),Reduction,MinMax,uint16,100000,0.0032,0.0015,2.131,46.9,faster +np.argmin (uint16),Reduction,ArgMinMax,uint16,100000,0.005,0.0016,3.043,32.9,faster +np.argmax (uint16),Reduction,ArgMinMax,uint16,100000,0.0049,0.0017,2.956,33.8,faster +np.cumsum (uint16),Reduction,Sum,uint16,100000,0.3256,0.1199,2.716,36.8,faster +np.amin axis=0 (uint16),Reduction,MinMax,uint16,100000,0.0065,0.0036,1.793,55.8,faster +np.amax axis=0 (uint16),Reduction,MinMax,uint16,100000,0.0065,0.0036,1.79,55.9,faster +np.mean axis=0 (uint16),Reduction,Mean,uint16,100000,0.0516,0.0084,6.103,16.4,faster +np.mean axis=1 (uint16),Reduction,Mean,uint16,100000,0.0629,0.008,7.904,12.7,faster +np.sum (int32),Reduction,Sum,int32,100000,0.0345,0.019,1.817,55.0,faster +np.sum axis=0 (int32),Reduction,Sum,int32,100000,0.0485,0.0086,5.623,17.8,faster +np.sum axis=1 (int32),Reduction,Sum,int32,100000,0.0396,0.0053,7.487,13.4,faster +np.mean (int32),Reduction,Mean,int32,100000,0.0429,0.0191,2.242,44.6,faster +np.amin (int32),Reduction,MinMax,int32,100000,0.0045,0.0023,1.984,50.4,faster +np.amax (int32),Reduction,MinMax,int32,100000,0.0044,0.0023,1.935,51.7,faster +np.argmin (int32),Reduction,ArgMinMax,int32,100000,0.0055,0.0026,2.091,47.8,faster +np.argmax (int32),Reduction,ArgMinMax,int32,100000,0.0056,0.0027,2.1,47.6,faster +np.cumsum (int32),Reduction,Sum,int32,100000,0.3303,0.1226,2.695,37.1,faster +np.amin axis=0 (int32),Reduction,MinMax,int32,100000,0.0088,0.0055,1.603,62.4,faster +np.amax axis=0 (int32),Reduction,MinMax,int32,100000,0.0082,0.0055,1.483,67.4,faster +np.mean axis=0 (int32),Reduction,Mean,int32,100000,0.0359,0.0078,4.6,21.7,faster +np.mean axis=1 (int32),Reduction,Mean,int32,100000,0.0428,0.0049,8.785,11.4,faster +np.sum (uint32),Reduction,Sum,uint32,100000,0.0332,0.019,1.748,57.2,faster +np.sum axis=0 (uint32),Reduction,Sum,uint32,100000,0.0506,0.0086,5.871,17.0,faster +np.sum axis=1 (uint32),Reduction,Sum,uint32,100000,0.0413,0.0053,7.793,12.8,faster +np.mean (uint32),Reduction,Mean,uint32,100000,0.0402,0.0191,2.108,47.4,faster +np.amin (uint32),Reduction,MinMax,uint32,100000,0.0044,0.0032,1.361,73.5,faster +np.amax (uint32),Reduction,MinMax,uint32,100000,0.0049,0.0032,1.532,65.3,faster +np.argmin (uint32),Reduction,ArgMinMax,uint32,100000,0.0101,0.0035,2.864,34.9,faster +np.argmax (uint32),Reduction,ArgMinMax,uint32,100000,0.0104,0.0036,2.913,34.3,faster +np.cumsum (uint32),Reduction,Sum,uint32,100000,0.3374,0.1227,2.751,36.4,faster +np.amin axis=0 (uint32),Reduction,MinMax,uint32,100000,0.0084,0.0055,1.532,65.3,faster +np.amax axis=0 (uint32),Reduction,MinMax,uint32,100000,0.0082,0.0055,1.488,67.2,faster +np.mean axis=0 (uint32),Reduction,Mean,uint32,100000,0.0471,0.0093,5.041,19.8,faster +np.mean axis=1 (uint32),Reduction,Mean,uint32,100000,0.0467,0.0091,5.115,19.5,faster +np.sum (int64),Reduction,Sum,int64,100000,0.0153,0.0045,3.422,29.2,faster +np.sum axis=0 (int64),Reduction,Sum,int64,100000,0.0278,0.0104,2.672,37.4,faster +np.sum axis=1 (int64),Reduction,Sum,int64,100000,0.0175,0.0075,2.326,43.0,faster +np.mean (int64),Reduction,Mean,int64,100000,0.0344,0.0045,7.717,13.0,faster +np.amin (int64),Reduction,MinMax,int64,100000,0.0106,0.0074,1.438,69.6,faster +np.amax (int64),Reduction,MinMax,int64,100000,0.0089,0.0078,1.142,87.5,faster +np.argmin (int64),Reduction,ArgMinMax,int64,100000,0.0142,0.0283,0.503,198.7,close +np.argmax (int64),Reduction,ArgMinMax,int64,100000,0.0146,0.0284,0.513,195.0,close +np.cumsum (int64),Reduction,Sum,int64,100000,0.0315,0.1231,0.256,391.3,slower +np.amin axis=0 (int64),Reduction,MinMax,int64,100000,0.0193,0.0118,1.633,61.2,faster +np.amax axis=0 (int64),Reduction,MinMax,int64,100000,0.0153,0.0118,1.298,77.0,faster +np.mean axis=0 (int64),Reduction,Mean,int64,100000,0.032,0.0609,0.525,190.5,close +np.mean axis=1 (int64),Reduction,Mean,int64,100000,0.0394,0.0596,0.661,151.2,close +np.sum (uint64),Reduction,Sum,uint64,100000,0.02,0.0044,4.52,22.1,faster +np.sum axis=0 (uint64),Reduction,Sum,uint64,100000,0.0274,0.0104,2.641,37.9,faster +np.sum axis=1 (uint64),Reduction,Sum,uint64,100000,0.0173,0.0075,2.297,43.5,faster +np.mean (uint64),Reduction,Mean,uint64,100000,0.0539,0.0045,12.076,8.3,faster +np.amin (uint64),Reduction,MinMax,uint64,100000,0.0126,0.0097,1.294,77.3,faster +np.amax (uint64),Reduction,MinMax,uint64,100000,0.0129,0.01,1.289,77.6,faster +np.argmin (uint64),Reduction,ArgMinMax,uint64,100000,0.018,0.0331,0.543,184.2,close +np.argmax (uint64),Reduction,ArgMinMax,uint64,100000,0.0171,0.0332,0.516,193.9,close +np.cumsum (uint64),Reduction,Sum,uint64,100000,0.0312,0.1218,0.256,390.7,slower +np.amin axis=0 (uint64),Reduction,MinMax,uint64,100000,0.0177,0.0137,1.292,77.4,faster +np.amax axis=0 (uint64),Reduction,MinMax,uint64,100000,0.0185,0.0138,1.343,74.4,faster +np.mean axis=0 (uint64),Reduction,Mean,uint64,100000,0.0479,0.0887,0.541,185.0,close +np.mean axis=1 (uint64),Reduction,Mean,uint64,100000,0.0569,0.086,0.661,151.2,close +np.sum (float16),Reduction,Sum,float16,100000,0.1981,0.0802,2.471,40.5,faster +np.sum axis=0 (float16),Reduction,Sum,float16,100000,0.295,0.1473,2.003,49.9,faster +np.sum axis=1 (float16),Reduction,Sum,float16,100000,0.1987,0.1303,1.525,65.6,faster +np.mean (float16),Reduction,Mean,float16,100000,0.1088,0.0802,1.357,73.7,faster +np.var (float16),Reduction,VarStd,float16,100000,0.906,0.1822,4.973,20.1,faster +np.std (float16),Reduction,VarStd,float16,100000,0.9085,0.183,4.964,20.1,faster +np.amin (float16),Reduction,MinMax,float16,100000,0.512,0.302,1.695,59.0,faster +np.amax (float16),Reduction,MinMax,float16,100000,0.5066,0.32,1.583,63.2,faster +np.argmin (float16),Reduction,ArgMinMax,float16,100000,0.4248,0.1413,3.007,33.3,faster +np.argmax (float16),Reduction,ArgMinMax,float16,100000,0.4331,0.1412,3.067,32.6,faster +np.cumsum (float16),Reduction,Sum,float16,100000,0.4728,0.9144,0.517,193.4,close +np.amin axis=0 (float16),Reduction,MinMax,float16,100000,0.4771,0.5006,0.953,104.9,close +np.amax axis=0 (float16),Reduction,MinMax,float16,100000,0.5075,0.5048,1.005,99.5,faster +np.mean axis=0 (float16),Reduction,Mean,float16,100000,0.079,0.1492,0.53,188.8,close +np.mean axis=1 (float16),Reduction,Mean,float16,100000,0.0952,0.1325,0.719,139.2,close +np.var axis=0 (float16),Reduction,VarStd,float16,100000,1.1366,0.3566,3.187,31.4,faster +np.std axis=0 (float16),Reduction,VarStd,float16,100000,1.1043,0.3567,3.096,32.3,faster +np.sum (float32),Reduction,Sum,float32,100000,0.0171,0.0032,5.398,18.5,faster +np.sum axis=0 (float32),Reduction,Sum,float32,100000,0.0083,0.008,1.039,96.2,faster +np.sum axis=1 (float32),Reduction,Sum,float32,100000,0.0162,0.0104,1.553,64.4,faster +np.mean (float32),Reduction,Mean,float32,100000,0.0178,0.0032,5.553,18.0,faster +np.var (float32),Reduction,VarStd,float32,100000,0.0451,0.0096,4.693,21.3,faster +np.std (float32),Reduction,VarStd,float32,100000,0.045,0.0096,4.668,21.4,faster +np.amin (float32),Reduction,MinMax,float32,100000,0.0058,0.0035,1.679,59.6,faster +np.amax (float32),Reduction,MinMax,float32,100000,0.0059,0.0038,1.538,65.0,faster +np.argmin (float32),Reduction,ArgMinMax,float32,100000,0.0087,0.0564,0.154,650.1,much_slower +np.argmax (float32),Reduction,ArgMinMax,float32,100000,0.0087,0.0564,0.154,648.5,much_slower +np.cumsum (float32),Reduction,Sum,float32,100000,0.1656,0.0789,2.098,47.7,faster +np.amin axis=0 (float32),Reduction,MinMax,float32,100000,0.0116,0.0098,1.178,84.9,faster +np.amax axis=0 (float32),Reduction,MinMax,float32,100000,0.0091,0.01,0.916,109.2,close +np.mean axis=0 (float32),Reduction,Mean,float32,100000,0.0086,0.0099,0.869,115.1,close +np.mean axis=1 (float32),Reduction,Mean,float32,100000,0.0183,0.0127,1.446,69.2,faster +np.var axis=0 (float32),Reduction,VarStd,float32,100000,0.0371,0.0226,1.642,60.9,faster +np.std axis=0 (float32),Reduction,VarStd,float32,100000,0.0377,0.0231,1.628,61.4,faster +np.sum (float64),Reduction,Sum,float64,100000,0.0166,0.209,0.079,1259.7,much_slower +np.sum axis=0 (float64),Reduction,Sum,float64,100000,0.0142,0.0115,1.231,81.2,faster +np.sum axis=1 (float64),Reduction,Sum,float64,100000,0.02,0.0127,1.58,63.3,faster +np.mean (float64),Reduction,Mean,float64,100000,0.0169,0.004,4.212,23.7,faster +np.var (float64),Reduction,VarStd,float64,100000,0.0573,0.0191,3.002,33.3,faster +np.std (float64),Reduction,VarStd,float64,100000,0.057,0.019,2.996,33.4,faster +np.amin (float64),Reduction,MinMax,float64,100000,0.0104,0.0073,1.424,70.2,faster +np.amax (float64),Reduction,MinMax,float64,100000,0.0099,0.0062,1.604,62.3,faster +np.argmin (float64),Reduction,ArgMinMax,float64,100000,0.0276,0.0569,0.485,206.0,slower +np.argmax (float64),Reduction,ArgMinMax,float64,100000,0.0193,0.0568,0.341,293.6,slower +np.cumsum (float64),Reduction,Sum,float64,100000,0.1698,0.1249,1.359,73.6,faster +np.amin axis=0 (float64),Reduction,MinMax,float64,100000,0.0157,0.0165,0.949,105.4,close +np.amax axis=0 (float64),Reduction,MinMax,float64,100000,0.0145,0.0175,0.83,120.5,close +np.mean axis=0 (float64),Reduction,Mean,float64,100000,0.0166,0.0148,1.12,89.3,faster +np.mean axis=1 (float64),Reduction,Mean,float64,100000,0.0198,0.0144,1.371,72.9,faster +np.var axis=0 (float64),Reduction,VarStd,float64,100000,0.068,0.0252,2.704,37.0,faster +np.std axis=0 (float64),Reduction,VarStd,float64,100000,0.0637,0.0263,2.424,41.2,faster +np.sum (complex128),Reduction,Sum,complex128,100000,0.0294,0.0101,2.914,34.3,faster +np.sum axis=0 (complex128),Reduction,Sum,complex128,100000,0.0309,0.0204,1.51,66.2,faster +np.sum axis=1 (complex128),Reduction,Sum,complex128,100000,0.034,0.0306,1.113,89.9,faster +np.mean (complex128),Reduction,Mean,complex128,100000,0.0305,0.0101,3.014,33.2,faster +np.amin (complex128),Reduction,MinMax,complex128,100000,0.1527,0.1141,1.338,74.7,faster +np.amax (complex128),Reduction,MinMax,complex128,100000,0.1573,0.1142,1.378,72.6,faster +np.argmin (complex128),Reduction,ArgMinMax,complex128,100000,0.1139,0.1141,0.999,100.1,close +np.argmax (complex128),Reduction,ArgMinMax,complex128,100000,0.1132,0.1141,0.993,100.8,close +np.cumsum (complex128),Reduction,Sum,complex128,100000,0.3769,0.2333,1.615,61.9,faster +np.amin axis=0 (complex128),Reduction,MinMax,complex128,100000,0.1409,0.148,0.952,105.0,close +np.amax axis=0 (complex128),Reduction,MinMax,complex128,100000,0.155,0.1176,1.318,75.8,faster +np.mean axis=0 (complex128),Reduction,Mean,complex128,100000,0.0286,0.0241,1.186,84.3,faster +np.mean axis=1 (complex128),Reduction,Mean,complex128,100000,0.0443,0.0348,1.273,78.6,faster +np.nansum(a) (float16),Reduction,Reduction,float16,100000,0.2885,0.0901,3.203,31.2,faster +np.nanmean(a) (float16),Reduction,Reduction,float16,100000,0.3723,0.1054,3.531,28.3,faster +np.nanmax(a) (float16),Reduction,Reduction,float16,100000,0.5409,0.3172,1.705,58.6,faster +np.nanmin(a) (float16),Reduction,Reduction,float16,100000,0.5322,0.3019,1.763,56.7,faster +np.nanstd(a) (float16),Reduction,Reduction,float16,100000,1.2279,0.2159,5.687,17.6,faster +np.nanvar(a) (float16),Reduction,Reduction,float16,100000,1.227,0.216,5.68,17.6,faster +np.nanprod(a) (float16),Reduction,Reduction,float16,100000,0.1701,0.0886,1.92,52.1,faster +np.nanmedian(a) (float16),Reduction,Reduction,float16,100000,0.9889,1.3085,0.756,132.3,close +"np.nanpercentile(a, 50) (float16)",Reduction,Reduction,float16,100000,1.8857,1.3044,1.446,69.2,faster +"np.nanquantile(a, 0.5) (float16)",Reduction,Reduction,float16,100000,1.8626,1.3071,1.425,70.2,faster +np.cumprod(a) (float16),Reduction,Reduction,float16,100000,0.4103,0.9506,0.432,231.7,slower +np.nansum(a) (float32),Reduction,Reduction,float32,100000,0.0321,0.0049,6.506,15.4,faster +np.nanmean(a) (float32),Reduction,Reduction,float32,100000,0.0751,0.0383,1.959,51.1,faster +np.nanmax(a) (float32),Reduction,Reduction,float32,100000,0.0081,0.0287,0.281,355.6,slower +np.nanmin(a) (float32),Reduction,Reduction,float32,100000,0.0072,0.0287,0.25,399.7,slower +np.nanstd(a) (float32),Reduction,Reduction,float32,100000,0.1683,0.0864,1.949,51.3,faster +np.nanvar(a) (float32),Reduction,Reduction,float32,100000,0.1645,0.0864,1.904,52.5,faster +np.nanprod(a) (float32),Reduction,Reduction,float32,100000,0.1604,0.0119,13.534,7.4,faster +np.nanmedian(a) (float32),Reduction,Reduction,float32,100000,0.4888,0.6965,0.702,142.5,close +"np.nanpercentile(a, 50) (float32)",Reduction,Reduction,float32,100000,0.7602,0.696,1.092,91.6,faster +"np.nanquantile(a, 0.5) (float32)",Reduction,Reduction,float32,100000,0.7231,0.6973,1.037,96.4,faster +np.cumprod(a) (float32),Reduction,Reduction,float32,100000,0.17,0.1114,1.526,65.5,faster +np.nansum(a) (float64),Reduction,Reduction,float64,100000,0.0471,0.0097,4.878,20.5,faster +np.nanmean(a) (float64),Reduction,Reduction,float64,100000,0.3101,0.0378,8.208,12.2,faster +np.nanmax(a) (float64),Reduction,Reduction,float64,100000,0.0115,0.059,0.195,512.5,much_slower +np.nanmin(a) (float64),Reduction,Reduction,float64,100000,0.0114,0.0589,0.193,519.0,much_slower +np.nanstd(a) (float64),Reduction,Reduction,float64,100000,0.4497,0.0761,5.911,16.9,faster +np.nanvar(a) (float64),Reduction,Reduction,float64,100000,0.4356,0.0762,5.719,17.5,faster +np.nanprod(a) (float64),Reduction,Reduction,float64,100000,0.1079,0.0235,4.597,21.8,faster +np.nanmedian(a) (float64),Reduction,Reduction,float64,100000,0.521,0.7022,0.742,134.8,close +"np.nanpercentile(a, 50) (float64)",Reduction,Reduction,float64,100000,0.7628,0.7034,1.085,92.2,faster +"np.nanquantile(a, 0.5) (float64)",Reduction,Reduction,float64,100000,0.7484,0.7037,1.064,94.0,faster +np.cumprod(a) (float64),Reduction,Reduction,float64,100000,0.1694,0.1446,1.172,85.3,faster +np.prod (int64),Reduction,Reduction,int64,100000,0.0572,0.0143,3.999,25.0,faster +np.prod axis=0 (int64),Reduction,Reduction,int64,100000,0.0272,0.0152,1.789,55.9,faster +np.prod axis=1 (int64),Reduction,Reduction,int64,100000,0.0458,0.0171,2.682,37.3,faster +np.prod (float64),Reduction,Reduction,float64,100000,2.331,0.17,13.711,7.3,faster +np.prod axis=0 (float64),Reduction,Reduction,float64,100000,0.0136,0.0089,1.538,65.0,faster +np.prod axis=1 (float64),Reduction,Reduction,float64,100000,0.0601,0.005,12.135,8.2,faster +np.sum (uint8),Reduction,Sum,uint8,10000000,3.2589,1.846,1.765,56.6,faster +np.sum axis=0 (uint8),Reduction,Sum,uint8,10000000,4.5577,0.526,8.665,11.5,faster +np.sum axis=1 (uint8),Reduction,Sum,uint8,10000000,3.2063,0.2647,12.113,8.3,faster +np.mean (uint8),Reduction,Mean,uint8,10000000,5.0561,1.8459,2.739,36.5,faster +np.amin (uint8),Reduction,MinMax,uint8,10000000,0.135,0.1465,0.921,108.5,close +np.amax (uint8),Reduction,MinMax,uint8,10000000,0.1351,0.1468,0.92,108.7,close +np.argmin (uint8),Reduction,ArgMinMax,uint8,10000000,0.2237,0.1465,1.527,65.5,faster +np.argmax (uint8),Reduction,ArgMinMax,uint8,10000000,0.2246,0.1465,1.533,65.2,faster +np.cumsum (uint8),Reduction,Sum,uint8,10000000,28.9566,10.2799,2.817,35.5,faster +np.amin axis=0 (uint8),Reduction,MinMax,uint8,10000000,0.209,0.1721,1.215,82.3,faster +np.amax axis=0 (uint8),Reduction,MinMax,uint8,10000000,0.2207,0.1718,1.284,77.9,faster +np.mean axis=0 (uint8),Reduction,Mean,uint8,10000000,5.3637,0.7883,6.804,14.7,faster +np.mean axis=1 (uint8),Reduction,Mean,uint8,10000000,5.2924,0.7077,7.478,13.4,faster +np.sum (int8),Reduction,Sum,int8,10000000,3.2333,1.8404,1.757,56.9,faster +np.sum axis=0 (int8),Reduction,Sum,int8,10000000,4.644,0.5247,8.851,11.3,faster +np.sum axis=1 (int8),Reduction,Sum,int8,10000000,3.5111,0.264,13.301,7.5,faster +np.mean (int8),Reduction,Mean,int8,10000000,5.6945,1.8461,3.085,32.4,faster +np.amin (int8),Reduction,MinMax,int8,10000000,0.1435,0.1467,0.978,102.2,close +np.amax (int8),Reduction,MinMax,int8,10000000,0.1508,0.1463,1.031,97.0,faster +np.argmin (int8),Reduction,ArgMinMax,int8,10000000,0.1626,0.1468,1.108,90.3,faster +np.argmax (int8),Reduction,ArgMinMax,int8,10000000,0.1717,0.1469,1.168,85.6,faster +np.cumsum (int8),Reduction,Sum,int8,10000000,41.0555,10.2543,4.004,25.0,faster +np.amin axis=0 (int8),Reduction,MinMax,int8,10000000,0.2767,0.1726,1.603,62.4,faster +np.amax axis=0 (int8),Reduction,MinMax,int8,10000000,0.3964,0.1724,2.3,43.5,faster +np.mean axis=0 (int8),Reduction,Mean,int8,10000000,6.4497,0.8079,7.983,12.5,faster +np.mean axis=1 (int8),Reduction,Mean,int8,10000000,5.5023,0.711,7.738,12.9,faster +np.sum (int16),Reduction,Sum,int16,10000000,3.5547,1.9468,1.826,54.8,faster +np.sum axis=0 (int16),Reduction,Sum,int16,10000000,5.0614,0.5369,9.427,10.6,faster +np.sum axis=1 (int16),Reduction,Sum,int16,10000000,3.6422,0.4546,8.011,12.5,faster +np.mean (int16),Reduction,Mean,int16,10000000,6.375,1.9609,3.251,30.8,faster +np.amin (int16),Reduction,MinMax,int16,10000000,0.7445,0.333,2.236,44.7,faster +np.amax (int16),Reduction,MinMax,int16,10000000,0.4359,0.3359,1.298,77.1,faster +np.argmin (int16),Reduction,ArgMinMax,int16,10000000,0.7167,0.3613,1.984,50.4,faster +np.argmax (int16),Reduction,ArgMinMax,int16,10000000,0.6951,0.3548,1.959,51.1,faster +np.cumsum (int16),Reduction,Sum,int16,10000000,48.4266,10.6129,4.563,21.9,faster +np.amin axis=0 (int16),Reduction,MinMax,int16,10000000,0.5065,0.3754,1.349,74.1,faster +np.amax axis=0 (int16),Reduction,MinMax,int16,10000000,0.5073,0.3767,1.346,74.3,faster +np.mean axis=0 (int16),Reduction,Mean,int16,10000000,5.3822,0.963,5.589,17.9,faster +np.mean axis=1 (int16),Reduction,Mean,int16,10000000,6.0592,0.8322,7.281,13.7,faster +np.sum (uint16),Reduction,Sum,uint16,10000000,3.7579,1.9368,1.94,51.5,faster +np.sum axis=0 (uint16),Reduction,Sum,uint16,10000000,4.7415,0.6972,6.801,14.7,faster +np.sum axis=1 (uint16),Reduction,Sum,uint16,10000000,3.8775,0.4583,8.461,11.8,faster +np.mean (uint16),Reduction,Mean,uint16,10000000,5.1914,1.9498,2.662,37.6,faster +np.amin (uint16),Reduction,MinMax,uint16,10000000,0.3225,0.3309,0.974,102.6,close +np.amax (uint16),Reduction,MinMax,uint16,10000000,0.2938,0.3342,0.879,113.7,close +np.argmin (uint16),Reduction,ArgMinMax,uint16,10000000,0.5632,0.3583,1.572,63.6,faster +np.argmax (uint16),Reduction,ArgMinMax,uint16,10000000,0.5085,0.3549,1.433,69.8,faster +np.cumsum (uint16),Reduction,Sum,uint16,10000000,34.5917,10.5051,3.293,30.4,faster +np.amin axis=0 (uint16),Reduction,MinMax,uint16,10000000,0.4421,0.3803,1.163,86.0,faster +np.amax axis=0 (uint16),Reduction,MinMax,uint16,10000000,0.4804,0.3808,1.262,79.3,faster +np.mean axis=0 (uint16),Reduction,Mean,uint16,10000000,5.8879,0.9392,6.269,16.0,faster +np.mean axis=1 (uint16),Reduction,Mean,uint16,10000000,5.4615,0.8406,6.497,15.4,faster +np.sum (int32),Reduction,Sum,int32,10000000,4.7348,2.6909,1.76,56.8,faster +np.sum axis=0 (int32),Reduction,Sum,int32,10000000,5.6694,1.8929,2.995,33.4,faster +np.sum axis=1 (int32),Reduction,Sum,int32,10000000,4.2337,1.6246,2.606,38.4,faster +np.mean (int32),Reduction,Mean,int32,10000000,4.9575,2.6752,1.853,54.0,faster +np.amin (int32),Reduction,MinMax,int32,10000000,1.215,1.0174,1.194,83.7,faster +np.amax (int32),Reduction,MinMax,int32,10000000,1.2908,1.0195,1.266,79.0,faster +np.argmin (int32),Reduction,ArgMinMax,int32,10000000,1.7646,1.1707,1.507,66.3,faster +np.argmax (int32),Reduction,ArgMinMax,int32,10000000,1.8979,1.2026,1.578,63.4,faster +np.cumsum (int32),Reduction,Sum,int32,10000000,32.388,11.1306,2.91,34.4,faster +np.amin axis=0 (int32),Reduction,MinMax,int32,10000000,2.0366,1.2825,1.588,63.0,faster +np.amax axis=0 (int32),Reduction,MinMax,int32,10000000,1.7469,1.3193,1.324,75.5,faster +np.mean axis=0 (int32),Reduction,Mean,int32,10000000,4.5299,1.7225,2.63,38.0,faster +np.mean axis=1 (int32),Reduction,Mean,int32,10000000,4.8185,1.4394,3.348,29.9,faster +np.sum (uint32),Reduction,Sum,uint32,10000000,4.056,2.6922,1.507,66.4,faster +np.sum axis=0 (uint32),Reduction,Sum,uint32,10000000,5.5471,1.7971,3.087,32.4,faster +np.sum axis=1 (uint32),Reduction,Sum,uint32,10000000,4.2817,1.6385,2.613,38.3,faster +np.mean (uint32),Reduction,Mean,uint32,10000000,4.6035,2.6686,1.725,58.0,faster +np.amin (uint32),Reduction,MinMax,uint32,10000000,1.0859,1.019,1.066,93.8,faster +np.amax (uint32),Reduction,MinMax,uint32,10000000,1.4205,1.0043,1.414,70.7,faster +np.argmin (uint32),Reduction,ArgMinMax,uint32,10000000,1.848,1.1772,1.57,63.7,faster +np.argmax (uint32),Reduction,ArgMinMax,uint32,10000000,1.8851,1.2169,1.549,64.6,faster +np.cumsum (uint32),Reduction,Sum,uint32,10000000,29.7223,11.0895,2.68,37.3,faster +np.amin axis=0 (uint32),Reduction,MinMax,uint32,10000000,1.8904,1.2875,1.468,68.1,faster +np.amax axis=0 (uint32),Reduction,MinMax,uint32,10000000,1.6177,1.2662,1.278,78.3,faster +np.mean axis=0 (uint32),Reduction,Mean,uint32,10000000,4.9815,2.0165,2.47,40.5,faster +np.mean axis=1 (uint32),Reduction,Mean,uint32,10000000,4.9555,1.8041,2.747,36.4,faster +np.sum (int64),Reduction,Sum,int64,10000000,4.149,2.831,1.466,68.2,faster +np.sum axis=0 (int64),Reduction,Sum,int64,10000000,5.6011,3.2402,1.729,57.8,faster +np.sum axis=1 (int64),Reduction,Sum,int64,10000000,4.722,2.8722,1.644,60.8,faster +np.mean (int64),Reduction,Mean,int64,10000000,6.3414,2.773,2.287,43.7,faster +np.amin (int64),Reduction,MinMax,int64,10000000,3.3282,3.5,0.951,105.2,close +np.amax (int64),Reduction,MinMax,int64,10000000,3.4074,3.5508,0.96,104.2,close +np.argmin (int64),Reduction,ArgMinMax,int64,10000000,4.0644,4.5666,0.89,112.4,close +np.argmax (int64),Reduction,ArgMinMax,int64,10000000,4.1056,4.5513,0.902,110.9,close +np.cumsum (int64),Reduction,Sum,int64,10000000,16.3798,12.7464,1.285,77.8,faster +np.amin axis=0 (int64),Reduction,MinMax,int64,10000000,4.3888,3.6438,1.204,83.0,faster +np.amax axis=0 (int64),Reduction,MinMax,int64,10000000,4.141,3.6647,1.13,88.5,faster +np.mean axis=0 (int64),Reduction,Mean,int64,10000000,5.9854,37.4022,0.16,624.9,much_slower +np.mean axis=1 (int64),Reduction,Mean,int64,10000000,6.3625,6.9185,0.92,108.7,close +np.sum (uint64),Reduction,Sum,uint64,10000000,4.2549,2.9226,1.456,68.7,faster +np.sum axis=0 (uint64),Reduction,Sum,uint64,10000000,5.1406,3.235,1.589,62.9,faster +np.sum axis=1 (uint64),Reduction,Sum,uint64,10000000,4.6457,2.8809,1.613,62.0,faster +np.mean (uint64),Reduction,Mean,uint64,10000000,7.3769,2.7725,2.661,37.6,faster +np.amin (uint64),Reduction,MinMax,uint64,10000000,3.6037,3.7516,0.961,104.1,close +np.amax (uint64),Reduction,MinMax,uint64,10000000,3.6692,3.6868,0.995,100.5,close +np.argmin (uint64),Reduction,ArgMinMax,uint64,10000000,4.2831,4.9246,0.87,115.0,close +np.argmax (uint64),Reduction,ArgMinMax,uint64,10000000,4.3878,4.9463,0.887,112.7,close +np.cumsum (uint64),Reduction,Sum,uint64,10000000,16.2415,12.757,1.273,78.5,faster +np.amin axis=0 (uint64),Reduction,MinMax,uint64,10000000,4.4047,3.8707,1.138,87.9,faster +np.amax axis=0 (uint64),Reduction,MinMax,uint64,10000000,4.3907,3.8229,1.149,87.1,faster +np.mean axis=0 (uint64),Reduction,Mean,uint64,10000000,7.1495,43.0435,0.166,602.1,much_slower +np.mean axis=1 (uint64),Reduction,Mean,uint64,10000000,7.3817,9.011,0.819,122.1,close +np.sum (float16),Reduction,Sum,float16,10000000,19.9449,8.0365,2.482,40.3,faster +np.sum axis=0 (float16),Reduction,Sum,float16,10000000,29.044,14.1979,2.046,48.9,faster +np.sum axis=1 (float16),Reduction,Sum,float16,10000000,19.7912,12.4799,1.586,63.1,faster +np.mean (float16),Reduction,Mean,float16,10000000,10.4935,8.019,1.309,76.4,faster +np.var (float16),Reduction,VarStd,float16,10000000,91.466,18.1038,5.052,19.8,faster +np.std (float16),Reduction,VarStd,float16,10000000,90.8149,18.0508,5.031,19.9,faster +np.amin (float16),Reduction,MinMax,float16,10000000,51.8815,31.4161,1.651,60.6,faster +np.amax (float16),Reduction,MinMax,float16,10000000,50.6659,33.1861,1.527,65.5,faster +np.argmin (float16),Reduction,ArgMinMax,float16,10000000,42.5861,14.1619,3.007,33.3,faster +np.argmax (float16),Reduction,ArgMinMax,float16,10000000,43.8538,14.1652,3.096,32.3,faster +np.cumsum (float16),Reduction,Sum,float16,10000000,49.3071,90.7463,0.543,184.0,close +np.amin axis=0 (float16),Reduction,MinMax,float16,10000000,47.3591,77.6081,0.61,163.9,close +np.amax axis=0 (float16),Reduction,MinMax,float16,10000000,49.742,78.1538,0.636,157.1,close +np.mean axis=0 (float16),Reduction,Mean,float16,10000000,7.3133,14.1963,0.515,194.1,close +np.mean axis=1 (float16),Reduction,Mean,float16,10000000,7.9626,12.5326,0.635,157.4,close +np.var axis=0 (float16),Reduction,VarStd,float16,10000000,109.8825,83.9268,1.309,76.4,faster +np.std axis=0 (float16),Reduction,VarStd,float16,10000000,110.0006,83.8826,1.311,76.3,faster +np.sum (float32),Reduction,Sum,float32,10000000,3.0579,1.0257,2.981,33.5,faster +np.sum axis=0 (float32),Reduction,Sum,float32,10000000,1.8895,1.337,1.413,70.8,faster +np.sum axis=1 (float32),Reduction,Sum,float32,10000000,3.385,1.8916,1.789,55.9,faster +np.mean (float32),Reduction,Mean,float32,10000000,3.6083,1.0039,3.594,27.8,faster +np.var (float32),Reduction,VarStd,float32,10000000,17.1259,2.6208,6.535,15.3,faster +np.std (float32),Reduction,VarStd,float32,10000000,17.8322,2.6281,6.785,14.7,faster +np.amin (float32),Reduction,MinMax,float32,10000000,1.4447,1.3328,1.084,92.3,faster +np.amax (float32),Reduction,MinMax,float32,10000000,1.5947,1.2905,1.236,80.9,faster +np.argmin (float32),Reduction,ArgMinMax,float32,10000000,2.7401,5.7656,0.475,210.4,slower +np.argmax (float32),Reduction,ArgMinMax,float32,10000000,2.3137,5.7594,0.402,248.9,slower +np.cumsum (float32),Reduction,Sum,float32,10000000,20.1855,7.3471,2.747,36.4,faster +np.amin axis=0 (float32),Reduction,MinMax,float32,10000000,1.7252,1.8255,0.945,105.8,close +np.amax axis=0 (float32),Reduction,MinMax,float32,10000000,1.6926,1.8598,0.91,109.9,close +np.mean axis=0 (float32),Reduction,Mean,float32,10000000,1.4901,1.3911,1.071,93.4,faster +np.mean axis=1 (float32),Reduction,Mean,float32,10000000,2.9697,1.9066,1.558,64.2,faster +np.var axis=0 (float32),Reduction,VarStd,float32,10000000,14.0847,4.7475,2.967,33.7,faster +np.std axis=0 (float32),Reduction,VarStd,float32,10000000,14.2545,4.6258,3.082,32.5,faster +np.sum (float64),Reduction,Sum,float64,10000000,4.8117,2.8908,1.664,60.1,faster +np.sum axis=0 (float64),Reduction,Sum,float64,10000000,3.4762,3.42,1.016,98.4,faster +np.sum axis=1 (float64),Reduction,Sum,float64,10000000,5.1036,3.6624,1.394,71.8,faster +np.mean (float64),Reduction,Mean,float64,10000000,4.6544,2.7943,1.666,60.0,faster +np.var (float64),Reduction,VarStd,float64,10000000,30.5902,6.6728,4.584,21.8,faster +np.std (float64),Reduction,VarStd,float64,10000000,30.3403,6.6087,4.591,21.8,faster +np.amin (float64),Reduction,MinMax,float64,10000000,3.3498,3.2187,1.041,96.1,faster +np.amax (float64),Reduction,MinMax,float64,10000000,3.3475,3.2005,1.046,95.6,faster +np.argmin (float64),Reduction,ArgMinMax,float64,10000000,4.2847,6.7686,0.633,158.0,close +np.argmax (float64),Reduction,ArgMinMax,float64,10000000,4.118,6.8003,0.606,165.1,close +np.cumsum (float64),Reduction,Sum,float64,10000000,24.6822,13.3431,1.85,54.1,faster +np.amin axis=0 (float64),Reduction,MinMax,float64,10000000,4.0124,4.1873,0.958,104.4,close +np.amax axis=0 (float64),Reduction,MinMax,float64,10000000,3.9104,4.2597,0.918,108.9,close +np.mean axis=0 (float64),Reduction,Mean,float64,10000000,3.3836,3.4775,0.973,102.8,close +np.mean axis=1 (float64),Reduction,Mean,float64,10000000,5.1086,3.6854,1.386,72.1,faster +np.var axis=0 (float64),Reduction,VarStd,float64,10000000,28.5127,7.5344,3.784,26.4,faster +np.std axis=0 (float64),Reduction,VarStd,float64,10000000,30.0409,7.5189,3.995,25.0,faster +np.sum (complex128),Reduction,Sum,complex128,10000000,8.9925,6.494,1.385,72.2,faster +np.sum axis=0 (complex128),Reduction,Sum,complex128,10000000,7.4501,7.3478,1.014,98.6,faster +np.sum axis=1 (complex128),Reduction,Sum,complex128,10000000,9.2453,8.6134,1.073,93.2,faster +np.mean (complex128),Reduction,Mean,complex128,10000000,8.5581,6.4565,1.326,75.4,faster +np.amin (complex128),Reduction,MinMax,complex128,10000000,16.4378,13.5639,1.212,82.5,faster +np.amax (complex128),Reduction,MinMax,complex128,10000000,16.624,13.6265,1.22,82.0,faster +np.argmin (complex128),Reduction,ArgMinMax,complex128,10000000,13.8711,13.6034,1.02,98.1,faster +np.argmax (complex128),Reduction,ArgMinMax,complex128,10000000,14.1968,13.559,1.047,95.5,faster +np.cumsum (complex128),Reduction,Sum,complex128,10000000,41.3487,24.978,1.655,60.4,faster +np.amin axis=0 (complex128),Reduction,MinMax,complex128,10000000,15.7182,15.273,1.029,97.2,faster +np.amax axis=0 (complex128),Reduction,MinMax,complex128,10000000,16.0042,13.0433,1.227,81.5,faster +np.mean axis=0 (complex128),Reduction,Mean,complex128,10000000,7.5298,7.0381,1.07,93.5,faster +np.mean axis=1 (complex128),Reduction,Mean,complex128,10000000,8.4055,8.066,1.042,96.0,faster +np.nansum(a) (float16),Reduction,Reduction,float16,10000000,31.6077,8.9086,3.548,28.2,faster +np.nanmean(a) (float16),Reduction,Reduction,float16,10000000,37.8624,10.5382,3.593,27.8,faster +np.nanmax(a) (float16),Reduction,Reduction,float16,10000000,51.244,32.5673,1.573,63.6,faster +np.nanmin(a) (float16),Reduction,Reduction,float16,10000000,51.4324,31.1142,1.653,60.5,faster +np.nanstd(a) (float16),Reduction,Reduction,float16,10000000,119.9407,21.6231,5.547,18.0,faster +np.nanvar(a) (float16),Reduction,Reduction,float16,10000000,120.0573,21.5187,5.579,17.9,faster +np.nanprod(a) (float16),Reduction,Reduction,float16,10000000,20.5179,8.9271,2.298,43.5,faster +np.nanmedian(a) (float16),Reduction,Reduction,float16,10000000,114.7082,92.8901,1.235,81.0,faster +"np.nanpercentile(a, 50) (float16)",Reduction,Reduction,float16,10000000,120.9498,92.9097,1.302,76.8,faster +"np.nanquantile(a, 0.5) (float16)",Reduction,Reduction,float16,10000000,121.1817,92.8534,1.305,76.6,faster +np.cumprod(a) (float16),Reduction,Reduction,float16,10000000,43.5457,94.226,0.462,216.4,slower +np.nansum(a) (float32),Reduction,Reduction,float32,10000000,13.3987,1.4131,9.482,10.5,faster +np.nanmean(a) (float32),Reduction,Reduction,float32,10000000,19.3182,4.1701,4.633,21.6,faster +np.nanmax(a) (float32),Reduction,Reduction,float32,10000000,1.5124,3.2798,0.461,216.9,slower +np.nanmin(a) (float32),Reduction,Reduction,float32,10000000,1.5001,3.3155,0.452,221.0,slower +np.nanstd(a) (float32),Reduction,Reduction,float32,10000000,31.9536,9.206,3.471,28.8,faster +np.nanvar(a) (float32),Reduction,Reduction,float32,10000000,32.0612,9.2119,3.48,28.7,faster +np.nanprod(a) (float32),Reduction,Reduction,float32,10000000,18.0353,1.754,10.282,9.7,faster +np.nanmedian(a) (float32),Reduction,Reduction,float32,10000000,77.3793,80.5553,0.961,104.1,close +"np.nanpercentile(a, 50) (float32)",Reduction,Reduction,float32,10000000,51.8789,80.6571,0.643,155.5,close +"np.nanquantile(a, 0.5) (float32)",Reduction,Reduction,float32,10000000,51.1057,80.6773,0.633,157.9,close +np.cumprod(a) (float32),Reduction,Reduction,float32,10000000,20.8437,10.1707,2.049,48.8,faster +np.nansum(a) (float64),Reduction,Reduction,float64,10000000,23.8754,3.4851,6.851,14.6,faster +np.nanmean(a) (float64),Reduction,Reduction,float64,10000000,29.7719,5.5602,5.354,18.7,faster +np.nanmax(a) (float64),Reduction,Reduction,float64,10000000,3.5081,6.874,0.51,195.9,close +np.nanmin(a) (float64),Reduction,Reduction,float64,10000000,3.6863,6.8141,0.541,184.8,close +np.nanstd(a) (float64),Reduction,Reduction,float64,10000000,49.6062,11.3264,4.38,22.8,faster +np.nanvar(a) (float64),Reduction,Reduction,float64,10000000,51.1759,11.2532,4.548,22.0,faster +np.nanprod(a) (float64),Reduction,Reduction,float64,10000000,28.6688,3.9531,7.252,13.8,faster +np.nanmedian(a) (float64),Reduction,Reduction,float64,10000000,92.4864,89.4458,1.034,96.7,faster +"np.nanpercentile(a, 50) (float64)",Reduction,Reduction,float64,10000000,63.5626,89.5666,0.71,140.9,close +"np.nanquantile(a, 0.5) (float64)",Reduction,Reduction,float64,10000000,64.0584,89.4386,0.716,139.6,close +np.cumprod(a) (float64),Reduction,Reduction,float64,10000000,25.4983,14.0728,1.812,55.2,faster +np.prod (int64),Reduction,Reduction,int64,10000000,6.3161,3.8044,1.66,60.2,faster +np.prod axis=0 (int64),Reduction,Reduction,int64,10000000,5.0107,4.1147,1.218,82.1,faster +np.prod axis=1 (int64),Reduction,Reduction,int64,10000000,6.2759,3.9188,1.602,62.4,faster +np.prod (float64),Reduction,Reduction,float64,10000000,239.6474,60.4092,3.967,25.2,faster +np.prod axis=0 (float64),Reduction,Reduction,float64,10000000,19.8072,19.8419,0.998,100.2,close +np.prod axis=1 (float64),Reduction,Reduction,float64,10000000,69.9249,3.0274,23.098,4.3,negligible +matrix + scalar,Broadcasting,Scalar,float64,1000,0.0007,,,,no_data +"matrix + row_vector (N,M)+(M,)",Broadcasting,Row,float64,1000,0.0012,,,,no_data +"matrix + col_vector (N,M)+(N,1)",Broadcasting,Column,float64,1000,0.0013,,,,no_data +"np.broadcast_to(row, (N,M))",Broadcasting,BroadcastTo,float64,1000,0.0018,,,,no_data +matrix + scalar,Broadcasting,Scalar,float64,100000,0.0142,,,,no_data +"matrix + row_vector (N,M)+(M,)",Broadcasting,Row,float64,100000,0.1942,,,,no_data +"matrix + col_vector (N,M)+(N,1)",Broadcasting,Column,float64,100000,0.1968,,,,no_data +"np.broadcast_to(row, (N,M))",Broadcasting,BroadcastTo,float64,100000,0.0021,,,,no_data +matrix + scalar,Broadcasting,Scalar,float64,10000000,15.6849,13.5809,1.155,86.6,faster +"matrix + row_vector (N,M)+(M,)",Broadcasting,Row,float64,10000000,16.342,13.3161,1.227,81.5,faster +"matrix + col_vector (N,M)+(N,1)",Broadcasting,Column,float64,10000000,16.0261,13.9778,1.147,87.2,faster +"np.broadcast_to(row, (N,M))",Broadcasting,BroadcastTo,float64,10000000,0.0018,0.0006,3.217,31.1,negligible +np.zeros (int32),Creation,Initialized,int32,1000,0.0004,0.0107,0.036,2815.7,negligible +np.ones (int32),Creation,Initialized,int32,1000,0.0009,0.0111,0.08,1256.6,negligible +np.full (int32),Creation,Initialized,int32,1000,0.0009,0.0104,0.088,1138.2,negligible +np.empty (int32),Creation,Uninitialized,int32,1000,0.0003,0.0089,0.038,2635.2,negligible +np.copy (int32),Creation,Copy,int32,1000,0.0006,0.0116,0.051,1957.9,negligible +np.zeros_like (int32),Creation,Like,int32,1000,0.0011,0.0089,0.119,842.3,much_slower +np.zeros (int64),Creation,Initialized,int64,1000,0.0004,0.014,0.027,3637.8,negligible +np.ones (int64),Creation,Initialized,int64,1000,0.0009,0.0145,0.059,1684.7,negligible +np.full (int64),Creation,Initialized,int64,1000,0.0009,0.0135,0.064,1570.6,negligible +np.empty (int64),Creation,Uninitialized,int64,1000,0.0003,0.015,0.021,4695.2,negligible +np.copy (int64),Creation,Copy,int64,1000,0.0006,0.0133,0.046,2176.6,negligible +np.zeros_like (int64),Creation,Like,int64,1000,0.001,0.0132,0.079,1261.0,much_slower +np.zeros (float32),Creation,Initialized,float32,1000,0.0004,0.0107,0.039,2555.2,negligible +np.ones (float32),Creation,Initialized,float32,1000,0.001,0.0094,0.105,952.9,negligible +np.full (float32),Creation,Initialized,float32,1000,0.001,0.0117,0.084,1196.1,negligible +np.empty (float32),Creation,Uninitialized,float32,1000,0.0003,0.0085,0.039,2532.5,negligible +np.copy (float32),Creation,Copy,float32,1000,0.0006,0.0117,0.05,1982.7,negligible +np.zeros_like (float32),Creation,Like,float32,1000,0.0011,0.0091,0.116,860.8,much_slower +np.zeros (float64),Creation,Initialized,float64,1000,0.0004,0.0137,0.026,3875.2,negligible +np.ones (float64),Creation,Initialized,float64,1000,0.0009,0.0119,0.073,1370.5,negligible +np.full (float64),Creation,Initialized,float64,1000,0.001,0.0142,0.068,1465.6,negligible +np.empty (float64),Creation,Uninitialized,float64,1000,0.0005,0.0139,0.038,2597.8,negligible +np.copy (float64),Creation,Copy,float64,1000,0.0006,0.0198,0.031,3271.7,negligible +np.zeros_like (float64),Creation,Like,float64,1000,0.0012,0.0135,0.092,1085.5,much_slower +np.zeros (int32),Creation,Initialized,int32,100000,0.0049,0.002,2.451,40.8,faster +np.ones (int32),Creation,Initialized,int32,100000,0.0053,0.0124,0.427,233.9,slower +np.full (int32),Creation,Initialized,int32,100000,0.0054,0.0123,0.438,228.4,slower +np.empty (int32),Creation,Uninitialized,int32,100000,0.0003,0.0133,0.026,3857.4,negligible +np.copy (int32),Creation,Copy,int32,100000,0.006,0.0069,0.877,114.0,close +np.zeros_like (int32),Creation,Like,int32,100000,0.0057,0.002,2.784,35.9,faster +np.zeros (int64),Creation,Initialized,int64,100000,0.0094,0.0026,3.703,27.0,faster +np.ones (int64),Creation,Initialized,int64,100000,0.0099,0.0148,0.672,148.9,close +np.full (int64),Creation,Initialized,int64,100000,0.0098,0.015,0.653,153.0,close +np.empty (int64),Creation,Uninitialized,int64,100000,0.0003,0.0152,0.022,4621.6,negligible +np.copy (int64),Creation,Copy,int64,100000,0.0115,0.014,0.817,122.4,close +np.zeros_like (int64),Creation,Like,int64,100000,0.01,0.0026,3.789,26.4,faster +np.zeros (float32),Creation,Initialized,float32,100000,0.0048,0.002,2.37,42.2,faster +np.ones (float32),Creation,Initialized,float32,100000,0.0054,0.0124,0.432,231.6,slower +np.full (float32),Creation,Initialized,float32,100000,0.0053,0.0126,0.418,239.1,slower +np.empty (float32),Creation,Uninitialized,float32,100000,0.0003,0.0141,0.024,4090.0,negligible +np.copy (float32),Creation,Copy,float32,100000,0.0061,0.0071,0.858,116.6,close +np.zeros_like (float32),Creation,Like,float32,100000,0.0055,0.0021,2.63,38.0,faster +np.zeros (float64),Creation,Initialized,float64,100000,0.0093,0.0026,3.621,27.6,faster +np.ones (float64),Creation,Initialized,float64,100000,0.0098,0.015,0.656,152.5,close +np.full (float64),Creation,Initialized,float64,100000,0.0098,0.0148,0.664,150.6,close +np.empty (float64),Creation,Uninitialized,float64,100000,0.0003,0.014,0.021,4722.1,negligible +np.copy (float64),Creation,Copy,float64,100000,0.0113,0.0135,0.835,119.7,close +np.zeros_like (float64),Creation,Like,float64,100000,0.0099,0.0027,3.701,27.0,faster +np.zeros (int32),Creation,Initialized,int32,10000000,0.0111,0.0065,1.712,58.4,faster +np.ones (int32),Creation,Initialized,int32,10000000,7.1344,2.0772,3.435,29.1,faster +np.full (int32),Creation,Initialized,int32,10000000,7.3322,1.9121,3.835,26.1,faster +np.empty (int32),Creation,Uninitialized,int32,10000000,0.0108,0.014,0.767,130.4,close +np.copy (int32),Creation,Copy,int32,10000000,6.344,1.839,3.45,29.0,faster +np.zeros_like (int32),Creation,Like,int32,10000000,7.2566,0.0066,1091.898,0.1,negligible +np.zeros (int64),Creation,Initialized,int64,10000000,0.0114,0.0057,1.994,50.2,faster +np.ones (int64),Creation,Initialized,int64,10000000,14.7038,12.3182,1.194,83.8,faster +np.full (int64),Creation,Initialized,int64,10000000,14.7304,12.3185,1.196,83.6,faster +np.empty (int64),Creation,Uninitialized,int64,10000000,0.0119,0.0141,0.846,118.1,close +np.copy (int64),Creation,Copy,int64,10000000,13.203,12.7437,1.036,96.5,faster +np.zeros_like (int64),Creation,Like,int64,10000000,14.7069,0.0056,2623.482,0.0,negligible +np.zeros (float32),Creation,Initialized,float32,10000000,0.009,0.002,4.507,22.2,faster +np.ones (float32),Creation,Initialized,float32,10000000,7.3143,1.8034,4.056,24.7,faster +np.full (float32),Creation,Initialized,float32,10000000,7.3482,1.8309,4.013,24.9,faster +np.empty (float32),Creation,Uninitialized,float32,10000000,0.0087,0.0143,0.607,164.8,close +np.copy (float32),Creation,Copy,float32,10000000,6.4782,1.8708,3.463,28.9,faster +np.zeros_like (float32),Creation,Like,float32,10000000,7.1806,0.0021,3422.479,0.0,negligible +np.zeros (float64),Creation,Initialized,float64,10000000,0.0083,0.0022,3.699,27.0,faster +np.ones (float64),Creation,Initialized,float64,10000000,14.5911,12.4361,1.173,85.2,faster +np.full (float64),Creation,Initialized,float64,10000000,14.6927,12.3279,1.192,83.9,faster +np.empty (float64),Creation,Uninitialized,float64,10000000,0.008,0.0138,0.581,172.2,close +np.copy (float64),Creation,Copy,float64,10000000,13.0404,12.7447,1.023,97.7,faster +np.zeros_like (float64),Creation,Like,float64,10000000,14.8132,0.0023,6363.468,0.0,negligible +reshape 1D->2D,Manipulation,Reshape,float64,1000,0.0002,,,,no_data +reshape 2D->1D,Manipulation,Reshape,float64,1000,0.0002,,,,no_data +a.T (2D),Manipulation,Transpose,float64,1000,0.0001,,,,no_data +np.transpose (2D),Manipulation,Transpose,float64,1000,0.0004,,,,no_data +np.ravel,Manipulation,Flatten,float64,1000,0.0004,,,,no_data +a.flatten,Manipulation,Flatten,float64,1000,0.0005,,,,no_data +np.concatenate,Manipulation,Stack,float64,1000,0.001,,,,no_data +np.stack,Manipulation,Stack,float64,1000,0.0022,,,,no_data +reshape 1D->2D,Manipulation,Reshape,float64,100000,0.0002,,,,no_data +reshape 2D->1D,Manipulation,Reshape,float64,100000,0.0002,0.0005,0.329,303.6,negligible +a.T (2D),Manipulation,Transpose,float64,100000,0.0001,,,,no_data +np.transpose (2D),Manipulation,Transpose,float64,100000,0.0004,,,,no_data +np.ravel,Manipulation,Flatten,float64,100000,0.0003,0.0005,0.689,145.2,negligible +a.flatten,Manipulation,Flatten,float64,100000,0.0113,0.0883,0.128,782.0,much_slower +np.concatenate,Manipulation,Stack,float64,100000,0.3154,,,,no_data +np.stack,Manipulation,Stack,float64,100000,0.313,,,,no_data +reshape 1D->2D,Manipulation,Reshape,float64,10000000,0.0002,,,,no_data +reshape 2D->1D,Manipulation,Reshape,float64,10000000,0.0002,0.0006,0.315,317.4,negligible +a.T (2D),Manipulation,Transpose,float64,10000000,0.0001,,,,no_data +np.transpose (2D),Manipulation,Transpose,float64,10000000,0.0004,,,,no_data +np.ravel,Manipulation,Flatten,float64,10000000,0.0003,0.0005,0.616,162.4,negligible +a.flatten,Manipulation,Flatten,float64,10000000,13.0852,11.4613,1.142,87.6,faster +np.concatenate,Manipulation,Stack,float64,10000000,32.8142,,,,no_data +np.stack,Manipulation,Stack,float64,10000000,33.9601,,,,no_data +a[100:1000] (contiguous),Slicing,Create,float64,1000,0.0002,,,,no_data +a[::2] (strided),Slicing,Create,float64,1000,0.0002,,,,no_data +a[::-1] (reversed),Slicing,Create,float64,1000,0.0001,,,,no_data +np.sum(contiguous_slice),Slicing,SumSlice,float64,900,0.0017,,,,no_data +np.sum(strided_slice),Slicing,SumSlice,float64,500,0.0016,,,,no_data +a[100:1000] (contiguous),Slicing,Create,float64,100000,0.0001,,,,no_data +a[::2] (strided),Slicing,Create,float64,100000,0.0001,,,,no_data +a[::-1] (reversed),Slicing,Create,float64,100000,0.0002,0.0012,0.128,781.3,negligible +np.sum(contiguous_slice),Slicing,SumSlice,float64,900,0.0017,,,,no_data +np.sum(strided_slice),Slicing,SumSlice,float64,50000,0.0096,,,,no_data +a[100:1000] (contiguous),Slicing,Create,float64,10000000,0.0001,,,,no_data +a[::2] (strided),Slicing,Create,float64,10000000,0.0001,,,,no_data +a[::-1] (reversed),Slicing,Create,float64,10000000,0.0002,0.0012,0.127,788.7,negligible +np.sum(contiguous_slice),Slicing,SumSlice,float64,900,0.0016,,,,no_data +np.sum(strided_slice),Slicing,SumSlice,float64,5000000,4.6738,,,,no_data +a == b (int32),Comparison,Comparison,int32,1000,0.0004,0.0007,0.598,167.2,negligible +a != b (int32),Comparison,Comparison,int32,1000,0.0004,0.0008,0.537,186.1,negligible +a < b (int32),Comparison,Comparison,int32,1000,0.0004,0.0007,0.619,161.7,negligible +a > b (int32),Comparison,Comparison,int32,1000,0.0004,0.0008,0.538,185.8,negligible +a <= b (int32),Comparison,Comparison,int32,1000,0.0004,0.0007,0.578,173.0,negligible +a >= b (int32),Comparison,Comparison,int32,1000,0.0004,0.0008,0.565,177.0,negligible +a == b (int64),Comparison,Comparison,int64,1000,0.0004,0.0008,0.58,172.5,negligible +a != b (int64),Comparison,Comparison,int64,1000,0.0005,0.0008,0.603,165.9,negligible +a < b (int64),Comparison,Comparison,int64,1000,0.0005,0.0007,0.73,137.1,negligible +a > b (int64),Comparison,Comparison,int64,1000,0.0005,0.0007,0.745,134.2,negligible +a <= b (int64),Comparison,Comparison,int64,1000,0.0005,0.0007,0.722,138.4,negligible +a >= b (int64),Comparison,Comparison,int64,1000,0.0008,0.0008,1.003,99.7,negligible +a == b (float32),Comparison,Comparison,float32,1000,0.0005,0.0007,0.613,163.1,negligible +a != b (float32),Comparison,Comparison,float32,1000,0.0004,0.0007,0.602,166.0,negligible +a < b (float32),Comparison,Comparison,float32,1000,0.0004,0.0007,0.56,178.6,negligible +a > b (float32),Comparison,Comparison,float32,1000,0.0004,0.0007,0.562,177.8,negligible +a <= b (float32),Comparison,Comparison,float32,1000,0.0006,0.0007,0.796,125.6,negligible +a >= b (float32),Comparison,Comparison,float32,1000,0.0004,0.0007,0.607,164.7,negligible +a == b (float64),Comparison,Comparison,float64,1000,0.0004,0.0007,0.581,172.2,negligible +a != b (float64),Comparison,Comparison,float64,1000,0.0005,0.0008,0.616,162.4,negligible +a < b (float64),Comparison,Comparison,float64,1000,0.0005,0.0008,0.616,162.3,negligible +a > b (float64),Comparison,Comparison,float64,1000,0.0004,0.0008,0.585,171.0,negligible +a <= b (float64),Comparison,Comparison,float64,1000,0.0004,0.0007,0.6,166.6,negligible +a >= b (float64),Comparison,Comparison,float64,1000,0.0005,0.0007,0.604,165.7,negligible +a == b (int32),Comparison,Comparison,int32,100000,0.0072,0.0183,0.395,253.0,slower +a != b (int32),Comparison,Comparison,int32,100000,0.0069,0.0201,0.343,291.4,slower +a < b (int32),Comparison,Comparison,int32,100000,0.0071,0.0187,0.378,264.8,slower +a > b (int32),Comparison,Comparison,int32,100000,0.007,0.0195,0.358,279.6,slower +a <= b (int32),Comparison,Comparison,int32,100000,0.007,0.0192,0.367,272.7,slower +a >= b (int32),Comparison,Comparison,int32,100000,0.0069,0.0191,0.361,276.9,slower +a == b (int64),Comparison,Comparison,int64,100000,0.0131,0.0248,0.53,188.8,close +a != b (int64),Comparison,Comparison,int64,100000,0.014,0.026,0.539,185.5,close +a < b (int64),Comparison,Comparison,int64,100000,0.0182,0.025,0.729,137.2,close +a > b (int64),Comparison,Comparison,int64,100000,0.0231,0.0256,0.903,110.8,close +a <= b (int64),Comparison,Comparison,int64,100000,0.0186,0.0268,0.693,144.3,close +a >= b (int64),Comparison,Comparison,int64,100000,0.0188,0.0266,0.706,141.6,close +a == b (float32),Comparison,Comparison,float32,100000,0.0059,0.0199,0.295,339.3,slower +a != b (float32),Comparison,Comparison,float32,100000,0.0059,0.0188,0.312,321.0,slower +a < b (float32),Comparison,Comparison,float32,100000,0.0056,0.0189,0.295,339.2,slower +a > b (float32),Comparison,Comparison,float32,100000,0.0056,0.0185,0.306,326.9,slower +a <= b (float32),Comparison,Comparison,float32,100000,0.0063,0.0181,0.346,289.3,slower +a >= b (float32),Comparison,Comparison,float32,100000,0.0063,0.0186,0.339,295.2,slower +a == b (float64),Comparison,Comparison,float64,100000,0.0114,0.0279,0.41,244.0,slower +a != b (float64),Comparison,Comparison,float64,100000,0.011,0.0263,0.419,238.9,slower +a < b (float64),Comparison,Comparison,float64,100000,0.0106,0.0279,0.379,263.7,slower +a > b (float64),Comparison,Comparison,float64,100000,0.0105,0.0262,0.402,248.5,slower +a <= b (float64),Comparison,Comparison,float64,100000,0.0104,0.0283,0.368,272.0,slower +a >= b (float64),Comparison,Comparison,float64,100000,0.0118,0.0241,0.492,203.4,slower +a == b (int32),Comparison,Comparison,int32,10000000,4.1736,3.3406,1.249,80.0,faster +a != b (int32),Comparison,Comparison,int32,10000000,4.2916,3.4612,1.24,80.6,faster +a < b (int32),Comparison,Comparison,int32,10000000,4.3674,3.2941,1.326,75.4,faster +a > b (int32),Comparison,Comparison,int32,10000000,4.1882,3.3117,1.265,79.1,faster +a <= b (int32),Comparison,Comparison,int32,10000000,4.2354,3.3183,1.276,78.3,faster +a >= b (int32),Comparison,Comparison,int32,10000000,4.5128,3.3235,1.358,73.6,faster +a == b (int64),Comparison,Comparison,int64,10000000,7.1546,5.73,1.249,80.1,faster +a != b (int64),Comparison,Comparison,int64,10000000,7.2974,5.8513,1.247,80.2,faster +a < b (int64),Comparison,Comparison,int64,10000000,7.0769,5.6821,1.245,80.3,faster +a > b (int64),Comparison,Comparison,int64,10000000,7.6396,5.7329,1.333,75.0,faster +a <= b (int64),Comparison,Comparison,int64,10000000,8.2513,5.987,1.378,72.6,faster +a >= b (int64),Comparison,Comparison,int64,10000000,7.8543,5.9554,1.319,75.8,faster +a == b (float32),Comparison,Comparison,float32,10000000,3.9574,3.2149,1.231,81.2,faster +a != b (float32),Comparison,Comparison,float32,10000000,3.9247,3.3366,1.176,85.0,faster +a < b (float32),Comparison,Comparison,float32,10000000,3.8362,3.2974,1.163,86.0,faster +a > b (float32),Comparison,Comparison,float32,10000000,3.8956,3.3476,1.164,85.9,faster +a <= b (float32),Comparison,Comparison,float32,10000000,3.8528,3.2691,1.179,84.8,faster +a >= b (float32),Comparison,Comparison,float32,10000000,3.8402,3.2664,1.176,85.1,faster +a == b (float64),Comparison,Comparison,float64,10000000,7.1028,5.6882,1.249,80.1,faster +a != b (float64),Comparison,Comparison,float64,10000000,6.7684,5.847,1.158,86.4,faster +a < b (float64),Comparison,Comparison,float64,10000000,6.5961,5.7503,1.147,87.2,faster +a > b (float64),Comparison,Comparison,float64,10000000,6.6876,5.7415,1.165,85.9,faster +a <= b (float64),Comparison,Comparison,float64,10000000,6.4781,5.7355,1.129,88.5,faster +a >= b (float64),Comparison,Comparison,float64,10000000,7.1505,5.6739,1.26,79.3,faster +a & b (bool),Bitwise,Bitwise,bool,1000,0.0004,0.0016,0.245,408.9,negligible +a | b (bool),Bitwise,Bitwise,bool,1000,0.0004,0.0015,0.307,325.9,negligible +a ^ b (bool),Bitwise,Bitwise,bool,1000,0.0004,0.0017,0.224,447.0,negligible +np.invert(a) (bool),Bitwise,Bitwise,bool,1000,0.0004,0.0015,0.245,408.6,negligible +"np.left_shift(a, 2) (bool)",Bitwise,Bitwise,bool,1000,0.0015,0.0125,0.118,845.4,much_slower +"np.right_shift(a, 2) (bool)",Bitwise,Bitwise,bool,1000,0.0016,0.0135,0.118,844.0,much_slower +a & b (uint8),Bitwise,Bitwise,uint8,1000,0.0006,0.001,0.619,161.6,negligible +a | b (uint8),Bitwise,Bitwise,uint8,1000,0.0007,0.0012,0.565,177.0,negligible +a ^ b (uint8),Bitwise,Bitwise,uint8,1000,0.0006,0.0012,0.534,187.3,negligible +np.invert(a) (uint8),Bitwise,Bitwise,uint8,1000,0.0006,0.0014,0.463,216.1,negligible +"np.left_shift(a, 2) (uint8)",Bitwise,Bitwise,uint8,1000,0.0009,0.0023,0.401,249.7,negligible +"np.right_shift(a, 2) (uint8)",Bitwise,Bitwise,uint8,1000,0.0009,0.0021,0.441,226.8,negligible +a & b (int8),Bitwise,Bitwise,int8,1000,0.0007,0.0013,0.489,204.5,negligible +a | b (int8),Bitwise,Bitwise,int8,1000,0.0007,0.0014,0.477,209.8,negligible +a ^ b (int8),Bitwise,Bitwise,int8,1000,0.0007,0.0012,0.524,190.7,negligible +np.invert(a) (int8),Bitwise,Bitwise,int8,1000,0.0006,0.0014,0.458,218.3,negligible +"np.left_shift(a, 2) (int8)",Bitwise,Bitwise,int8,1000,0.0009,0.0019,0.491,203.7,negligible +"np.right_shift(a, 2) (int8)",Bitwise,Bitwise,int8,1000,0.001,0.0019,0.54,185.1,close +a & b (int16),Bitwise,Bitwise,int16,1000,0.0008,0.0027,0.286,349.0,negligible +a | b (int16),Bitwise,Bitwise,int16,1000,0.0008,0.0023,0.348,287.7,negligible +a ^ b (int16),Bitwise,Bitwise,int16,1000,0.0008,0.0026,0.305,327.9,negligible +np.invert(a) (int16),Bitwise,Bitwise,int16,1000,0.0007,0.0018,0.404,247.3,negligible +"np.left_shift(a, 2) (int16)",Bitwise,Bitwise,int16,1000,0.001,0.0031,0.331,302.4,slower +"np.right_shift(a, 2) (int16)",Bitwise,Bitwise,int16,1000,0.0011,0.0026,0.443,225.7,slower +a & b (uint16),Bitwise,Bitwise,uint16,1000,0.0008,0.0034,0.228,439.5,negligible +a | b (uint16),Bitwise,Bitwise,uint16,1000,0.0008,0.0019,0.426,234.5,negligible +a ^ b (uint16),Bitwise,Bitwise,uint16,1000,0.0008,0.0028,0.277,360.9,negligible +np.invert(a) (uint16),Bitwise,Bitwise,uint16,1000,0.0007,0.0022,0.331,302.0,negligible +"np.left_shift(a, 2) (uint16)",Bitwise,Bitwise,uint16,1000,0.0011,0.0023,0.451,221.7,slower +"np.right_shift(a, 2) (uint16)",Bitwise,Bitwise,uint16,1000,0.0011,0.0029,0.364,274.7,slower +a & b (int32),Bitwise,Bitwise,int32,1000,0.0008,0.006,0.128,778.8,negligible +a | b (int32),Bitwise,Bitwise,int32,1000,0.0008,0.0074,0.105,950.5,negligible +a ^ b (int32),Bitwise,Bitwise,int32,1000,0.0008,0.0047,0.163,615.0,negligible +np.invert(a) (int32),Bitwise,Bitwise,int32,1000,0.0008,0.0058,0.132,758.0,negligible +"np.left_shift(a, 2) (int32)",Bitwise,Bitwise,int32,1000,0.001,0.0057,0.176,569.3,negligible +"np.right_shift(a, 2) (int32)",Bitwise,Bitwise,int32,1000,0.0011,0.0038,0.282,354.2,slower +a & b (uint32),Bitwise,Bitwise,uint32,1000,0.0008,0.0039,0.203,491.6,negligible +a | b (uint32),Bitwise,Bitwise,uint32,1000,0.0008,0.0035,0.224,445.7,negligible +a ^ b (uint32),Bitwise,Bitwise,uint32,1000,0.0008,0.0048,0.164,610.3,negligible +np.invert(a) (uint32),Bitwise,Bitwise,uint32,1000,0.0008,0.0036,0.218,459.1,negligible +"np.left_shift(a, 2) (uint32)",Bitwise,Bitwise,uint32,1000,0.001,0.0045,0.219,455.7,negligible +"np.right_shift(a, 2) (uint32)",Bitwise,Bitwise,uint32,1000,0.001,0.0036,0.272,368.1,negligible +a & b (int64),Bitwise,Bitwise,int64,1000,0.0008,0.0069,0.112,891.2,negligible +a | b (int64),Bitwise,Bitwise,int64,1000,0.0008,0.0079,0.1,1003.2,negligible +a ^ b (int64),Bitwise,Bitwise,int64,1000,0.0008,0.004,0.196,510.6,negligible +np.invert(a) (int64),Bitwise,Bitwise,int64,1000,0.0007,0.0059,0.126,795.7,negligible +"np.left_shift(a, 2) (int64)",Bitwise,Bitwise,int64,1000,0.0009,0.0038,0.238,419.5,negligible +"np.right_shift(a, 2) (int64)",Bitwise,Bitwise,int64,1000,0.0013,0.0039,0.324,308.9,slower +a & b (uint64),Bitwise,Bitwise,uint64,1000,0.0008,0.0024,0.322,310.1,negligible +a | b (uint64),Bitwise,Bitwise,uint64,1000,0.0008,0.0022,0.354,282.3,negligible +a ^ b (uint64),Bitwise,Bitwise,uint64,1000,0.0009,0.0111,0.078,1287.0,negligible +np.invert(a) (uint64),Bitwise,Bitwise,uint64,1000,0.0007,0.0035,0.207,483.9,negligible +"np.left_shift(a, 2) (uint64)",Bitwise,Bitwise,uint64,1000,0.001,0.0096,0.1,1000.2,negligible +"np.right_shift(a, 2) (uint64)",Bitwise,Bitwise,uint64,1000,0.001,0.0108,0.091,1099.6,negligible +a & b (bool),Bitwise,Bitwise,bool,100000,0.0028,0.0215,0.131,763.1,much_slower +a | b (bool),Bitwise,Bitwise,bool,100000,0.0025,0.0232,0.11,911.6,much_slower +a ^ b (bool),Bitwise,Bitwise,bool,100000,0.0026,0.0214,0.122,821.8,much_slower +np.invert(a) (bool),Bitwise,Bitwise,bool,100000,0.0021,0.023,0.092,1082.9,much_slower +"np.left_shift(a, 2) (bool)",Bitwise,Bitwise,bool,100000,0.043,0.0779,0.552,181.2,close +"np.right_shift(a, 2) (bool)",Bitwise,Bitwise,bool,100000,0.0529,0.075,0.706,141.7,close +a & b (uint8),Bitwise,Bitwise,uint8,100000,0.0296,0.0103,2.877,34.8,faster +a | b (uint8),Bitwise,Bitwise,uint8,100000,0.0296,0.0105,2.827,35.4,faster +a ^ b (uint8),Bitwise,Bitwise,uint8,100000,0.0288,0.0119,2.424,41.3,faster +np.invert(a) (uint8),Bitwise,Bitwise,uint8,100000,0.0268,0.011,2.446,40.9,faster +"np.left_shift(a, 2) (uint8)",Bitwise,Bitwise,uint8,100000,0.0292,0.0131,2.222,45.0,faster +"np.right_shift(a, 2) (uint8)",Bitwise,Bitwise,uint8,100000,0.0296,0.0095,3.117,32.1,faster +a & b (int8),Bitwise,Bitwise,int8,100000,0.0286,0.01,2.858,35.0,faster +a | b (int8),Bitwise,Bitwise,int8,100000,0.03,0.0116,2.58,38.8,faster +a ^ b (int8),Bitwise,Bitwise,int8,100000,0.0295,0.0102,2.898,34.5,faster +np.invert(a) (int8),Bitwise,Bitwise,int8,100000,0.0293,0.0108,2.719,36.8,faster +"np.left_shift(a, 2) (int8)",Bitwise,Bitwise,int8,100000,0.0305,0.0085,3.576,28.0,faster +"np.right_shift(a, 2) (int8)",Bitwise,Bitwise,int8,100000,0.0436,0.0108,4.019,24.9,faster +a & b (int16),Bitwise,Bitwise,int16,100000,0.029,0.0169,1.718,58.2,faster +a | b (int16),Bitwise,Bitwise,int16,100000,0.0285,0.0178,1.603,62.4,faster +a ^ b (int16),Bitwise,Bitwise,int16,100000,0.0285,0.0149,1.915,52.2,faster +np.invert(a) (int16),Bitwise,Bitwise,int16,100000,0.0257,0.014,1.83,54.6,faster +"np.left_shift(a, 2) (int16)",Bitwise,Bitwise,int16,100000,0.0285,0.015,1.898,52.7,faster +"np.right_shift(a, 2) (int16)",Bitwise,Bitwise,int16,100000,0.0377,0.0158,2.384,41.9,faster +a & b (uint16),Bitwise,Bitwise,uint16,100000,0.0301,0.018,1.676,59.7,faster +a | b (uint16),Bitwise,Bitwise,uint16,100000,0.0291,0.0168,1.733,57.7,faster +a ^ b (uint16),Bitwise,Bitwise,uint16,100000,0.0287,0.0163,1.766,56.6,faster +np.invert(a) (uint16),Bitwise,Bitwise,uint16,100000,0.0258,0.0206,1.25,80.0,faster +"np.left_shift(a, 2) (uint16)",Bitwise,Bitwise,uint16,100000,0.029,0.0163,1.78,56.2,faster +"np.right_shift(a, 2) (uint16)",Bitwise,Bitwise,uint16,100000,0.0283,0.017,1.667,60.0,faster +a & b (int32),Bitwise,Bitwise,int32,100000,0.0286,0.0342,0.837,119.5,close +a | b (int32),Bitwise,Bitwise,int32,100000,0.0286,0.038,0.752,133.0,close +a ^ b (int32),Bitwise,Bitwise,int32,100000,0.0288,0.0321,0.9,111.1,close +np.invert(a) (int32),Bitwise,Bitwise,int32,100000,0.0264,0.0305,0.865,115.6,close +"np.left_shift(a, 2) (int32)",Bitwise,Bitwise,int32,100000,0.019,0.0373,0.511,195.8,close +"np.right_shift(a, 2) (int32)",Bitwise,Bitwise,int32,100000,0.0288,0.0378,0.762,131.3,close +a & b (uint32),Bitwise,Bitwise,uint32,100000,0.0339,0.04,0.846,118.1,close +a | b (uint32),Bitwise,Bitwise,uint32,100000,0.0285,0.0334,0.855,117.0,close +a ^ b (uint32),Bitwise,Bitwise,uint32,100000,0.0285,0.0315,0.905,110.5,close +np.invert(a) (uint32),Bitwise,Bitwise,uint32,100000,0.0332,0.029,1.147,87.2,faster +"np.left_shift(a, 2) (uint32)",Bitwise,Bitwise,uint32,100000,0.0192,0.0272,0.703,142.2,close +"np.right_shift(a, 2) (uint32)",Bitwise,Bitwise,uint32,100000,0.0205,0.0284,0.723,138.4,close +a & b (int64),Bitwise,Bitwise,int64,100000,0.0338,0.0634,0.533,187.6,close +a | b (int64),Bitwise,Bitwise,int64,100000,0.0339,0.0707,0.479,208.6,slower +a ^ b (int64),Bitwise,Bitwise,int64,100000,0.0337,0.0666,0.506,197.6,close +np.invert(a) (int64),Bitwise,Bitwise,int64,100000,0.0263,0.0661,0.398,251.0,slower +"np.left_shift(a, 2) (int64)",Bitwise,Bitwise,int64,100000,0.019,0.0672,0.283,352.8,slower +"np.right_shift(a, 2) (int64)",Bitwise,Bitwise,int64,100000,0.0287,0.0702,0.409,244.4,slower +a & b (uint64),Bitwise,Bitwise,uint64,100000,0.0356,0.0739,0.482,207.4,slower +a | b (uint64),Bitwise,Bitwise,uint64,100000,0.0353,0.0677,0.522,191.7,close +a ^ b (uint64),Bitwise,Bitwise,uint64,100000,0.0341,0.0681,0.5,199.8,close +np.invert(a) (uint64),Bitwise,Bitwise,uint64,100000,0.0263,0.0652,0.404,247.8,slower +"np.left_shift(a, 2) (uint64)",Bitwise,Bitwise,uint64,100000,0.0194,0.0697,0.278,359.4,slower +"np.right_shift(a, 2) (uint64)",Bitwise,Bitwise,uint64,100000,0.0212,0.075,0.283,354.0,slower +a & b (bool),Bitwise,Bitwise,bool,10000000,1.8589,3.0929,0.601,166.4,close +a | b (bool),Bitwise,Bitwise,bool,10000000,1.8887,2.8568,0.661,151.3,close +a ^ b (bool),Bitwise,Bitwise,bool,10000000,1.862,3.0807,0.604,165.5,close +np.invert(a) (bool),Bitwise,Bitwise,bool,10000000,1.6689,2.5576,0.653,153.2,close +"np.left_shift(a, 2) (bool)",Bitwise,Bitwise,bool,10000000,15.2024,10.3241,1.473,67.9,faster +"np.right_shift(a, 2) (bool)",Bitwise,Bitwise,bool,10000000,15.2744,9.3866,1.627,61.5,faster +a & b (uint8),Bitwise,Bitwise,uint8,10000000,3.8191,1.5272,2.501,40.0,faster +a | b (uint8),Bitwise,Bitwise,uint8,10000000,4.1042,1.4855,2.763,36.2,faster +a ^ b (uint8),Bitwise,Bitwise,uint8,10000000,3.8171,1.4591,2.616,38.2,faster +np.invert(a) (uint8),Bitwise,Bitwise,uint8,10000000,3.5162,1.3311,2.642,37.9,faster +"np.left_shift(a, 2) (uint8)",Bitwise,Bitwise,uint8,10000000,3.6979,1.2844,2.879,34.7,faster +"np.right_shift(a, 2) (uint8)",Bitwise,Bitwise,uint8,10000000,3.7353,1.2943,2.886,34.7,faster +a & b (int8),Bitwise,Bitwise,int8,10000000,3.8854,1.5338,2.533,39.5,faster +a | b (int8),Bitwise,Bitwise,int8,10000000,4.1649,1.5132,2.752,36.3,faster +a ^ b (int8),Bitwise,Bitwise,int8,10000000,3.8764,1.5503,2.501,40.0,faster +np.invert(a) (int8),Bitwise,Bitwise,int8,10000000,3.539,1.3133,2.695,37.1,faster +"np.left_shift(a, 2) (int8)",Bitwise,Bitwise,int8,10000000,3.7477,1.2738,2.942,34.0,faster +"np.right_shift(a, 2) (int8)",Bitwise,Bitwise,int8,10000000,4.7856,1.2716,3.763,26.6,faster +a & b (int16),Bitwise,Bitwise,int16,10000000,5.2942,2.9661,1.785,56.0,faster +a | b (int16),Bitwise,Bitwise,int16,10000000,5.2268,2.9832,1.752,57.1,faster +a ^ b (int16),Bitwise,Bitwise,int16,10000000,5.2041,2.9252,1.779,56.2,faster +np.invert(a) (int16),Bitwise,Bitwise,int16,10000000,4.767,2.5132,1.897,52.7,faster +"np.left_shift(a, 2) (int16)",Bitwise,Bitwise,int16,10000000,4.9855,2.6983,1.848,54.1,faster +"np.right_shift(a, 2) (int16)",Bitwise,Bitwise,int16,10000000,5.7282,2.6585,2.155,46.4,faster +a & b (uint16),Bitwise,Bitwise,uint16,10000000,5.2834,3.0212,1.749,57.2,faster +a | b (uint16),Bitwise,Bitwise,uint16,10000000,5.1942,2.8924,1.796,55.7,faster +a ^ b (uint16),Bitwise,Bitwise,uint16,10000000,5.2129,2.9215,1.784,56.0,faster +np.invert(a) (uint16),Bitwise,Bitwise,uint16,10000000,4.7281,2.4541,1.927,51.9,faster +"np.left_shift(a, 2) (uint16)",Bitwise,Bitwise,uint16,10000000,5.3571,2.5057,2.138,46.8,faster +"np.right_shift(a, 2) (uint16)",Bitwise,Bitwise,uint16,10000000,5.1786,2.5878,2.001,50.0,faster +a & b (int32),Bitwise,Bitwise,int32,10000000,9.1881,5.3408,1.72,58.1,faster +a | b (int32),Bitwise,Bitwise,int32,10000000,9.0217,5.4574,1.653,60.5,faster +a ^ b (int32),Bitwise,Bitwise,int32,10000000,8.9067,5.3599,1.662,60.2,faster +np.invert(a) (int32),Bitwise,Bitwise,int32,10000000,8.1792,4.7721,1.714,58.3,faster +"np.left_shift(a, 2) (int32)",Bitwise,Bitwise,int32,10000000,7.6421,4.5654,1.674,59.7,faster +"np.right_shift(a, 2) (int32)",Bitwise,Bitwise,int32,10000000,7.887,4.3972,1.794,55.8,faster +a & b (uint32),Bitwise,Bitwise,uint32,10000000,8.5821,6.0168,1.426,70.1,faster +a | b (uint32),Bitwise,Bitwise,uint32,10000000,8.5824,5.4787,1.567,63.8,faster +a ^ b (uint32),Bitwise,Bitwise,uint32,10000000,8.4267,5.7479,1.466,68.2,faster +np.invert(a) (uint32),Bitwise,Bitwise,uint32,10000000,7.8329,4.846,1.616,61.9,faster +"np.left_shift(a, 2) (uint32)",Bitwise,Bitwise,uint32,10000000,7.9134,5.0757,1.559,64.1,faster +"np.right_shift(a, 2) (uint32)",Bitwise,Bitwise,uint32,10000000,7.713,4.7119,1.637,61.1,faster +a & b (int64),Bitwise,Bitwise,int64,10000000,17.1008,16.6525,1.027,97.4,faster +a | b (int64),Bitwise,Bitwise,int64,10000000,17.1245,15.6955,1.091,91.7,faster +a ^ b (int64),Bitwise,Bitwise,int64,10000000,17.2489,15.691,1.099,91.0,faster +np.invert(a) (int64),Bitwise,Bitwise,int64,10000000,15.1634,14.2955,1.061,94.3,faster +"np.left_shift(a, 2) (int64)",Bitwise,Bitwise,int64,10000000,15.2053,14.9107,1.02,98.1,faster +"np.right_shift(a, 2) (int64)",Bitwise,Bitwise,int64,10000000,15.0917,14.2202,1.061,94.2,faster +a & b (uint64),Bitwise,Bitwise,uint64,10000000,17.0644,16.1487,1.057,94.6,faster +a | b (uint64),Bitwise,Bitwise,uint64,10000000,16.8283,16.1102,1.045,95.7,faster +a ^ b (uint64),Bitwise,Bitwise,uint64,10000000,16.9004,16.6136,1.017,98.3,faster +np.invert(a) (uint64),Bitwise,Bitwise,uint64,10000000,15.2896,15.3374,0.997,100.3,close +"np.left_shift(a, 2) (uint64)",Bitwise,Bitwise,uint64,10000000,15.2926,15.7026,0.974,102.7,close +"np.right_shift(a, 2) (uint64)",Bitwise,Bitwise,uint64,10000000,14.9083,16.6474,0.896,111.7,close +np.isnan(a) (float16),Logic,Logic,float16,1000,0.0014,0.0012,1.123,89.1,faster +np.isinf(a) (float16),Logic,Logic,float16,1000,0.0009,0.0012,0.759,131.7,negligible +np.isfinite(a) (float16),Logic,Logic,float16,1000,0.0008,0.0015,0.573,174.6,negligible +"np.maximum(a, b) (float16)",Logic,Logic,float16,1000,0.0031,0.003,1.023,97.8,faster +"np.minimum(a, b) (float16)",Logic,Logic,float16,1000,0.0032,0.0031,1.033,96.8,faster +"np.isclose(a, b) (float16)",Logic,Logic,float16,1000,0.03,,,,no_data +"np.allclose(a, b) (float16)",Logic,Logic,float16,1000,0.0305,,,,no_data +"np.array_equal(a, b) (float16)",Logic,Logic,float16,1000,0.0025,0.0013,1.895,52.8,faster +np.isnan(a) (float32),Logic,Logic,float32,1000,0.0005,0.0016,0.336,297.8,negligible +np.isinf(a) (float32),Logic,Logic,float32,1000,0.0006,0.0013,0.415,241.2,negligible +np.isfinite(a) (float32),Logic,Logic,float32,1000,0.0004,0.0012,0.331,302.5,negligible +"np.maximum(a, b) (float32)",Logic,Logic,float32,1000,0.0006,0.0013,0.449,222.9,negligible +"np.minimum(a, b) (float32)",Logic,Logic,float32,1000,0.0005,0.0013,0.417,240.1,negligible +"np.isclose(a, b) (float32)",Logic,Logic,float32,1000,0.0113,,,,no_data +"np.allclose(a, b) (float32)",Logic,Logic,float32,1000,0.0132,,,,no_data +"np.array_equal(a, b) (float32)",Logic,Logic,float32,1000,0.0016,0.0008,1.948,51.3,negligible +np.isnan(a) (float64),Logic,Logic,float64,1000,0.0004,0.0013,0.333,299.9,negligible +np.isinf(a) (float64),Logic,Logic,float64,1000,0.0005,0.0015,0.321,311.6,negligible +np.isfinite(a) (float64),Logic,Logic,float64,1000,0.0005,0.0014,0.318,314.0,negligible +"np.maximum(a, b) (float64)",Logic,Logic,float64,1000,0.0006,0.0018,0.31,322.7,negligible +"np.minimum(a, b) (float64)",Logic,Logic,float64,1000,0.0006,0.0013,0.439,227.8,negligible +"np.isclose(a, b) (float64)",Logic,Logic,float64,1000,0.0116,,,,no_data +"np.allclose(a, b) (float64)",Logic,Logic,float64,1000,0.0165,,,,no_data +"np.array_equal(a, b) (float64)",Logic,Logic,float64,1000,0.0018,0.0007,2.364,42.3,negligible +np.all(a) (bool),Logic,Logic,bool,1000,0.0015,,,,no_data +np.any(a) (bool),Logic,Logic,bool,1000,0.0015,,,,no_data +np.isnan(a) (float16),Logic,Logic,float16,100000,0.0692,0.0397,1.742,57.4,faster +np.isinf(a) (float16),Logic,Logic,float16,100000,0.0506,0.0386,1.313,76.2,faster +np.isfinite(a) (float16),Logic,Logic,float16,100000,0.0496,0.0388,1.278,78.2,faster +"np.maximum(a, b) (float16)",Logic,Logic,float16,100000,0.7598,0.6663,1.14,87.7,faster +"np.minimum(a, b) (float16)",Logic,Logic,float16,100000,0.762,0.6658,1.144,87.4,faster +"np.isclose(a, b) (float16)",Logic,Logic,float16,100000,1.7764,,,,no_data +"np.allclose(a, b) (float16)",Logic,Logic,float16,100000,1.7794,,,,no_data +"np.array_equal(a, b) (float16)",Logic,Logic,float16,100000,0.0873,0.0697,1.252,79.8,faster +np.isnan(a) (float32),Logic,Logic,float32,100000,0.0044,0.0482,0.092,1091.3,much_slower +np.isinf(a) (float32),Logic,Logic,float32,100000,0.0058,0.0416,0.139,720.8,much_slower +np.isfinite(a) (float32),Logic,Logic,float32,100000,0.0059,0.0364,0.162,616.8,much_slower +"np.maximum(a, b) (float32)",Logic,Logic,float32,100000,0.0084,0.0343,0.246,406.8,slower +"np.minimum(a, b) (float32)",Logic,Logic,float32,100000,0.0084,0.0345,0.243,411.3,slower +"np.isclose(a, b) (float32)",Logic,Logic,float32,100000,0.3666,,,,no_data +"np.allclose(a, b) (float32)",Logic,Logic,float32,100000,0.366,,,,no_data +"np.array_equal(a, b) (float32)",Logic,Logic,float32,100000,0.0067,0.0186,0.362,276.2,slower +np.isnan(a) (float64),Logic,Logic,float64,100000,0.0085,0.0483,0.176,568.9,much_slower +np.isinf(a) (float64),Logic,Logic,float64,100000,0.0101,0.0433,0.233,429.4,slower +np.isfinite(a) (float64),Logic,Logic,float64,100000,0.0098,0.0365,0.267,374.2,slower +"np.maximum(a, b) (float64)",Logic,Logic,float64,100000,0.0293,0.0803,0.365,273.9,slower +"np.minimum(a, b) (float64)",Logic,Logic,float64,100000,0.029,0.0866,0.335,298.5,slower +"np.isclose(a, b) (float64)",Logic,Logic,float64,100000,0.6275,,,,no_data +"np.allclose(a, b) (float64)",Logic,Logic,float64,100000,0.6299,,,,no_data +"np.array_equal(a, b) (float64)",Logic,Logic,float64,100000,0.0121,0.0248,0.489,204.3,slower +np.all(a) (bool),Logic,Logic,bool,100000,0.0014,,,,no_data +np.any(a) (bool),Logic,Logic,bool,100000,0.0017,,,,no_data +np.isnan(a) (float16),Logic,Logic,float16,10000000,7.7981,3.113,2.505,39.9,faster +np.isinf(a) (float16),Logic,Logic,float16,10000000,6.0644,3.1035,1.954,51.2,faster +np.isfinite(a) (float16),Logic,Logic,float16,10000000,5.8734,3.1098,1.889,52.9,faster +"np.maximum(a, b) (float16)",Logic,Logic,float16,10000000,80.9858,66.1452,1.224,81.7,faster +"np.minimum(a, b) (float16)",Logic,Logic,float16,10000000,81.4032,65.4062,1.245,80.3,faster +"np.isclose(a, b) (float16)",Logic,Logic,float16,10000000,195.6207,,,,no_data +"np.allclose(a, b) (float16)",Logic,Logic,float16,10000000,192.9692,,,,no_data +"np.array_equal(a, b) (float16)",Logic,Logic,float16,10000000,9.5077,6.1828,1.538,65.0,faster +np.isnan(a) (float32),Logic,Logic,float32,10000000,2.9244,4.7104,0.621,161.1,close +np.isinf(a) (float32),Logic,Logic,float32,10000000,3.0154,3.9983,0.754,132.6,close +np.isfinite(a) (float32),Logic,Logic,float32,10000000,3.3272,3.8128,0.873,114.6,close +"np.maximum(a, b) (float32)",Logic,Logic,float32,10000000,8.3101,4.3746,1.9,52.6,faster +"np.minimum(a, b) (float32)",Logic,Logic,float32,10000000,8.4413,4.4356,1.903,52.5,faster +"np.isclose(a, b) (float32)",Logic,Logic,float32,10000000,55.1472,,,,no_data +"np.allclose(a, b) (float32)",Logic,Logic,float32,10000000,55.8239,,,,no_data +"np.array_equal(a, b) (float32)",Logic,Logic,float32,10000000,3.9686,3.4029,1.166,85.7,faster +np.isnan(a) (float64),Logic,Logic,float64,10000000,4.931,6.0302,0.818,122.3,close +np.isinf(a) (float64),Logic,Logic,float64,10000000,5.2606,5.9503,0.884,113.1,close +np.isfinite(a) (float64),Logic,Logic,float64,10000000,5.3098,5.692,0.933,107.2,close +"np.maximum(a, b) (float64)",Logic,Logic,float64,10000000,16.575,17.2376,0.962,104.0,close +"np.minimum(a, b) (float64)",Logic,Logic,float64,10000000,16.8958,20.5756,0.821,121.8,close +"np.isclose(a, b) (float64)",Logic,Logic,float64,10000000,104.7217,,,,no_data +"np.allclose(a, b) (float64)",Logic,Logic,float64,10000000,107.5215,,,,no_data +"np.array_equal(a, b) (float64)",Logic,Logic,float64,10000000,6.8297,5.8386,1.17,85.5,faster +np.all(a) (bool),Logic,Logic,bool,10000000,0.0014,,,,no_data +np.any(a) (bool),Logic,Logic,bool,10000000,0.0014,,,,no_data +np.median(a) (float16),Statistics,Statistics,float16,1000,0.0144,0.0041,3.516,28.4,faster +"np.percentile(a, 50) (float16)",Statistics,Statistics,float16,1000,0.0288,0.0041,6.972,14.3,faster +"np.quantile(a, 0.5) (float16)",Statistics,Statistics,float16,1000,0.0283,0.0041,6.892,14.5,faster +np.average(a) (float16),Statistics,Statistics,float16,1000,0.0054,0.0012,4.483,22.3,faster +np.ptp(a) (float16),Statistics,Statistics,float16,1000,0.0077,0.0037,2.104,47.5,faster +np.count_nonzero(a) (float16),Statistics,Statistics,float16,1000,0.0018,0.0008,2.291,43.6,negligible +np.median(a) (float32),Statistics,Statistics,float32,1000,0.011,0.0023,4.801,20.8,faster +"np.percentile(a, 50) (float32)",Statistics,Statistics,float32,1000,0.0243,0.0023,10.607,9.4,faster +"np.quantile(a, 0.5) (float32)",Statistics,Statistics,float32,1000,0.0237,0.0023,10.323,9.7,faster +np.average(a) (float32),Statistics,Statistics,float32,1000,0.0042,0.0007,5.801,17.2,negligible +np.ptp(a) (float32),Statistics,Statistics,float32,1000,0.0035,0.0022,1.592,62.8,faster +np.count_nonzero(a) (float32),Statistics,Statistics,float32,1000,0.0006,0.0003,1.872,53.4,negligible +np.median(a) (float64),Statistics,Statistics,float64,1000,0.0098,0.0023,4.228,23.7,faster +"np.percentile(a, 50) (float64)",Statistics,Statistics,float64,1000,0.0258,0.0023,11.004,9.1,faster +"np.quantile(a, 0.5) (float64)",Statistics,Statistics,float64,1000,0.0239,0.0023,10.208,9.8,faster +np.average(a) (float64),Statistics,Statistics,float64,1000,0.0029,0.0007,3.893,25.7,negligible +np.ptp(a) (float64),Statistics,Statistics,float64,1000,0.0037,0.002,1.884,53.1,faster +np.count_nonzero(a) (float64),Statistics,Statistics,float64,1000,0.0007,0.0004,1.821,54.9,negligible +np.median(a) (float16),Statistics,Statistics,float16,100000,0.8796,1.2503,0.704,142.1,close +"np.percentile(a, 50) (float16)",Statistics,Statistics,float16,100000,1.7825,1.2489,1.427,70.1,faster +"np.quantile(a, 0.5) (float16)",Statistics,Statistics,float16,100000,1.7668,1.2481,1.416,70.6,faster +np.average(a) (float16),Statistics,Statistics,float16,100000,0.1147,0.0798,1.437,69.6,faster +np.ptp(a) (float16),Statistics,Statistics,float16,100000,1.0004,0.6489,1.542,64.9,faster +np.count_nonzero(a) (float16),Statistics,Statistics,float16,100000,0.1447,0.0436,3.319,30.1,faster +np.median(a) (float32),Statistics,Statistics,float32,100000,0.4686,0.6988,0.671,149.1,close +"np.percentile(a, 50) (float32)",Statistics,Statistics,float32,100000,0.7026,0.7007,1.003,99.7,faster +"np.quantile(a, 0.5) (float32)",Statistics,Statistics,float32,100000,0.6938,0.7016,0.989,101.1,close +np.average(a) (float32),Statistics,Statistics,float32,100000,0.0177,0.0032,5.567,18.0,faster +np.ptp(a) (float32),Statistics,Statistics,float32,100000,0.0114,0.008,1.435,69.7,faster +np.count_nonzero(a) (float32),Statistics,Statistics,float32,100000,0.0438,0.005,8.686,11.5,faster +np.median(a) (float64),Statistics,Statistics,float64,100000,0.4653,0.7089,0.656,152.4,close +"np.percentile(a, 50) (float64)",Statistics,Statistics,float64,100000,0.7045,0.7086,0.994,100.6,close +"np.quantile(a, 0.5) (float64)",Statistics,Statistics,float64,100000,0.7004,0.7083,0.989,101.1,close +np.average(a) (float64),Statistics,Statistics,float64,100000,0.0171,0.004,4.265,23.4,faster +np.ptp(a) (float64),Statistics,Statistics,float64,100000,0.02,0.0134,1.49,67.1,faster +np.count_nonzero(a) (float64),Statistics,Statistics,float64,100000,0.0376,0.009,4.188,23.9,faster +np.median(a) (float16),Statistics,Statistics,float16,10000000,105.7899,88.7294,1.192,83.9,faster +"np.percentile(a, 50) (float16)",Statistics,Statistics,float16,10000000,113.4806,88.7652,1.278,78.2,faster +"np.quantile(a, 0.5) (float16)",Statistics,Statistics,float16,10000000,112.779,88.6407,1.272,78.6,faster +np.average(a) (float16),Statistics,Statistics,float16,10000000,10.5817,8.0311,1.318,75.9,faster +np.ptp(a) (float16),Statistics,Statistics,float16,10000000,103.1114,67.0357,1.538,65.0,faster +np.count_nonzero(a) (float16),Statistics,Statistics,float16,10000000,15.7587,4.3062,3.66,27.3,faster +np.median(a) (float32),Statistics,Statistics,float32,10000000,73.748,79.7326,0.925,108.1,close +"np.percentile(a, 50) (float32)",Statistics,Statistics,float32,10000000,47.5374,79.7748,0.596,167.8,close +"np.quantile(a, 0.5) (float32)",Statistics,Statistics,float32,10000000,47.6198,79.7894,0.597,167.6,close +np.average(a) (float32),Statistics,Statistics,float32,10000000,2.8186,0.9734,2.896,34.5,faster +np.ptp(a) (float32),Statistics,Statistics,float32,10000000,2.6949,2.4569,1.097,91.2,faster +np.count_nonzero(a) (float32),Statistics,Statistics,float32,10000000,4.2117,1.6445,2.561,39.0,faster +np.median(a) (float64),Statistics,Statistics,float64,10000000,86.4309,88.8375,0.973,102.8,close +"np.percentile(a, 50) (float64)",Statistics,Statistics,float64,10000000,58.5689,88.9709,0.658,151.9,close +"np.quantile(a, 0.5) (float64)",Statistics,Statistics,float64,10000000,58.1853,89.0162,0.654,153.0,close +np.average(a) (float64),Statistics,Statistics,float64,10000000,4.6529,2.8474,1.634,61.2,faster +np.ptp(a) (float64),Statistics,Statistics,float64,10000000,6.9463,6.225,1.116,89.6,faster +np.count_nonzero(a) (float64),Statistics,Statistics,float64,10000000,5.6444,3.9133,1.442,69.3,faster +np.argsort(a) (int32),Sorting,Sorting,int32,1000,0.0113,0.0221,0.509,196.5,close +np.nonzero(a) (int32),Sorting,Sorting,int32,1000,0.0017,0.0028,0.612,163.5,close +"np.searchsorted(a, v) (int32)",Sorting,Sorting,int32,1000,0.019,0.0075,2.543,39.3,faster +np.argsort(a) (int64),Sorting,Sorting,int64,1000,0.0131,0.0167,0.784,127.6,close +np.nonzero(a) (int64),Sorting,Sorting,int64,1000,0.0018,0.0026,0.693,144.3,close +"np.searchsorted(a, v) (int64)",Sorting,Sorting,int64,1000,0.0186,0.0071,2.606,38.4,faster +np.argsort(a) (float32),Sorting,Sorting,float32,1000,0.012,0.0223,0.537,186.3,close +np.nonzero(a) (float32),Sorting,Sorting,float32,1000,0.0027,0.0021,1.253,79.8,faster +"np.searchsorted(a, v) (float32)",Sorting,Sorting,float32,1000,0.0083,0.0053,1.565,63.9,faster +np.argsort(a) (float64),Sorting,Sorting,float64,1000,0.0104,0.0177,0.586,170.6,close +np.nonzero(a) (float64),Sorting,Sorting,float64,1000,0.0029,0.002,1.438,69.6,faster +"np.searchsorted(a, v) (float64)",Sorting,Sorting,float64,1000,0.0083,0.0053,1.564,63.9,faster +np.argsort(a) (int32),Sorting,Sorting,int32,100000,0.4031,0.8504,0.474,211.0,slower +np.nonzero(a) (int32),Sorting,Sorting,int32,100000,0.1051,0.1932,0.544,183.8,close +"np.searchsorted(a, v) (int32)",Sorting,Sorting,int32,100000,2.8983,2.2559,1.285,77.8,faster +np.argsort(a) (int64),Sorting,Sorting,int64,100000,0.4917,2.2549,0.218,458.6,slower +np.nonzero(a) (int64),Sorting,Sorting,int64,100000,0.1073,0.2034,0.528,189.5,close +"np.searchsorted(a, v) (int64)",Sorting,Sorting,int64,100000,2.9016,2.2381,1.296,77.1,faster +np.argsort(a) (float32),Sorting,Sorting,float32,100000,1.5922,1.0142,1.57,63.7,faster +np.nonzero(a) (float32),Sorting,Sorting,float32,100000,0.1988,0.1946,1.022,97.9,faster +"np.searchsorted(a, v) (float32)",Sorting,Sorting,float32,100000,2.0222,1.7299,1.169,85.5,faster +np.argsort(a) (float64),Sorting,Sorting,float64,100000,1.428,2.5193,0.567,176.4,close +np.nonzero(a) (float64),Sorting,Sorting,float64,100000,0.1923,0.2002,0.961,104.1,close +"np.searchsorted(a, v) (float64)",Sorting,Sorting,float64,100000,2.0961,1.7424,1.203,83.1,faster +np.argsort(a) (int32),Sorting,Sorting,int32,10000000,174.0979,107.5057,1.619,61.8,faster +np.nonzero(a) (int32),Sorting,Sorting,int32,10000000,20.1149,14.3503,1.402,71.3,faster +"np.searchsorted(a, v) (int32)",Sorting,Sorting,int32,10000000,390.1343,243.3194,1.603,62.4,faster +np.argsort(a) (int64),Sorting,Sorting,int64,10000000,310.5208,188.5734,1.647,60.7,faster +np.nonzero(a) (int64),Sorting,Sorting,int64,10000000,23.7474,18.256,1.301,76.9,faster +"np.searchsorted(a, v) (int64)",Sorting,Sorting,int64,10000000,568.2151,243.9343,2.329,42.9,faster +np.argsort(a) (float32),Sorting,Sorting,float32,10000000,1348.273,132.4664,10.178,9.8,faster +np.nonzero(a) (float32),Sorting,Sorting,float32,10000000,39.8712,14.1945,2.809,35.6,faster +"np.searchsorted(a, v) (float32)",Sorting,Sorting,float32,10000000,312.1823,191.5647,1.63,61.4,faster +np.argsort(a) (float64),Sorting,Sorting,float64,10000000,1768.7035,251.488,7.033,14.2,faster +np.nonzero(a) (float64),Sorting,Sorting,float64,10000000,42.6329,17.6206,2.419,41.3,faster +"np.searchsorted(a, v) (float64)",Sorting,Sorting,float64,10000000,310.2307,192.5449,1.611,62.1,faster +"np.dot(a, b) (float64)",LinearAlgebra,LinearAlgebra,float64,1000,0.0007,0.0007,1.06,94.3,negligible +"np.outer(a, b) (float64)",LinearAlgebra,LinearAlgebra,float64,1000,0.0022,0.0061,0.352,284.4,slower +"np.matmul(A, B) (float64)",LinearAlgebra,LinearAlgebra,float64,1000,0.0027,0.006,0.448,223.2,slower +"np.dot(a, b) (float64)",LinearAlgebra,LinearAlgebra,float64,100000,0.1123,0.0093,12.052,8.3,faster +"np.outer(a, b) (float64)",LinearAlgebra,LinearAlgebra,float64,100000,0.038,0.0708,0.537,186.1,close +"np.matmul(A, B) (float64)",LinearAlgebra,LinearAlgebra,float64,100000,0.5771,2.7815,0.207,482.0,slower +"np.dot(a, b) (float64)",LinearAlgebra,LinearAlgebra,float64,10000000,0.869,3.0303,0.287,348.7,slower +"np.outer(a, b) (float64)",LinearAlgebra,LinearAlgebra,float64,10000000,13.4954,11.7542,1.148,87.1,faster +"np.matmul(A, B) (float64)",LinearAlgebra,LinearAlgebra,float64,10000000,0.6896,4.4742,0.154,648.8,much_slower +"np.where(cond, a, b) (float64)",Selection,Selection,float64,1000,0.0017,0.002,0.855,116.9,close +np.where(cond) (float64),Selection,Selection,float64,1000,0.0009,0.0014,0.657,152.3,negligible +"np.where(cond, a, b) (float64)",Selection,Selection,float64,100000,0.0399,0.0688,0.579,172.7,close +np.where(cond) (float64),Selection,Selection,float64,100000,0.0294,0.0981,0.3,333.2,slower +"np.where(cond, a, b) (float64)",Selection,Selection,float64,10000000,17.1294,14.8189,1.156,86.5,faster +np.where(cond) (float64),Selection,Selection,float64,10000000,7.45,6.9913,1.066,93.8,faster diff --git a/benchmark/history/2026-06-29_2d16f477/benchmark-report.json b/benchmark/history/2026-06-29_2d16f477/benchmark-report.json new file mode 100644 index 000000000..29b996351 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/benchmark-report.json @@ -0,0 +1,22214 @@ +[ + { + "operation": "a + b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.432, + "pct_numpy": 231.6, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0019, + "ratio": 0.362, + "pct_numpy": 276.2, + "status": "negligible" + }, + { + "operation": "a + scalar (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0015, + "ratio": 0.496, + "pct_numpy": 201.6, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0036, + "ratio": 0.256, + "pct_numpy": 390.2, + "status": "negligible" + }, + { + "operation": "a - b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0015, + "ratio": 0.447, + "pct_numpy": 223.6, + "status": "negligible" + }, + { + "operation": "a - scalar (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0008, + "ratio": 0.95, + "pct_numpy": 105.3, + "status": "negligible" + }, + { + "operation": "scalar - a (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0009, + "ratio": 0.838, + "pct_numpy": 119.3, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0017, + "ratio": 0.389, + "pct_numpy": 257.4, + "status": "negligible" + }, + { + "operation": "a * a (square) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0014, + "ratio": 0.462, + "pct_numpy": 216.2, + "status": "negligible" + }, + { + "operation": "a * scalar (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0016, + "ratio": 0.475, + "pct_numpy": 210.3, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0038, + "ratio": 0.234, + "pct_numpy": 427.9, + "status": "negligible" + }, + { + "operation": "a + b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0017, + "ratio": 0.391, + "pct_numpy": 255.8, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0017, + "ratio": 0.389, + "pct_numpy": 256.8, + "status": "negligible" + }, + { + "operation": "a + scalar (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0016, + "ratio": 0.493, + "pct_numpy": 203.0, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0034, + "ratio": 0.258, + "pct_numpy": 387.0, + "status": "negligible" + }, + { + "operation": "a - b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0014, + "ratio": 0.456, + "pct_numpy": 219.3, + "status": "negligible" + }, + { + "operation": "a - scalar (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0011, + "ratio": 0.679, + "pct_numpy": 147.2, + "status": "negligible" + }, + { + "operation": "scalar - a (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0009, + "ratio": 0.904, + "pct_numpy": 110.7, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0016, + "ratio": 0.392, + "pct_numpy": 255.2, + "status": "negligible" + }, + { + "operation": "a * a (square) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0015, + "ratio": 0.419, + "pct_numpy": 238.8, + "status": "negligible" + }, + { + "operation": "a * scalar (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0016, + "ratio": 0.448, + "pct_numpy": 223.1, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0036, + "ratio": 0.235, + "pct_numpy": 425.0, + "status": "negligible" + }, + { + "operation": "a + b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0018, + "ratio": 0.47, + "pct_numpy": 212.8, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0017, + "ratio": 0.511, + "pct_numpy": 195.8, + "status": "negligible" + }, + { + "operation": "a + scalar (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0017, + "ratio": 0.51, + "pct_numpy": 196.0, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0025, + "ratio": 0.408, + "pct_numpy": 245.4, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0017, + "ratio": 0.451, + "pct_numpy": 221.5, + "status": "negligible" + }, + { + "operation": "a - scalar (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0013, + "ratio": 0.703, + "pct_numpy": 142.3, + "status": "negligible" + }, + { + "operation": "scalar - a (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0012, + "ratio": 0.783, + "pct_numpy": 127.7, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.415, + "pct_numpy": 240.9, + "status": "negligible" + }, + { + "operation": "a * a (square) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0018, + "ratio": 0.414, + "pct_numpy": 241.5, + "status": "negligible" + }, + { + "operation": "a * scalar (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0018, + "ratio": 0.498, + "pct_numpy": 200.9, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0058, + "ratio": 0.17, + "pct_numpy": 589.3, + "status": "negligible" + }, + { + "operation": "a + b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0021, + "ratio": 0.391, + "pct_numpy": 255.8, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0018, + "ratio": 0.425, + "pct_numpy": 235.3, + "status": "negligible" + }, + { + "operation": "a + scalar (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0017, + "ratio": 0.535, + "pct_numpy": 187.0, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0048, + "ratio": 0.211, + "pct_numpy": 473.8, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0018, + "ratio": 0.45, + "pct_numpy": 222.4, + "status": "negligible" + }, + { + "operation": "a - scalar (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0012, + "ratio": 0.768, + "pct_numpy": 130.3, + "status": "negligible" + }, + { + "operation": "scalar - a (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0011, + "ratio": 0.849, + "pct_numpy": 117.9, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.393, + "pct_numpy": 254.1, + "status": "negligible" + }, + { + "operation": "a * a (square) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0017, + "ratio": 0.448, + "pct_numpy": 223.2, + "status": "negligible" + }, + { + "operation": "a * scalar (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0018, + "ratio": 0.47, + "pct_numpy": 212.9, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0027, + "ratio": 0.372, + "pct_numpy": 268.7, + "status": "slower" + }, + { + "operation": "a + b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0022, + "ratio": 0.349, + "pct_numpy": 286.2, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.42, + "pct_numpy": 238.0, + "status": "negligible" + }, + { + "operation": "a + scalar (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0019, + "ratio": 0.462, + "pct_numpy": 216.6, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0033, + "ratio": 0.312, + "pct_numpy": 320.6, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.002, + "ratio": 0.395, + "pct_numpy": 253.4, + "status": "negligible" + }, + { + "operation": "a - scalar (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0016, + "ratio": 0.577, + "pct_numpy": 173.3, + "status": "negligible" + }, + { + "operation": "scalar - a (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0013, + "ratio": 0.721, + "pct_numpy": 138.7, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.002, + "ratio": 0.389, + "pct_numpy": 256.7, + "status": "negligible" + }, + { + "operation": "a * a (square) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.002, + "ratio": 0.387, + "pct_numpy": 258.2, + "status": "negligible" + }, + { + "operation": "a * scalar (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0019, + "ratio": 0.46, + "pct_numpy": 217.2, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0034, + "ratio": 0.299, + "pct_numpy": 333.9, + "status": "slower" + }, + { + "operation": "a / b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0053, + "ratio": 0.465, + "pct_numpy": 214.9, + "status": "slower" + }, + { + "operation": "a / scalar (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0041, + "ratio": 0.428, + "pct_numpy": 233.9, + "status": "slower" + }, + { + "operation": "scalar / a (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.007, + "ratio": 0.256, + "pct_numpy": 391.3, + "status": "slower" + }, + { + "operation": "a % b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0028, + "ratio": 0.755, + "pct_numpy": 132.5, + "status": "close" + }, + { + "operation": "a % 7 (literal) (int32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0028, + "ratio": 0.777, + "pct_numpy": 128.7, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0017, + "ratio": 0.677, + "pct_numpy": 147.6, + "status": "close" + }, + { + "operation": "np.add(a, b) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0019, + "ratio": 0.514, + "pct_numpy": 194.7, + "status": "negligible" + }, + { + "operation": "a + scalar (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0019, + "ratio": 0.487, + "pct_numpy": 205.4, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0056, + "ratio": 0.189, + "pct_numpy": 530.5, + "status": "much_slower" + }, + { + "operation": "a - b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.002, + "ratio": 0.413, + "pct_numpy": 242.4, + "status": "negligible" + }, + { + "operation": "a - scalar (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0012, + "ratio": 0.881, + "pct_numpy": 113.5, + "status": "close" + }, + { + "operation": "scalar - a (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0012, + "ratio": 0.803, + "pct_numpy": 124.5, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.002, + "ratio": 0.4, + "pct_numpy": 250.1, + "status": "negligible" + }, + { + "operation": "a * a (square) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0021, + "ratio": 0.371, + "pct_numpy": 269.4, + "status": "negligible" + }, + { + "operation": "a * scalar (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.002, + "ratio": 0.457, + "pct_numpy": 219.0, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0054, + "ratio": 0.192, + "pct_numpy": 520.4, + "status": "much_slower" + }, + { + "operation": "a + b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0032, + "ratio": 0.303, + "pct_numpy": 329.9, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0028, + "ratio": 0.293, + "pct_numpy": 341.0, + "status": "negligible" + }, + { + "operation": "a + scalar (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0027, + "ratio": 0.329, + "pct_numpy": 304.4, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0058, + "ratio": 0.167, + "pct_numpy": 598.5, + "status": "negligible" + }, + { + "operation": "a - b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0028, + "ratio": 0.273, + "pct_numpy": 367.0, + "status": "negligible" + }, + { + "operation": "a - scalar (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0015, + "ratio": 0.618, + "pct_numpy": 161.7, + "status": "negligible" + }, + { + "operation": "scalar - a (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0018, + "ratio": 0.63, + "pct_numpy": 158.6, + "status": "close" + }, + { + "operation": "a * b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.003, + "ratio": 0.259, + "pct_numpy": 386.5, + "status": "negligible" + }, + { + "operation": "a * a (square) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0029, + "ratio": 0.266, + "pct_numpy": 375.7, + "status": "negligible" + }, + { + "operation": "a * scalar (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0029, + "ratio": 0.301, + "pct_numpy": 332.1, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0056, + "ratio": 0.163, + "pct_numpy": 613.7, + "status": "negligible" + }, + { + "operation": "a / b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0055, + "ratio": 0.346, + "pct_numpy": 289.1, + "status": "slower" + }, + { + "operation": "a / scalar (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0074, + "ratio": 0.229, + "pct_numpy": 435.9, + "status": "slower" + }, + { + "operation": "scalar / a (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0069, + "ratio": 0.261, + "pct_numpy": 383.4, + "status": "slower" + }, + { + "operation": "a % b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0035, + "numsharp_ms": 0.004, + "ratio": 0.877, + "pct_numpy": 114.0, + "status": "close" + }, + { + "operation": "a % 7 (literal) (int64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0044, + "numsharp_ms": 0.0069, + "ratio": 0.639, + "pct_numpy": 156.4, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0027, + "ratio": 0.288, + "pct_numpy": 347.8, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0028, + "ratio": 0.303, + "pct_numpy": 330.2, + "status": "negligible" + }, + { + "operation": "a + scalar (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0025, + "ratio": 0.366, + "pct_numpy": 272.9, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0054, + "ratio": 0.19, + "pct_numpy": 525.9, + "status": "much_slower" + }, + { + "operation": "a - b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0029, + "ratio": 0.26, + "pct_numpy": 384.9, + "status": "negligible" + }, + { + "operation": "a - scalar (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0016, + "ratio": 0.564, + "pct_numpy": 177.2, + "status": "negligible" + }, + { + "operation": "scalar - a (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0018, + "ratio": 0.505, + "pct_numpy": 198.0, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0027, + "ratio": 0.265, + "pct_numpy": 377.2, + "status": "negligible" + }, + { + "operation": "a * a (square) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0028, + "ratio": 0.261, + "pct_numpy": 383.8, + "status": "negligible" + }, + { + "operation": "a * scalar (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0028, + "ratio": 0.285, + "pct_numpy": 350.6, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.003, + "ratio": 0.31, + "pct_numpy": 322.8, + "status": "negligible" + }, + { + "operation": "a + b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0055, + "numsharp_ms": 0.0091, + "ratio": 0.604, + "pct_numpy": 165.4, + "status": "close" + }, + { + "operation": "np.add(a, b) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0057, + "numsharp_ms": 0.0088, + "ratio": 0.645, + "pct_numpy": 155.0, + "status": "close" + }, + { + "operation": "a + scalar (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0066, + "numsharp_ms": 0.0091, + "ratio": 0.727, + "pct_numpy": 137.6, + "status": "close" + }, + { + "operation": "a + 5 (literal) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0064, + "numsharp_ms": 0.0106, + "ratio": 0.604, + "pct_numpy": 165.6, + "status": "close" + }, + { + "operation": "a - b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0041, + "numsharp_ms": 0.0092, + "ratio": 0.444, + "pct_numpy": 225.2, + "status": "slower" + }, + { + "operation": "a - scalar (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0061, + "numsharp_ms": 0.0052, + "ratio": 1.181, + "pct_numpy": 84.7, + "status": "faster" + }, + { + "operation": "scalar - a (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0054, + "numsharp_ms": 0.0051, + "ratio": 1.053, + "pct_numpy": 95.0, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0034, + "numsharp_ms": 0.009, + "ratio": 0.373, + "pct_numpy": 268.2, + "status": "slower" + }, + { + "operation": "a * a (square) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0057, + "numsharp_ms": 0.0093, + "ratio": 0.615, + "pct_numpy": 162.5, + "status": "close" + }, + { + "operation": "a * scalar (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0062, + "numsharp_ms": 0.0092, + "ratio": 0.677, + "pct_numpy": 147.6, + "status": "close" + }, + { + "operation": "a * 2 (literal) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0066, + "numsharp_ms": 0.0103, + "ratio": 0.634, + "pct_numpy": 157.7, + "status": "close" + }, + { + "operation": "a + b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0011, + "ratio": 0.673, + "pct_numpy": 148.7, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.408, + "pct_numpy": 245.3, + "status": "negligible" + }, + { + "operation": "a + scalar (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.002, + "ratio": 0.354, + "pct_numpy": 282.7, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0049, + "ratio": 0.176, + "pct_numpy": 567.6, + "status": "negligible" + }, + { + "operation": "a - b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.002, + "ratio": 0.279, + "pct_numpy": 358.9, + "status": "negligible" + }, + { + "operation": "a - scalar (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0013, + "ratio": 0.526, + "pct_numpy": 190.0, + "status": "negligible" + }, + { + "operation": "scalar - a (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0014, + "ratio": 0.523, + "pct_numpy": 191.0, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0019, + "ratio": 0.297, + "pct_numpy": 336.4, + "status": "negligible" + }, + { + "operation": "a * a (square) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0019, + "ratio": 0.281, + "pct_numpy": 356.4, + "status": "negligible" + }, + { + "operation": "a * scalar (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.002, + "ratio": 0.356, + "pct_numpy": 280.9, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0053, + "ratio": 0.145, + "pct_numpy": 691.2, + "status": "negligible" + }, + { + "operation": "a / b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0023, + "ratio": 0.218, + "pct_numpy": 457.8, + "status": "negligible" + }, + { + "operation": "a / scalar (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.002, + "ratio": 0.324, + "pct_numpy": 308.5, + "status": "negligible" + }, + { + "operation": "scalar / a (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.002, + "ratio": 0.332, + "pct_numpy": 300.9, + "status": "negligible" + }, + { + "operation": "a % b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0121, + "numsharp_ms": 0.0108, + "ratio": 1.117, + "pct_numpy": 89.5, + "status": "faster" + }, + { + "operation": "a % 7 (literal) (float32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0143, + "numsharp_ms": 0.0167, + "ratio": 0.86, + "pct_numpy": 116.3, + "status": "close" + }, + { + "operation": "a + b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0018, + "ratio": 0.279, + "pct_numpy": 358.1, + "status": "negligible" + }, + { + "operation": "np.add(a, b) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0025, + "ratio": 0.211, + "pct_numpy": 475.0, + "status": "negligible" + }, + { + "operation": "a + scalar (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0027, + "ratio": 0.24, + "pct_numpy": 416.1, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0056, + "ratio": 0.141, + "pct_numpy": 707.5, + "status": "negligible" + }, + { + "operation": "a - b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0018, + "ratio": 0.294, + "pct_numpy": 340.5, + "status": "negligible" + }, + { + "operation": "a - scalar (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0019, + "ratio": 0.332, + "pct_numpy": 301.5, + "status": "negligible" + }, + { + "operation": "scalar - a (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.002, + "ratio": 0.333, + "pct_numpy": 300.0, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0025, + "ratio": 0.205, + "pct_numpy": 488.7, + "status": "negligible" + }, + { + "operation": "a * a (square) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0027, + "ratio": 0.198, + "pct_numpy": 505.9, + "status": "negligible" + }, + { + "operation": "a * scalar (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0028, + "ratio": 0.308, + "pct_numpy": 325.0, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0062, + "ratio": 0.129, + "pct_numpy": 772.7, + "status": "negligible" + }, + { + "operation": "a / b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0034, + "ratio": 0.221, + "pct_numpy": 452.2, + "status": "negligible" + }, + { + "operation": "a / scalar (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0034, + "ratio": 0.266, + "pct_numpy": 376.2, + "status": "negligible" + }, + { + "operation": "scalar / a (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0035, + "ratio": 0.26, + "pct_numpy": 385.2, + "status": "negligible" + }, + { + "operation": "a % b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.01, + "numsharp_ms": 0.009, + "ratio": 1.122, + "pct_numpy": 89.1, + "status": "faster" + }, + { + "operation": "a % 7 (literal) (float64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0112, + "numsharp_ms": 0.0175, + "ratio": 0.641, + "pct_numpy": 155.9, + "status": "close" + }, + { + "operation": "a + b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0046, + "ratio": 0.226, + "pct_numpy": 442.5, + "status": "slower" + }, + { + "operation": "np.add(a, b) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0046, + "ratio": 0.175, + "pct_numpy": 572.5, + "status": "negligible" + }, + { + "operation": "a + scalar (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0042, + "ratio": 0.226, + "pct_numpy": 442.2, + "status": "negligible" + }, + { + "operation": "a + 5 (literal) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0076, + "ratio": 0.145, + "pct_numpy": 691.2, + "status": "much_slower" + }, + { + "operation": "a - b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.004, + "ratio": 0.218, + "pct_numpy": 457.8, + "status": "negligible" + }, + { + "operation": "a - scalar (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.003, + "ratio": 0.313, + "pct_numpy": 319.0, + "status": "negligible" + }, + { + "operation": "scalar - a (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0027, + "ratio": 0.357, + "pct_numpy": 280.0, + "status": "negligible" + }, + { + "operation": "a * b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0043, + "ratio": 0.221, + "pct_numpy": 452.8, + "status": "negligible" + }, + { + "operation": "a * a (square) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0042, + "ratio": 0.192, + "pct_numpy": 520.3, + "status": "negligible" + }, + { + "operation": "a * scalar (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0043, + "ratio": 0.218, + "pct_numpy": 458.3, + "status": "negligible" + }, + { + "operation": "a * 2 (literal) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0045, + "ratio": 0.249, + "pct_numpy": 401.8, + "status": "slower" + }, + { + "operation": "a + b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0305, + "numsharp_ms": 0.0154, + "ratio": 1.981, + "pct_numpy": 50.5, + "status": "faster" + }, + { + "operation": "np.add(a, b) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.0154, + "ratio": 1.861, + "pct_numpy": 53.7, + "status": "faster" + }, + { + "operation": "a + scalar (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0248, + "numsharp_ms": 0.0148, + "ratio": 1.67, + "pct_numpy": 59.9, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0248, + "numsharp_ms": 0.0205, + "ratio": 1.211, + "pct_numpy": 82.6, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0288, + "numsharp_ms": 0.0152, + "ratio": 1.899, + "pct_numpy": 52.7, + "status": "faster" + }, + { + "operation": "a - scalar (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0374, + "numsharp_ms": 0.0079, + "ratio": 4.708, + "pct_numpy": 21.2, + "status": "faster" + }, + { + "operation": "scalar - a (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0243, + "numsharp_ms": 0.0082, + "ratio": 2.978, + "pct_numpy": 33.6, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0295, + "numsharp_ms": 0.0157, + "ratio": 1.883, + "pct_numpy": 53.1, + "status": "faster" + }, + { + "operation": "a * a (square) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.029, + "numsharp_ms": 0.0155, + "ratio": 1.876, + "pct_numpy": 53.3, + "status": "faster" + }, + { + "operation": "a * scalar (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0238, + "numsharp_ms": 0.0159, + "ratio": 1.495, + "pct_numpy": 66.9, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0229, + "numsharp_ms": 0.0216, + "ratio": 1.057, + "pct_numpy": 94.6, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0289, + "numsharp_ms": 0.0158, + "ratio": 1.831, + "pct_numpy": 54.6, + "status": "faster" + }, + { + "operation": "np.add(a, b) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0293, + "numsharp_ms": 0.0152, + "ratio": 1.931, + "pct_numpy": 51.8, + "status": "faster" + }, + { + "operation": "a + scalar (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0251, + "numsharp_ms": 0.0149, + "ratio": 1.689, + "pct_numpy": 59.2, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0369, + "numsharp_ms": 0.023, + "ratio": 1.603, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0355, + "numsharp_ms": 0.0155, + "ratio": 2.294, + "pct_numpy": 43.6, + "status": "faster" + }, + { + "operation": "a - scalar (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0319, + "numsharp_ms": 0.0079, + "ratio": 4.019, + "pct_numpy": 24.9, + "status": "faster" + }, + { + "operation": "scalar - a (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0254, + "numsharp_ms": 0.008, + "ratio": 3.181, + "pct_numpy": 31.4, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0282, + "numsharp_ms": 0.0162, + "ratio": 1.744, + "pct_numpy": 57.3, + "status": "faster" + }, + { + "operation": "a * a (square) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.028, + "numsharp_ms": 0.0158, + "ratio": 1.768, + "pct_numpy": 56.6, + "status": "faster" + }, + { + "operation": "a * scalar (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0223, + "numsharp_ms": 0.0161, + "ratio": 1.385, + "pct_numpy": 72.2, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0226, + "numsharp_ms": 0.0233, + "ratio": 0.971, + "pct_numpy": 103.0, + "status": "close" + }, + { + "operation": "a + b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0306, + "numsharp_ms": 0.0341, + "ratio": 0.899, + "pct_numpy": 111.2, + "status": "close" + }, + { + "operation": "np.add(a, b) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0312, + "numsharp_ms": 0.0273, + "ratio": 1.144, + "pct_numpy": 87.4, + "status": "faster" + }, + { + "operation": "a + scalar (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0249, + "numsharp_ms": 0.0262, + "ratio": 0.953, + "pct_numpy": 104.9, + "status": "close" + }, + { + "operation": "a + 5 (literal) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0256, + "numsharp_ms": 0.0297, + "ratio": 0.86, + "pct_numpy": 116.3, + "status": "close" + }, + { + "operation": "a - b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0293, + "numsharp_ms": 0.025, + "ratio": 1.173, + "pct_numpy": 85.3, + "status": "faster" + }, + { + "operation": "a - scalar (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0239, + "numsharp_ms": 0.0141, + "ratio": 1.698, + "pct_numpy": 58.9, + "status": "faster" + }, + { + "operation": "scalar - a (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0243, + "numsharp_ms": 0.0148, + "ratio": 1.644, + "pct_numpy": 60.8, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0282, + "numsharp_ms": 0.0266, + "ratio": 1.057, + "pct_numpy": 94.6, + "status": "faster" + }, + { + "operation": "a * a (square) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.0251, + "ratio": 1.142, + "pct_numpy": 87.5, + "status": "faster" + }, + { + "operation": "a * scalar (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0233, + "numsharp_ms": 0.0262, + "ratio": 0.891, + "pct_numpy": 112.2, + "status": "close" + }, + { + "operation": "a * 2 (literal) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0233, + "numsharp_ms": 0.0306, + "ratio": 0.762, + "pct_numpy": 131.2, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0305, + "numsharp_ms": 0.0303, + "ratio": 1.005, + "pct_numpy": 99.5, + "status": "faster" + }, + { + "operation": "np.add(a, b) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0294, + "numsharp_ms": 0.0296, + "ratio": 0.993, + "pct_numpy": 100.7, + "status": "close" + }, + { + "operation": "a + scalar (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0245, + "numsharp_ms": 0.0256, + "ratio": 0.956, + "pct_numpy": 104.6, + "status": "close" + }, + { + "operation": "a + 5 (literal) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.025, + "numsharp_ms": 0.0308, + "ratio": 0.812, + "pct_numpy": 123.2, + "status": "close" + }, + { + "operation": "a - b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0299, + "numsharp_ms": 0.0263, + "ratio": 1.137, + "pct_numpy": 87.9, + "status": "faster" + }, + { + "operation": "a - scalar (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0244, + "numsharp_ms": 0.0148, + "ratio": 1.648, + "pct_numpy": 60.7, + "status": "faster" + }, + { + "operation": "scalar - a (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0313, + "numsharp_ms": 0.0147, + "ratio": 2.124, + "pct_numpy": 47.1, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0308, + "numsharp_ms": 0.0267, + "ratio": 1.154, + "pct_numpy": 86.7, + "status": "faster" + }, + { + "operation": "a * a (square) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0347, + "numsharp_ms": 0.0258, + "ratio": 1.345, + "pct_numpy": 74.4, + "status": "faster" + }, + { + "operation": "a * scalar (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0262, + "numsharp_ms": 0.0269, + "ratio": 0.973, + "pct_numpy": 102.7, + "status": "close" + }, + { + "operation": "a * 2 (literal) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0229, + "numsharp_ms": 0.0291, + "ratio": 0.784, + "pct_numpy": 127.5, + "status": "close" + }, + { + "operation": "a + b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0296, + "numsharp_ms": 0.0569, + "ratio": 0.52, + "pct_numpy": 192.3, + "status": "close" + }, + { + "operation": "np.add(a, b) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0299, + "numsharp_ms": 0.0546, + "ratio": 0.548, + "pct_numpy": 182.6, + "status": "close" + }, + { + "operation": "a + scalar (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0245, + "numsharp_ms": 0.0532, + "ratio": 0.46, + "pct_numpy": 217.3, + "status": "slower" + }, + { + "operation": "a + 5 (literal) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.025, + "numsharp_ms": 0.053, + "ratio": 0.472, + "pct_numpy": 211.8, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.0524, + "ratio": 0.548, + "pct_numpy": 182.5, + "status": "close" + }, + { + "operation": "a - scalar (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0237, + "numsharp_ms": 0.0278, + "ratio": 0.854, + "pct_numpy": 117.1, + "status": "close" + }, + { + "operation": "scalar - a (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.024, + "numsharp_ms": 0.029, + "ratio": 0.829, + "pct_numpy": 120.6, + "status": "close" + }, + { + "operation": "a * b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.0519, + "ratio": 0.553, + "pct_numpy": 180.9, + "status": "close" + }, + { + "operation": "a * a (square) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.03, + "numsharp_ms": 0.0553, + "ratio": 0.542, + "pct_numpy": 184.4, + "status": "close" + }, + { + "operation": "a * scalar (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0231, + "numsharp_ms": 0.0508, + "ratio": 0.455, + "pct_numpy": 219.9, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.023, + "numsharp_ms": 0.0521, + "ratio": 0.442, + "pct_numpy": 226.3, + "status": "slower" + }, + { + "operation": "a / b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0909, + "numsharp_ms": 0.1953, + "ratio": 0.465, + "pct_numpy": 214.9, + "status": "slower" + }, + { + "operation": "a / scalar (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0622, + "numsharp_ms": 0.1883, + "ratio": 0.331, + "pct_numpy": 302.5, + "status": "slower" + }, + { + "operation": "scalar / a (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0638, + "numsharp_ms": 0.1794, + "ratio": 0.355, + "pct_numpy": 281.4, + "status": "slower" + }, + { + "operation": "a % b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.3784, + "numsharp_ms": 0.6093, + "ratio": 0.621, + "pct_numpy": 161.0, + "status": "close" + }, + { + "operation": "a % 7 (literal) (int32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.3957, + "numsharp_ms": 0.659, + "ratio": 0.6, + "pct_numpy": 166.5, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0292, + "numsharp_ms": 0.0565, + "ratio": 0.516, + "pct_numpy": 193.8, + "status": "close" + }, + { + "operation": "np.add(a, b) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0324, + "numsharp_ms": 0.0542, + "ratio": 0.598, + "pct_numpy": 167.2, + "status": "close" + }, + { + "operation": "a + scalar (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0247, + "numsharp_ms": 0.0503, + "ratio": 0.491, + "pct_numpy": 203.6, + "status": "slower" + }, + { + "operation": "a + 5 (literal) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0234, + "numsharp_ms": 0.0493, + "ratio": 0.474, + "pct_numpy": 210.8, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0294, + "numsharp_ms": 0.0506, + "ratio": 0.581, + "pct_numpy": 172.1, + "status": "close" + }, + { + "operation": "a - scalar (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0233, + "numsharp_ms": 0.0264, + "ratio": 0.885, + "pct_numpy": 113.0, + "status": "close" + }, + { + "operation": "scalar - a (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0239, + "numsharp_ms": 0.0299, + "ratio": 0.8, + "pct_numpy": 125.0, + "status": "close" + }, + { + "operation": "a * b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0278, + "numsharp_ms": 0.0486, + "ratio": 0.572, + "pct_numpy": 174.9, + "status": "close" + }, + { + "operation": "a * a (square) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0285, + "numsharp_ms": 0.049, + "ratio": 0.581, + "pct_numpy": 172.1, + "status": "close" + }, + { + "operation": "a * scalar (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0227, + "numsharp_ms": 0.0507, + "ratio": 0.448, + "pct_numpy": 223.1, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0225, + "numsharp_ms": 0.0519, + "ratio": 0.433, + "pct_numpy": 230.9, + "status": "slower" + }, + { + "operation": "a + b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0351, + "numsharp_ms": 0.1211, + "ratio": 0.29, + "pct_numpy": 344.7, + "status": "slower" + }, + { + "operation": "np.add(a, b) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0359, + "numsharp_ms": 0.1337, + "ratio": 0.269, + "pct_numpy": 372.4, + "status": "slower" + }, + { + "operation": "a + scalar (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0236, + "numsharp_ms": 0.1014, + "ratio": 0.233, + "pct_numpy": 429.4, + "status": "slower" + }, + { + "operation": "a + 5 (literal) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0233, + "numsharp_ms": 0.1024, + "ratio": 0.228, + "pct_numpy": 439.2, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0352, + "numsharp_ms": 0.1044, + "ratio": 0.337, + "pct_numpy": 297.0, + "status": "slower" + }, + { + "operation": "a - scalar (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0241, + "numsharp_ms": 0.0677, + "ratio": 0.357, + "pct_numpy": 280.4, + "status": "slower" + }, + { + "operation": "scalar - a (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.025, + "numsharp_ms": 0.0667, + "ratio": 0.375, + "pct_numpy": 266.9, + "status": "slower" + }, + { + "operation": "a * b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0386, + "numsharp_ms": 0.1068, + "ratio": 0.361, + "pct_numpy": 276.9, + "status": "slower" + }, + { + "operation": "a * a (square) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0289, + "numsharp_ms": 0.1056, + "ratio": 0.274, + "pct_numpy": 365.5, + "status": "slower" + }, + { + "operation": "a * scalar (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0226, + "numsharp_ms": 0.1076, + "ratio": 0.21, + "pct_numpy": 475.6, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0216, + "numsharp_ms": 0.1059, + "ratio": 0.204, + "pct_numpy": 491.1, + "status": "slower" + }, + { + "operation": "a / b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0785, + "numsharp_ms": 0.1896, + "ratio": 0.414, + "pct_numpy": 241.7, + "status": "slower" + }, + { + "operation": "a / scalar (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0575, + "numsharp_ms": 0.1885, + "ratio": 0.305, + "pct_numpy": 328.1, + "status": "slower" + }, + { + "operation": "scalar / a (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0627, + "numsharp_ms": 0.1881, + "ratio": 0.333, + "pct_numpy": 300.1, + "status": "slower" + }, + { + "operation": "a % b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.3756, + "numsharp_ms": 0.6058, + "ratio": 0.62, + "pct_numpy": 161.3, + "status": "close" + }, + { + "operation": "a % 7 (literal) (int64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.4155, + "numsharp_ms": 0.6703, + "ratio": 0.62, + "pct_numpy": 161.3, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0529, + "numsharp_ms": 0.1072, + "ratio": 0.493, + "pct_numpy": 202.7, + "status": "slower" + }, + { + "operation": "np.add(a, b) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0405, + "numsharp_ms": 0.1101, + "ratio": 0.368, + "pct_numpy": 271.9, + "status": "slower" + }, + { + "operation": "a + scalar (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0235, + "numsharp_ms": 0.1018, + "ratio": 0.231, + "pct_numpy": 432.9, + "status": "slower" + }, + { + "operation": "a + 5 (literal) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0236, + "numsharp_ms": 0.1073, + "ratio": 0.22, + "pct_numpy": 453.8, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0385, + "numsharp_ms": 0.1017, + "ratio": 0.379, + "pct_numpy": 263.9, + "status": "slower" + }, + { + "operation": "a - scalar (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0241, + "numsharp_ms": 0.0652, + "ratio": 0.369, + "pct_numpy": 270.8, + "status": "slower" + }, + { + "operation": "scalar - a (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0246, + "numsharp_ms": 0.0594, + "ratio": 0.414, + "pct_numpy": 241.8, + "status": "slower" + }, + { + "operation": "a * b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0361, + "numsharp_ms": 0.109, + "ratio": 0.331, + "pct_numpy": 301.7, + "status": "slower" + }, + { + "operation": "a * a (square) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0293, + "numsharp_ms": 0.1078, + "ratio": 0.272, + "pct_numpy": 367.6, + "status": "slower" + }, + { + "operation": "a * scalar (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0222, + "numsharp_ms": 0.1048, + "ratio": 0.212, + "pct_numpy": 471.4, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0222, + "numsharp_ms": 0.1066, + "ratio": 0.208, + "pct_numpy": 480.7, + "status": "slower" + }, + { + "operation": "a + b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.2982, + "numsharp_ms": 0.856, + "ratio": 0.348, + "pct_numpy": 287.0, + "status": "slower" + }, + { + "operation": "np.add(a, b) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.2995, + "numsharp_ms": 0.8369, + "ratio": 0.358, + "pct_numpy": 279.5, + "status": "slower" + }, + { + "operation": "a + scalar (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3632, + "numsharp_ms": 0.8631, + "ratio": 0.421, + "pct_numpy": 237.7, + "status": "slower" + }, + { + "operation": "a + 5 (literal) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3642, + "numsharp_ms": 0.8592, + "ratio": 0.424, + "pct_numpy": 235.9, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3042, + "numsharp_ms": 0.4791, + "ratio": 0.635, + "pct_numpy": 157.5, + "status": "close" + }, + { + "operation": "a - scalar (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.295, + "numsharp_ms": 0.4792, + "ratio": 0.616, + "pct_numpy": 162.5, + "status": "close" + }, + { + "operation": "scalar - a (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3008, + "numsharp_ms": 0.4746, + "ratio": 0.634, + "pct_numpy": 157.8, + "status": "close" + }, + { + "operation": "a * b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3186, + "numsharp_ms": 0.8505, + "ratio": 0.375, + "pct_numpy": 266.9, + "status": "slower" + }, + { + "operation": "a * a (square) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.2934, + "numsharp_ms": 0.8294, + "ratio": 0.354, + "pct_numpy": 282.7, + "status": "slower" + }, + { + "operation": "a * scalar (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3472, + "numsharp_ms": 0.8794, + "ratio": 0.395, + "pct_numpy": 253.3, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3439, + "numsharp_ms": 0.8963, + "ratio": 0.384, + "pct_numpy": 260.6, + "status": "slower" + }, + { + "operation": "a + b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0069, + "numsharp_ms": 0.0546, + "ratio": 0.126, + "pct_numpy": 792.4, + "status": "much_slower" + }, + { + "operation": "np.add(a, b) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0068, + "numsharp_ms": 0.0542, + "ratio": 0.125, + "pct_numpy": 798.2, + "status": "much_slower" + }, + { + "operation": "a + scalar (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0062, + "numsharp_ms": 0.0514, + "ratio": 0.121, + "pct_numpy": 829.4, + "status": "much_slower" + }, + { + "operation": "a + 5 (literal) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0065, + "numsharp_ms": 0.0543, + "ratio": 0.119, + "pct_numpy": 841.0, + "status": "much_slower" + }, + { + "operation": "a - b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0069, + "numsharp_ms": 0.0482, + "ratio": 0.143, + "pct_numpy": 697.6, + "status": "much_slower" + }, + { + "operation": "a - scalar (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.007, + "numsharp_ms": 0.0293, + "ratio": 0.24, + "pct_numpy": 416.6, + "status": "slower" + }, + { + "operation": "scalar - a (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0067, + "numsharp_ms": 0.0325, + "ratio": 0.205, + "pct_numpy": 487.4, + "status": "slower" + }, + { + "operation": "a * b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0071, + "numsharp_ms": 0.0514, + "ratio": 0.138, + "pct_numpy": 722.4, + "status": "much_slower" + }, + { + "operation": "a * a (square) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0059, + "numsharp_ms": 0.0493, + "ratio": 0.12, + "pct_numpy": 833.9, + "status": "much_slower" + }, + { + "operation": "a * scalar (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0068, + "numsharp_ms": 0.0488, + "ratio": 0.139, + "pct_numpy": 721.9, + "status": "much_slower" + }, + { + "operation": "a * 2 (literal) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0066, + "numsharp_ms": 0.0516, + "ratio": 0.128, + "pct_numpy": 779.5, + "status": "much_slower" + }, + { + "operation": "a / b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0134, + "numsharp_ms": 0.0623, + "ratio": 0.215, + "pct_numpy": 465.8, + "status": "slower" + }, + { + "operation": "a / scalar (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0123, + "numsharp_ms": 0.0595, + "ratio": 0.207, + "pct_numpy": 483.6, + "status": "slower" + }, + { + "operation": "scalar / a (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0127, + "numsharp_ms": 0.0612, + "ratio": 0.207, + "pct_numpy": 483.1, + "status": "slower" + }, + { + "operation": "a % b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float32", + "n": 100000, + "numpy_ms": 1.5318, + "numsharp_ms": 1.5713, + "ratio": 0.975, + "pct_numpy": 102.6, + "status": "close" + }, + { + "operation": "a % 7 (literal) (float32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float32", + "n": 100000, + "numpy_ms": 1.6323, + "numsharp_ms": 1.8289, + "ratio": 0.892, + "pct_numpy": 112.0, + "status": "close" + }, + { + "operation": "a + b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.1183, + "ratio": 0.242, + "pct_numpy": 412.6, + "status": "slower" + }, + { + "operation": "np.add(a, b) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.1135, + "ratio": 0.253, + "pct_numpy": 395.9, + "status": "slower" + }, + { + "operation": "a + scalar (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0116, + "numsharp_ms": 0.1045, + "ratio": 0.111, + "pct_numpy": 902.3, + "status": "much_slower" + }, + { + "operation": "a + 5 (literal) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0117, + "numsharp_ms": 0.1033, + "ratio": 0.113, + "pct_numpy": 883.5, + "status": "much_slower" + }, + { + "operation": "a - b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0331, + "numsharp_ms": 0.1072, + "ratio": 0.309, + "pct_numpy": 324.1, + "status": "slower" + }, + { + "operation": "a - scalar (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0118, + "numsharp_ms": 0.0691, + "ratio": 0.171, + "pct_numpy": 586.3, + "status": "much_slower" + }, + { + "operation": "scalar - a (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0138, + "numsharp_ms": 0.0582, + "ratio": 0.237, + "pct_numpy": 421.5, + "status": "slower" + }, + { + "operation": "a * b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0274, + "numsharp_ms": 0.103, + "ratio": 0.266, + "pct_numpy": 376.1, + "status": "slower" + }, + { + "operation": "a * a (square) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0113, + "numsharp_ms": 0.0977, + "ratio": 0.116, + "pct_numpy": 863.4, + "status": "much_slower" + }, + { + "operation": "a * scalar (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0117, + "numsharp_ms": 0.0999, + "ratio": 0.117, + "pct_numpy": 856.6, + "status": "much_slower" + }, + { + "operation": "a * 2 (literal) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0119, + "numsharp_ms": 0.1056, + "ratio": 0.113, + "pct_numpy": 886.8, + "status": "much_slower" + }, + { + "operation": "a / b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0382, + "numsharp_ms": 0.1801, + "ratio": 0.212, + "pct_numpy": 471.5, + "status": "slower" + }, + { + "operation": "a / scalar (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0372, + "numsharp_ms": 0.1696, + "ratio": 0.22, + "pct_numpy": 455.5, + "status": "slower" + }, + { + "operation": "scalar / a (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0372, + "numsharp_ms": 0.1857, + "ratio": 0.2, + "pct_numpy": 498.9, + "status": "slower" + }, + { + "operation": "a % b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float64", + "n": 100000, + "numpy_ms": 1.2891, + "numsharp_ms": 1.3568, + "ratio": 0.95, + "pct_numpy": 105.3, + "status": "close" + }, + { + "operation": "a % 7 (literal) (float64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float64", + "n": 100000, + "numpy_ms": 1.4461, + "numsharp_ms": 1.6302, + "ratio": 0.887, + "pct_numpy": 112.7, + "status": "close" + }, + { + "operation": "a + b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3515, + "numsharp_ms": 0.4716, + "ratio": 0.745, + "pct_numpy": 134.2, + "status": "close" + }, + { + "operation": "np.add(a, b) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3569, + "numsharp_ms": 0.4892, + "ratio": 0.729, + "pct_numpy": 137.1, + "status": "close" + }, + { + "operation": "a + scalar (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3392, + "numsharp_ms": 0.3087, + "ratio": 1.099, + "pct_numpy": 91.0, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3558, + "numsharp_ms": 0.3115, + "ratio": 1.142, + "pct_numpy": 87.5, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3505, + "numsharp_ms": 0.261, + "ratio": 1.343, + "pct_numpy": 74.5, + "status": "faster" + }, + { + "operation": "a - scalar (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3509, + "numsharp_ms": 0.2223, + "ratio": 1.579, + "pct_numpy": 63.4, + "status": "faster" + }, + { + "operation": "scalar - a (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3545, + "numsharp_ms": 0.221, + "ratio": 1.604, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3579, + "numsharp_ms": 0.4442, + "ratio": 0.806, + "pct_numpy": 124.1, + "status": "close" + }, + { + "operation": "a * a (square) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3485, + "numsharp_ms": 0.4268, + "ratio": 0.817, + "pct_numpy": 122.5, + "status": "close" + }, + { + "operation": "a * scalar (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3458, + "numsharp_ms": 0.3076, + "ratio": 1.124, + "pct_numpy": 89.0, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3633, + "numsharp_ms": 0.3155, + "ratio": 1.152, + "pct_numpy": 86.8, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.9889, + "numsharp_ms": 3.3759, + "ratio": 1.478, + "pct_numpy": 67.7, + "status": "faster" + }, + { + "operation": "np.add(a, b) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.7543, + "numsharp_ms": 3.2277, + "ratio": 1.473, + "pct_numpy": 67.9, + "status": "faster" + }, + { + "operation": "a + scalar (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.4127, + "numsharp_ms": 1.9329, + "ratio": 2.283, + "pct_numpy": 43.8, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (uint8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.1679, + "numsharp_ms": 1.9455, + "ratio": 2.142, + "pct_numpy": 46.7, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 5.0513, + "numsharp_ms": 1.6363, + "ratio": 3.087, + "pct_numpy": 32.4, + "status": "faster" + }, + { + "operation": "a - scalar (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.1241, + "numsharp_ms": 1.3972, + "ratio": 2.952, + "pct_numpy": 33.9, + "status": "faster" + }, + { + "operation": "scalar - a (uint8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.0556, + "numsharp_ms": 1.405, + "ratio": 2.886, + "pct_numpy": 34.6, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.5011, + "numsharp_ms": 3.6771, + "ratio": 1.224, + "pct_numpy": 81.7, + "status": "faster" + }, + { + "operation": "a * a (square) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.8089, + "numsharp_ms": 2.8618, + "ratio": 1.68, + "pct_numpy": 59.5, + "status": "faster" + }, + { + "operation": "a * scalar (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.0195, + "numsharp_ms": 2.0901, + "ratio": 1.923, + "pct_numpy": 52.0, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (uint8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.1643, + "numsharp_ms": 2.1224, + "ratio": 1.962, + "pct_numpy": 51.0, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.7377, + "numsharp_ms": 3.2841, + "ratio": 1.443, + "pct_numpy": 69.3, + "status": "faster" + }, + { + "operation": "np.add(a, b) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.836, + "numsharp_ms": 3.1341, + "ratio": 1.543, + "pct_numpy": 64.8, + "status": "faster" + }, + { + "operation": "a + scalar (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.2152, + "numsharp_ms": 1.9671, + "ratio": 2.143, + "pct_numpy": 46.7, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (int8)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.1932, + "numsharp_ms": 1.9965, + "ratio": 2.1, + "pct_numpy": 47.6, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.7577, + "numsharp_ms": 1.7145, + "ratio": 2.775, + "pct_numpy": 36.0, + "status": "faster" + }, + { + "operation": "a - scalar (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.4975, + "numsharp_ms": 1.3821, + "ratio": 3.254, + "pct_numpy": 30.7, + "status": "faster" + }, + { + "operation": "scalar - a (int8)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.5431, + "numsharp_ms": 1.3785, + "ratio": 3.296, + "pct_numpy": 30.3, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 5.3373, + "numsharp_ms": 3.6339, + "ratio": 1.469, + "pct_numpy": 68.1, + "status": "faster" + }, + { + "operation": "a * a (square) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.4945, + "numsharp_ms": 2.8519, + "ratio": 1.576, + "pct_numpy": 63.5, + "status": "faster" + }, + { + "operation": "a * scalar (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.761, + "numsharp_ms": 2.0651, + "ratio": 1.821, + "pct_numpy": 54.9, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (int8)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.7464, + "numsharp_ms": 2.1072, + "ratio": 1.778, + "pct_numpy": 56.2, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.6408, + "numsharp_ms": 7.1288, + "ratio": 1.072, + "pct_numpy": 93.3, + "status": "faster" + }, + { + "operation": "np.add(a, b) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.832, + "numsharp_ms": 7.1303, + "ratio": 1.098, + "pct_numpy": 91.0, + "status": "faster" + }, + { + "operation": "a + scalar (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.1782, + "numsharp_ms": 4.4382, + "ratio": 1.617, + "pct_numpy": 61.8, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (int16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 6.8921, + "numsharp_ms": 4.3178, + "ratio": 1.596, + "pct_numpy": 62.6, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.8362, + "numsharp_ms": 3.1173, + "ratio": 2.514, + "pct_numpy": 39.8, + "status": "faster" + }, + { + "operation": "a - scalar (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.1495, + "numsharp_ms": 2.733, + "ratio": 2.616, + "pct_numpy": 38.2, + "status": "faster" + }, + { + "operation": "scalar - a (int16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.1811, + "numsharp_ms": 2.7354, + "ratio": 2.625, + "pct_numpy": 38.1, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.7338, + "numsharp_ms": 6.8196, + "ratio": 1.134, + "pct_numpy": 88.2, + "status": "faster" + }, + { + "operation": "a * a (square) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.2866, + "numsharp_ms": 5.2338, + "ratio": 1.392, + "pct_numpy": 71.8, + "status": "faster" + }, + { + "operation": "a * scalar (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 7.0592, + "numsharp_ms": 4.6609, + "ratio": 1.515, + "pct_numpy": 66.0, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (int16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 6.0238, + "numsharp_ms": 4.4309, + "ratio": 1.359, + "pct_numpy": 73.6, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 7.7579, + "numsharp_ms": 7.1286, + "ratio": 1.088, + "pct_numpy": 91.9, + "status": "faster" + }, + { + "operation": "np.add(a, b) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 8.1075, + "numsharp_ms": 6.835, + "ratio": 1.186, + "pct_numpy": 84.3, + "status": "faster" + }, + { + "operation": "a + scalar (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 6.9794, + "numsharp_ms": 4.3583, + "ratio": 1.601, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (uint16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 6.9032, + "numsharp_ms": 4.253, + "ratio": 1.623, + "pct_numpy": 61.6, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 8.2884, + "numsharp_ms": 3.1096, + "ratio": 2.665, + "pct_numpy": 37.5, + "status": "faster" + }, + { + "operation": "a - scalar (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 6.7651, + "numsharp_ms": 2.6065, + "ratio": 2.596, + "pct_numpy": 38.5, + "status": "faster" + }, + { + "operation": "scalar - a (uint16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 7.1706, + "numsharp_ms": 2.6431, + "ratio": 2.713, + "pct_numpy": 36.9, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 7.7433, + "numsharp_ms": 6.7987, + "ratio": 1.139, + "pct_numpy": 87.8, + "status": "faster" + }, + { + "operation": "a * a (square) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 7.9808, + "numsharp_ms": 5.3188, + "ratio": 1.5, + "pct_numpy": 66.6, + "status": "faster" + }, + { + "operation": "a * scalar (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 7.0635, + "numsharp_ms": 4.6785, + "ratio": 1.51, + "pct_numpy": 66.2, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (uint16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 6.6073, + "numsharp_ms": 4.8579, + "ratio": 1.36, + "pct_numpy": 73.5, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 13.4533, + "numsharp_ms": 10.0724, + "ratio": 1.336, + "pct_numpy": 74.9, + "status": "faster" + }, + { + "operation": "np.add(a, b) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 14.4326, + "numsharp_ms": 12.7485, + "ratio": 1.132, + "pct_numpy": 88.3, + "status": "faster" + }, + { + "operation": "a + scalar (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 12.6205, + "numsharp_ms": 8.3589, + "ratio": 1.51, + "pct_numpy": 66.2, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (int32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 12.6603, + "numsharp_ms": 8.4146, + "ratio": 1.505, + "pct_numpy": 66.5, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 13.781, + "numsharp_ms": 6.3717, + "ratio": 2.163, + "pct_numpy": 46.2, + "status": "faster" + }, + { + "operation": "a - scalar (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 13.2645, + "numsharp_ms": 5.2875, + "ratio": 2.509, + "pct_numpy": 39.9, + "status": "faster" + }, + { + "operation": "scalar - a (int32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 13.3685, + "numsharp_ms": 5.4031, + "ratio": 2.474, + "pct_numpy": 40.4, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 13.0207, + "numsharp_ms": 10.9911, + "ratio": 1.185, + "pct_numpy": 84.4, + "status": "faster" + }, + { + "operation": "a * a (square) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 12.7934, + "numsharp_ms": 7.8908, + "ratio": 1.621, + "pct_numpy": 61.7, + "status": "faster" + }, + { + "operation": "a * scalar (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 12.6141, + "numsharp_ms": 9.136, + "ratio": 1.381, + "pct_numpy": 72.4, + "status": "faster" + }, + { + "operation": "a * 2 (literal) (int32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 12.3132, + "numsharp_ms": 7.7215, + "ratio": 1.595, + "pct_numpy": 62.7, + "status": "faster" + }, + { + "operation": "a / b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 31.1185, + "numsharp_ms": 23.9718, + "ratio": 1.298, + "pct_numpy": 77.0, + "status": "faster" + }, + { + "operation": "a / scalar (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 26.4799, + "numsharp_ms": 23.0389, + "ratio": 1.149, + "pct_numpy": 87.0, + "status": "faster" + }, + { + "operation": "scalar / a (int32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 22.0961, + "numsharp_ms": 25.4827, + "ratio": 0.867, + "pct_numpy": 115.3, + "status": "close" + }, + { + "operation": "a % b (element-wise) (int32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 47.9091, + "numsharp_ms": 58.8577, + "ratio": 0.814, + "pct_numpy": 122.9, + "status": "close" + }, + { + "operation": "a % 7 (literal) (int32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 49.0203, + "numsharp_ms": 66.9383, + "ratio": 0.732, + "pct_numpy": 136.6, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 13.4492, + "numsharp_ms": 9.8607, + "ratio": 1.364, + "pct_numpy": 73.3, + "status": "faster" + }, + { + "operation": "np.add(a, b) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 10.4639, + "numsharp_ms": 9.8564, + "ratio": 1.062, + "pct_numpy": 94.2, + "status": "faster" + }, + { + "operation": "a + scalar (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 10.8927, + "numsharp_ms": 8.4266, + "ratio": 1.293, + "pct_numpy": 77.4, + "status": "faster" + }, + { + "operation": "a + 5 (literal) (uint32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 10.0916, + "numsharp_ms": 8.5435, + "ratio": 1.181, + "pct_numpy": 84.7, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 10.854, + "numsharp_ms": 6.0006, + "ratio": 1.809, + "pct_numpy": 55.3, + "status": "faster" + }, + { + "operation": "a - scalar (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 10.2434, + "numsharp_ms": 5.3189, + "ratio": 1.926, + "pct_numpy": 51.9, + "status": "faster" + }, + { + "operation": "scalar - a (uint32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 9.9808, + "numsharp_ms": 5.3724, + "ratio": 1.858, + "pct_numpy": 53.8, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 9.8085, + "numsharp_ms": 11.0138, + "ratio": 0.891, + "pct_numpy": 112.3, + "status": "close" + }, + { + "operation": "a * a (square) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 7.9914, + "numsharp_ms": 8.4603, + "ratio": 0.945, + "pct_numpy": 105.9, + "status": "close" + }, + { + "operation": "a * scalar (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 7.8165, + "numsharp_ms": 9.237, + "ratio": 0.846, + "pct_numpy": 118.2, + "status": "close" + }, + { + "operation": "a * 2 (literal) (uint32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 7.893, + "numsharp_ms": 7.6778, + "ratio": 1.028, + "pct_numpy": 97.3, + "status": "faster" + }, + { + "operation": "a + b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 16.9982, + "numsharp_ms": 32.1148, + "ratio": 0.529, + "pct_numpy": 188.9, + "status": "close" + }, + { + "operation": "np.add(a, b) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 17.0171, + "numsharp_ms": 34.3239, + "ratio": 0.496, + "pct_numpy": 201.7, + "status": "slower" + }, + { + "operation": "a + scalar (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 14.8466, + "numsharp_ms": 19.9072, + "ratio": 0.746, + "pct_numpy": 134.1, + "status": "close" + }, + { + "operation": "a + 5 (literal) (int64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.3142, + "numsharp_ms": 19.352, + "ratio": 0.791, + "pct_numpy": 126.4, + "status": "close" + }, + { + "operation": "a - b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 16.8594, + "numsharp_ms": 20.7569, + "ratio": 0.812, + "pct_numpy": 123.1, + "status": "close" + }, + { + "operation": "a - scalar (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.1015, + "numsharp_ms": 14.457, + "ratio": 1.045, + "pct_numpy": 95.7, + "status": "faster" + }, + { + "operation": "scalar - a (int64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.5954, + "numsharp_ms": 14.9929, + "ratio": 1.04, + "pct_numpy": 96.1, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 17.0533, + "numsharp_ms": 38.5984, + "ratio": 0.442, + "pct_numpy": 226.3, + "status": "slower" + }, + { + "operation": "a * a (square) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.6967, + "numsharp_ms": 30.4188, + "ratio": 0.516, + "pct_numpy": 193.8, + "status": "close" + }, + { + "operation": "a * scalar (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.4341, + "numsharp_ms": 31.3975, + "ratio": 0.492, + "pct_numpy": 203.4, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (int64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 16.453, + "numsharp_ms": 31.0792, + "ratio": 0.529, + "pct_numpy": 188.9, + "status": "close" + }, + { + "operation": "a / b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 24.7535, + "numsharp_ms": 40.7339, + "ratio": 0.608, + "pct_numpy": 164.6, + "status": "close" + }, + { + "operation": "a / scalar (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 20.5211, + "numsharp_ms": 29.8992, + "ratio": 0.686, + "pct_numpy": 145.7, + "status": "close" + }, + { + "operation": "scalar / a (int64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 19.6435, + "numsharp_ms": 30.8085, + "ratio": 0.638, + "pct_numpy": 156.8, + "status": "close" + }, + { + "operation": "a % b (element-wise) (int64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 49.5215, + "numsharp_ms": 66.8191, + "ratio": 0.741, + "pct_numpy": 134.9, + "status": "close" + }, + { + "operation": "a % 7 (literal) (int64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 50.7135, + "numsharp_ms": 75.8665, + "ratio": 0.668, + "pct_numpy": 149.6, + "status": "close" + }, + { + "operation": "a + b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 17.2194, + "numsharp_ms": 35.4223, + "ratio": 0.486, + "pct_numpy": 205.7, + "status": "slower" + }, + { + "operation": "np.add(a, b) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 16.7988, + "numsharp_ms": 34.5621, + "ratio": 0.486, + "pct_numpy": 205.7, + "status": "slower" + }, + { + "operation": "a + scalar (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.0579, + "numsharp_ms": 20.0299, + "ratio": 0.752, + "pct_numpy": 133.0, + "status": "close" + }, + { + "operation": "a + 5 (literal) (uint64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.2161, + "numsharp_ms": 20.0614, + "ratio": 0.758, + "pct_numpy": 131.8, + "status": "close" + }, + { + "operation": "a - b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 16.7811, + "numsharp_ms": 20.9601, + "ratio": 0.801, + "pct_numpy": 124.9, + "status": "close" + }, + { + "operation": "a - scalar (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.1815, + "numsharp_ms": 14.5668, + "ratio": 1.042, + "pct_numpy": 96.0, + "status": "faster" + }, + { + "operation": "scalar - a (uint64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 14.8288, + "numsharp_ms": 14.8342, + "ratio": 1.0, + "pct_numpy": 100.0, + "status": "close" + }, + { + "operation": "a * b (element-wise) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 16.9583, + "numsharp_ms": 37.9021, + "ratio": 0.447, + "pct_numpy": 223.5, + "status": "slower" + }, + { + "operation": "a * a (square) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.1757, + "numsharp_ms": 29.8093, + "ratio": 0.509, + "pct_numpy": 196.4, + "status": "close" + }, + { + "operation": "a * scalar (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.1079, + "numsharp_ms": 30.057, + "ratio": 0.503, + "pct_numpy": 198.9, + "status": "close" + }, + { + "operation": "a * 2 (literal) (uint64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.0621, + "numsharp_ms": 29.8983, + "ratio": 0.504, + "pct_numpy": 198.5, + "status": "close" + }, + { + "operation": "a + b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.3075, + "numsharp_ms": 87.5987, + "ratio": 0.357, + "pct_numpy": 279.8, + "status": "slower" + }, + { + "operation": "np.add(a, b) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.2511, + "numsharp_ms": 85.9844, + "ratio": 0.363, + "pct_numpy": 275.1, + "status": "slower" + }, + { + "operation": "a + scalar (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 30.8505, + "numsharp_ms": 85.6472, + "ratio": 0.36, + "pct_numpy": 277.6, + "status": "slower" + }, + { + "operation": "a + 5 (literal) (float16)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.0643, + "numsharp_ms": 84.9236, + "ratio": 0.366, + "pct_numpy": 273.4, + "status": "slower" + }, + { + "operation": "a - b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.1711, + "numsharp_ms": 48.4343, + "ratio": 0.644, + "pct_numpy": 155.4, + "status": "close" + }, + { + "operation": "a - scalar (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.0622, + "numsharp_ms": 48.9935, + "ratio": 0.634, + "pct_numpy": 157.7, + "status": "close" + }, + { + "operation": "scalar - a (float16)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.1065, + "numsharp_ms": 47.0491, + "ratio": 0.661, + "pct_numpy": 151.3, + "status": "close" + }, + { + "operation": "a * b (element-wise) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 30.9166, + "numsharp_ms": 88.961, + "ratio": 0.348, + "pct_numpy": 287.7, + "status": "slower" + }, + { + "operation": "a * a (square) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 30.734, + "numsharp_ms": 84.9605, + "ratio": 0.362, + "pct_numpy": 276.4, + "status": "slower" + }, + { + "operation": "a * scalar (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 35.1625, + "numsharp_ms": 88.3826, + "ratio": 0.398, + "pct_numpy": 251.4, + "status": "slower" + }, + { + "operation": "a * 2 (literal) (float16)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.2284, + "numsharp_ms": 86.0293, + "ratio": 0.363, + "pct_numpy": 275.5, + "status": "slower" + }, + { + "operation": "a + b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.7877, + "numsharp_ms": 10.3685, + "ratio": 0.848, + "pct_numpy": 118.0, + "status": "close" + }, + { + "operation": "np.add(a, b) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.6159, + "numsharp_ms": 10.2348, + "ratio": 0.842, + "pct_numpy": 118.8, + "status": "close" + }, + { + "operation": "a + scalar (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.9325, + "numsharp_ms": 8.3761, + "ratio": 0.947, + "pct_numpy": 105.6, + "status": "close" + }, + { + "operation": "a + 5 (literal) (float32)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.0704, + "numsharp_ms": 8.3566, + "ratio": 0.966, + "pct_numpy": 103.5, + "status": "close" + }, + { + "operation": "a - b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.6157, + "numsharp_ms": 5.6899, + "ratio": 1.514, + "pct_numpy": 66.0, + "status": "faster" + }, + { + "operation": "a - scalar (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.0175, + "numsharp_ms": 5.3684, + "ratio": 1.493, + "pct_numpy": 67.0, + "status": "faster" + }, + { + "operation": "scalar - a (float32)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.8766, + "numsharp_ms": 5.3211, + "ratio": 1.48, + "pct_numpy": 67.6, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.4965, + "numsharp_ms": 10.2234, + "ratio": 0.831, + "pct_numpy": 120.3, + "status": "close" + }, + { + "operation": "a * a (square) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.8671, + "numsharp_ms": 8.1233, + "ratio": 0.968, + "pct_numpy": 103.3, + "status": "close" + }, + { + "operation": "a * scalar (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.0629, + "numsharp_ms": 8.9608, + "ratio": 0.9, + "pct_numpy": 111.1, + "status": "close" + }, + { + "operation": "a * 2 (literal) (float32)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.8824, + "numsharp_ms": 9.424, + "ratio": 0.836, + "pct_numpy": 119.6, + "status": "close" + }, + { + "operation": "a / b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.459, + "numsharp_ms": 10.2825, + "ratio": 0.823, + "pct_numpy": 121.6, + "status": "close" + }, + { + "operation": "a / scalar (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.8511, + "numsharp_ms": 8.8399, + "ratio": 0.888, + "pct_numpy": 112.6, + "status": "close" + }, + { + "operation": "scalar / a (float32)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.957, + "numsharp_ms": 7.2244, + "ratio": 1.101, + "pct_numpy": 90.8, + "status": "faster" + }, + { + "operation": "a % b (element-wise) (float32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 156.9058, + "numsharp_ms": 152.7181, + "ratio": 1.027, + "pct_numpy": 97.3, + "status": "faster" + }, + { + "operation": "a % 7 (literal) (float32)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 166.6333, + "numsharp_ms": 176.1757, + "ratio": 0.946, + "pct_numpy": 105.7, + "status": "close" + }, + { + "operation": "a + b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 17.1247, + "numsharp_ms": 32.2672, + "ratio": 0.531, + "pct_numpy": 188.4, + "status": "close" + }, + { + "operation": "np.add(a, b) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 23.3169, + "numsharp_ms": 25.7561, + "ratio": 0.905, + "pct_numpy": 110.5, + "status": "close" + }, + { + "operation": "a + scalar (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.7762, + "numsharp_ms": 20.4638, + "ratio": 0.966, + "pct_numpy": 103.5, + "status": "close" + }, + { + "operation": "a + 5 (literal) (float64)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.9822, + "numsharp_ms": 19.3898, + "ratio": 1.031, + "pct_numpy": 97.0, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 21.1427, + "numsharp_ms": 16.8826, + "ratio": 1.252, + "pct_numpy": 79.9, + "status": "faster" + }, + { + "operation": "a - scalar (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.9346, + "numsharp_ms": 14.0728, + "ratio": 1.417, + "pct_numpy": 70.6, + "status": "faster" + }, + { + "operation": "scalar - a (float64)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 20.1742, + "numsharp_ms": 14.0006, + "ratio": 1.441, + "pct_numpy": 69.4, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 21.0075, + "numsharp_ms": 33.0143, + "ratio": 0.636, + "pct_numpy": 157.2, + "status": "close" + }, + { + "operation": "a * a (square) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.3973, + "numsharp_ms": 20.3482, + "ratio": 0.953, + "pct_numpy": 104.9, + "status": "close" + }, + { + "operation": "a * scalar (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.9081, + "numsharp_ms": 22.8588, + "ratio": 0.871, + "pct_numpy": 114.8, + "status": "close" + }, + { + "operation": "a * 2 (literal) (float64)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 20.035, + "numsharp_ms": 22.1709, + "ratio": 0.904, + "pct_numpy": 110.7, + "status": "close" + }, + { + "operation": "a / b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 20.478, + "numsharp_ms": 25.47, + "ratio": 0.804, + "pct_numpy": 124.4, + "status": "close" + }, + { + "operation": "a / scalar (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.0548, + "numsharp_ms": 23.8037, + "ratio": 0.8, + "pct_numpy": 124.9, + "status": "close" + }, + { + "operation": "scalar / a (float64)", + "suite": "Arithmetic", + "category": "Divide", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.3997, + "numsharp_ms": 22.5621, + "ratio": 0.86, + "pct_numpy": 116.3, + "status": "close" + }, + { + "operation": "a % b (element-wise) (float64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 143.9662, + "numsharp_ms": 145.6373, + "ratio": 0.989, + "pct_numpy": 101.2, + "status": "close" + }, + { + "operation": "a % 7 (literal) (float64)", + "suite": "Arithmetic", + "category": "Modulo", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 159.2176, + "numsharp_ms": 162.5277, + "ratio": 0.98, + "pct_numpy": 102.1, + "status": "close" + }, + { + "operation": "a + b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 42.3859, + "numsharp_ms": 58.161, + "ratio": 0.729, + "pct_numpy": 137.2, + "status": "close" + }, + { + "operation": "np.add(a, b) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 41.8396, + "numsharp_ms": 58.6023, + "ratio": 0.714, + "pct_numpy": 140.1, + "status": "close" + }, + { + "operation": "a + scalar (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 39.4817, + "numsharp_ms": 41.1306, + "ratio": 0.96, + "pct_numpy": 104.2, + "status": "close" + }, + { + "operation": "a + 5 (literal) (complex128)", + "suite": "Arithmetic", + "category": "Add", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 42.7672, + "numsharp_ms": 39.9933, + "ratio": 1.069, + "pct_numpy": 93.5, + "status": "faster" + }, + { + "operation": "a - b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 41.6707, + "numsharp_ms": 35.7057, + "ratio": 1.167, + "pct_numpy": 85.7, + "status": "faster" + }, + { + "operation": "a - scalar (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 39.6368, + "numsharp_ms": 25.162, + "ratio": 1.575, + "pct_numpy": 63.5, + "status": "faster" + }, + { + "operation": "scalar - a (complex128)", + "suite": "Arithmetic", + "category": "Subtract", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 37.5427, + "numsharp_ms": 25.1481, + "ratio": 1.493, + "pct_numpy": 67.0, + "status": "faster" + }, + { + "operation": "a * b (element-wise) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 34.4053, + "numsharp_ms": 73.3371, + "ratio": 0.469, + "pct_numpy": 213.2, + "status": "slower" + }, + { + "operation": "a * a (square) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 30.2303, + "numsharp_ms": 43.0242, + "ratio": 0.703, + "pct_numpy": 142.3, + "status": "close" + }, + { + "operation": "a * scalar (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 30.9297, + "numsharp_ms": 45.1226, + "ratio": 0.685, + "pct_numpy": 145.9, + "status": "close" + }, + { + "operation": "a * 2 (literal) (complex128)", + "suite": "Arithmetic", + "category": "Multiply", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 31.3365, + "numsharp_ms": 57.0611, + "ratio": 0.549, + "pct_numpy": 182.1, + "status": "close" + }, + { + "operation": "np.sqrt (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0046, + "numsharp_ms": 0.0039, + "ratio": 1.176, + "pct_numpy": 85.0, + "status": "faster" + }, + { + "operation": "np.abs (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0015, + "ratio": 0.543, + "pct_numpy": 184.2, + "status": "negligible" + }, + { + "operation": "np.sign (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0014, + "numsharp_ms": 0.0042, + "ratio": 0.33, + "pct_numpy": 303.5, + "status": "slower" + }, + { + "operation": "np.floor (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0051, + "numsharp_ms": 0.0039, + "ratio": 1.301, + "pct_numpy": 76.8, + "status": "faster" + }, + { + "operation": "np.ceil (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.005, + "numsharp_ms": 0.004, + "ratio": 1.259, + "pct_numpy": 79.4, + "status": "faster" + }, + { + "operation": "np.round (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0058, + "numsharp_ms": 0.0046, + "ratio": 1.24, + "pct_numpy": 80.6, + "status": "faster" + }, + { + "operation": "np.exp (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0052, + "numsharp_ms": 0.0066, + "ratio": 0.788, + "pct_numpy": 126.8, + "status": "close" + }, + { + "operation": "np.log (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0049, + "numsharp_ms": 0.0069, + "ratio": 0.71, + "pct_numpy": 140.8, + "status": "close" + }, + { + "operation": "np.log10 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0052, + "numsharp_ms": 0.007, + "ratio": 0.74, + "pct_numpy": 135.1, + "status": "close" + }, + { + "operation": "np.sin (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0057, + "numsharp_ms": 0.008, + "ratio": 0.719, + "pct_numpy": 139.1, + "status": "close" + }, + { + "operation": "np.cos (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0051, + "numsharp_ms": 0.0081, + "ratio": 0.632, + "pct_numpy": 158.2, + "status": "close" + }, + { + "operation": "np.tan (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0045, + "numsharp_ms": 0.0083, + "ratio": 0.546, + "pct_numpy": 183.2, + "status": "close" + }, + { + "operation": "np.exp2 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0047, + "numsharp_ms": 0.0099, + "ratio": 0.477, + "pct_numpy": 209.8, + "status": "slower" + }, + { + "operation": "np.expm1 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0058, + "numsharp_ms": 0.0091, + "ratio": 0.636, + "pct_numpy": 157.2, + "status": "close" + }, + { + "operation": "np.log2 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.005, + "numsharp_ms": 0.007, + "ratio": 0.721, + "pct_numpy": 138.7, + "status": "close" + }, + { + "operation": "np.log1p (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0062, + "numsharp_ms": 0.0086, + "ratio": 0.719, + "pct_numpy": 139.0, + "status": "close" + }, + { + "operation": "np.clip(a, -10, 10) (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0087, + "numsharp_ms": 0.0059, + "ratio": 1.467, + "pct_numpy": 68.2, + "status": "faster" + }, + { + "operation": "np.power(a, 2) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0103, + "numsharp_ms": 0.0054, + "ratio": 1.899, + "pct_numpy": 52.7, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0126, + "numsharp_ms": 0.0176, + "ratio": 0.716, + "pct_numpy": 139.6, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0092, + "numsharp_ms": 0.0057, + "ratio": 1.616, + "pct_numpy": 61.9, + "status": "faster" + }, + { + "operation": "np.sqrt (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0015, + "ratio": 0.42, + "pct_numpy": 238.1, + "status": "negligible" + }, + { + "operation": "np.abs (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0015, + "ratio": 0.343, + "pct_numpy": 291.4, + "status": "negligible" + }, + { + "operation": "np.sign (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0038, + "ratio": 0.295, + "pct_numpy": 339.1, + "status": "slower" + }, + { + "operation": "np.floor (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0015, + "ratio": 0.375, + "pct_numpy": 267.0, + "status": "negligible" + }, + { + "operation": "np.ceil (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0014, + "ratio": 0.38, + "pct_numpy": 263.3, + "status": "negligible" + }, + { + "operation": "np.round (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0015, + "ratio": 0.733, + "pct_numpy": 136.4, + "status": "close" + }, + { + "operation": "np.exp (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0056, + "ratio": 0.186, + "pct_numpy": 538.6, + "status": "much_slower" + }, + { + "operation": "np.log (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0013, + "numsharp_ms": 0.0051, + "ratio": 0.26, + "pct_numpy": 384.0, + "status": "slower" + }, + { + "operation": "np.log10 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0035, + "numsharp_ms": 0.005, + "ratio": 0.697, + "pct_numpy": 143.4, + "status": "close" + }, + { + "operation": "np.sin (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.006, + "numsharp_ms": 0.0038, + "ratio": 1.57, + "pct_numpy": 63.7, + "status": "faster" + }, + { + "operation": "np.cos (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0051, + "numsharp_ms": 0.0038, + "ratio": 1.354, + "pct_numpy": 73.9, + "status": "faster" + }, + { + "operation": "np.tan (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0047, + "numsharp_ms": 0.0038, + "ratio": 1.237, + "pct_numpy": 80.8, + "status": "faster" + }, + { + "operation": "np.exp2 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.01, + "ratio": 0.217, + "pct_numpy": 461.3, + "status": "slower" + }, + { + "operation": "np.expm1 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0032, + "numsharp_ms": 0.0046, + "ratio": 0.705, + "pct_numpy": 141.8, + "status": "close" + }, + { + "operation": "np.log2 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0027, + "numsharp_ms": 0.0052, + "ratio": 0.512, + "pct_numpy": 195.4, + "status": "close" + }, + { + "operation": "np.log1p (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0039, + "numsharp_ms": 0.004, + "ratio": 0.976, + "pct_numpy": 102.4, + "status": "close" + }, + { + "operation": "np.clip(a, -10, 10) (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0064, + "ratio": 0.324, + "pct_numpy": 308.3, + "status": "slower" + }, + { + "operation": "np.power(a, 2) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0017, + "ratio": 1.364, + "pct_numpy": 73.3, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0059, + "numsharp_ms": 0.0082, + "ratio": 0.728, + "pct_numpy": 137.3, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0019, + "ratio": 1.059, + "pct_numpy": 94.5, + "status": "faster" + }, + { + "operation": "np.sqrt (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0012, + "numsharp_ms": 0.0025, + "ratio": 0.468, + "pct_numpy": 213.6, + "status": "slower" + }, + { + "operation": "np.abs (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0028, + "ratio": 0.199, + "pct_numpy": 503.2, + "status": "negligible" + }, + { + "operation": "np.sign (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0047, + "ratio": 0.223, + "pct_numpy": 448.4, + "status": "slower" + }, + { + "operation": "np.floor (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0032, + "ratio": 0.174, + "pct_numpy": 575.1, + "status": "negligible" + }, + { + "operation": "np.ceil (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0014, + "numsharp_ms": 0.0036, + "ratio": 0.371, + "pct_numpy": 269.7, + "status": "slower" + }, + { + "operation": "np.round (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0012, + "numsharp_ms": 0.0024, + "ratio": 0.489, + "pct_numpy": 204.4, + "status": "slower" + }, + { + "operation": "np.exp (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.004, + "ratio": 0.749, + "pct_numpy": 133.5, + "status": "close" + }, + { + "operation": "np.log (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0038, + "ratio": 0.734, + "pct_numpy": 136.2, + "status": "close" + }, + { + "operation": "np.log10 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.004, + "ratio": 0.727, + "pct_numpy": 137.6, + "status": "close" + }, + { + "operation": "np.sin (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0049, + "numsharp_ms": 0.004, + "ratio": 1.215, + "pct_numpy": 82.3, + "status": "faster" + }, + { + "operation": "np.cos (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.005, + "numsharp_ms": 0.004, + "ratio": 1.223, + "pct_numpy": 81.7, + "status": "faster" + }, + { + "operation": "np.tan (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.005, + "numsharp_ms": 0.005, + "ratio": 0.994, + "pct_numpy": 100.6, + "status": "close" + }, + { + "operation": "np.exp2 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0096, + "ratio": 0.257, + "pct_numpy": 388.8, + "status": "slower" + }, + { + "operation": "np.expm1 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0038, + "numsharp_ms": 0.004, + "ratio": 0.947, + "pct_numpy": 105.6, + "status": "close" + }, + { + "operation": "np.log2 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0042, + "numsharp_ms": 0.0044, + "ratio": 0.947, + "pct_numpy": 105.6, + "status": "close" + }, + { + "operation": "np.log1p (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0039, + "numsharp_ms": 0.0033, + "ratio": 1.192, + "pct_numpy": 83.9, + "status": "faster" + }, + { + "operation": "np.clip(a, -10, 10) (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0047, + "ratio": 0.397, + "pct_numpy": 251.8, + "status": "slower" + }, + { + "operation": "np.power(a, 2) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0031, + "ratio": 0.711, + "pct_numpy": 140.6, + "status": "close" + }, + { + "operation": "np.power(a, 3) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.0121, + "ratio": 0.813, + "pct_numpy": 123.1, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0032, + "ratio": 0.552, + "pct_numpy": 181.3, + "status": "close" + }, + { + "operation": "np.cbrt(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0101, + "numsharp_ms": 0.0111, + "ratio": 0.909, + "pct_numpy": 110.0, + "status": "close" + }, + { + "operation": "np.reciprocal(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0036, + "numsharp_ms": 0.0045, + "ratio": 0.789, + "pct_numpy": 126.8, + "status": "close" + }, + { + "operation": "np.square(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0034, + "numsharp_ms": 0.0048, + "ratio": 0.708, + "pct_numpy": 141.3, + "status": "close" + }, + { + "operation": "np.negative(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0014, + "ratio": 0.541, + "pct_numpy": 184.9, + "status": "negligible" + }, + { + "operation": "np.positive(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.001, + "ratio": 0.692, + "pct_numpy": 144.5, + "status": "negligible" + }, + { + "operation": "np.trunc(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0054, + "numsharp_ms": 0.0038, + "ratio": 1.404, + "pct_numpy": 71.2, + "status": "faster" + }, + { + "operation": "np.cbrt(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0066, + "numsharp_ms": 0.006, + "ratio": 1.102, + "pct_numpy": 90.8, + "status": "faster" + }, + { + "operation": "np.reciprocal(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0014, + "ratio": 0.444, + "pct_numpy": 225.0, + "status": "negligible" + }, + { + "operation": "np.square(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0013, + "ratio": 0.388, + "pct_numpy": 257.5, + "status": "negligible" + }, + { + "operation": "np.negative(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0015, + "ratio": 0.346, + "pct_numpy": 289.1, + "status": "negligible" + }, + { + "operation": "np.positive(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.002, + "ratio": 0.323, + "pct_numpy": 309.7, + "status": "negligible" + }, + { + "operation": "np.trunc(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0016, + "ratio": 0.345, + "pct_numpy": 289.7, + "status": "negligible" + }, + { + "operation": "np.cbrt(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.0093, + "ratio": 1.051, + "pct_numpy": 95.1, + "status": "faster" + }, + { + "operation": "np.reciprocal(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.422, + "pct_numpy": 237.1, + "status": "negligible" + }, + { + "operation": "np.square(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.003, + "ratio": 0.168, + "pct_numpy": 595.7, + "status": "negligible" + }, + { + "operation": "np.negative(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0036, + "ratio": 0.147, + "pct_numpy": 679.3, + "status": "negligible" + }, + { + "operation": "np.positive(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0028, + "ratio": 0.244, + "pct_numpy": 409.2, + "status": "negligible" + }, + { + "operation": "np.trunc(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.002, + "ratio": 0.268, + "pct_numpy": 373.3, + "status": "negligible" + }, + { + "operation": "np.sqrt (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4264, + "numsharp_ms": 0.3413, + "ratio": 1.249, + "pct_numpy": 80.0, + "status": "faster" + }, + { + "operation": "np.abs (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0264, + "numsharp_ms": 0.0234, + "ratio": 1.127, + "pct_numpy": 88.8, + "status": "faster" + }, + { + "operation": "np.sign (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0887, + "numsharp_ms": 0.6603, + "ratio": 0.134, + "pct_numpy": 744.4, + "status": "much_slower" + }, + { + "operation": "np.floor (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4407, + "numsharp_ms": 0.34, + "ratio": 1.296, + "pct_numpy": 77.2, + "status": "faster" + }, + { + "operation": "np.ceil (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.466, + "numsharp_ms": 0.3448, + "ratio": 1.352, + "pct_numpy": 74.0, + "status": "faster" + }, + { + "operation": "np.round (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4702, + "numsharp_ms": 0.424, + "ratio": 1.109, + "pct_numpy": 90.2, + "status": "faster" + }, + { + "operation": "np.exp (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4392, + "numsharp_ms": 0.6077, + "ratio": 0.723, + "pct_numpy": 138.4, + "status": "close" + }, + { + "operation": "np.log (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4263, + "numsharp_ms": 0.6316, + "ratio": 0.675, + "pct_numpy": 148.2, + "status": "close" + }, + { + "operation": "np.log10 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4465, + "numsharp_ms": 0.6426, + "ratio": 0.695, + "pct_numpy": 143.9, + "status": "close" + }, + { + "operation": "np.sin (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.7108, + "numsharp_ms": 1.1057, + "ratio": 0.643, + "pct_numpy": 155.6, + "status": "close" + }, + { + "operation": "np.cos (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.7102, + "numsharp_ms": 1.1049, + "ratio": 0.643, + "pct_numpy": 155.6, + "status": "close" + }, + { + "operation": "np.tan (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.8245, + "numsharp_ms": 1.112, + "ratio": 0.741, + "pct_numpy": 134.9, + "status": "close" + }, + { + "operation": "np.exp2 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4598, + "numsharp_ms": 0.9896, + "ratio": 0.465, + "pct_numpy": 215.2, + "status": "slower" + }, + { + "operation": "np.expm1 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.5474, + "numsharp_ms": 0.8722, + "ratio": 0.628, + "pct_numpy": 159.3, + "status": "close" + }, + { + "operation": "np.log2 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4545, + "numsharp_ms": 0.6414, + "ratio": 0.709, + "pct_numpy": 141.1, + "status": "close" + }, + { + "operation": "np.log1p (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.5885, + "numsharp_ms": 0.7878, + "ratio": 0.747, + "pct_numpy": 133.9, + "status": "close" + }, + { + "operation": "np.clip(a, -10, 10) (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.9296, + "numsharp_ms": 0.7061, + "ratio": 1.317, + "pct_numpy": 76.0, + "status": "faster" + }, + { + "operation": "np.power(a, 2) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.069, + "numsharp_ms": 0.4762, + "ratio": 2.245, + "pct_numpy": 44.5, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.5343, + "numsharp_ms": 2.4828, + "ratio": 0.618, + "pct_numpy": 161.8, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.8324, + "numsharp_ms": 0.3398, + "ratio": 2.45, + "pct_numpy": 40.8, + "status": "faster" + }, + { + "operation": "np.sqrt (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0149, + "numsharp_ms": 0.0291, + "ratio": 0.514, + "pct_numpy": 194.7, + "status": "close" + }, + { + "operation": "np.abs (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0064, + "numsharp_ms": 0.0352, + "ratio": 0.181, + "pct_numpy": 553.2, + "status": "much_slower" + }, + { + "operation": "np.sign (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.2971, + "numsharp_ms": 0.4006, + "ratio": 0.742, + "pct_numpy": 134.8, + "status": "close" + }, + { + "operation": "np.floor (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0064, + "numsharp_ms": 0.0319, + "ratio": 0.199, + "pct_numpy": 501.4, + "status": "much_slower" + }, + { + "operation": "np.ceil (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0066, + "numsharp_ms": 0.0305, + "ratio": 0.217, + "pct_numpy": 460.2, + "status": "slower" + }, + { + "operation": "np.round (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.007, + "numsharp_ms": 0.0281, + "ratio": 0.248, + "pct_numpy": 403.2, + "status": "slower" + }, + { + "operation": "np.exp (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0553, + "numsharp_ms": 0.1841, + "ratio": 0.301, + "pct_numpy": 332.7, + "status": "slower" + }, + { + "operation": "np.log (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0869, + "numsharp_ms": 0.2148, + "ratio": 0.404, + "pct_numpy": 247.3, + "status": "slower" + }, + { + "operation": "np.log10 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1985, + "numsharp_ms": 0.214, + "ratio": 0.928, + "pct_numpy": 107.8, + "status": "close" + }, + { + "operation": "np.sin (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.7167, + "numsharp_ms": 0.7077, + "ratio": 1.013, + "pct_numpy": 98.7, + "status": "faster" + }, + { + "operation": "np.cos (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.703, + "numsharp_ms": 0.7111, + "ratio": 0.989, + "pct_numpy": 101.2, + "status": "close" + }, + { + "operation": "np.tan (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.8414, + "numsharp_ms": 0.6851, + "ratio": 1.228, + "pct_numpy": 81.4, + "status": "faster" + }, + { + "operation": "np.exp2 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.176, + "numsharp_ms": 0.8987, + "ratio": 0.196, + "pct_numpy": 510.7, + "status": "much_slower" + }, + { + "operation": "np.expm1 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.2728, + "numsharp_ms": 0.1902, + "ratio": 1.434, + "pct_numpy": 69.7, + "status": "faster" + }, + { + "operation": "np.log2 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.2008, + "numsharp_ms": 0.2006, + "ratio": 1.001, + "pct_numpy": 99.9, + "status": "faster" + }, + { + "operation": "np.log1p (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.3058, + "numsharp_ms": 0.2337, + "ratio": 1.309, + "pct_numpy": 76.4, + "status": "faster" + }, + { + "operation": "np.clip(a, -10, 10) (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0082, + "numsharp_ms": 0.0345, + "ratio": 0.238, + "pct_numpy": 420.8, + "status": "slower" + }, + { + "operation": "np.power(a, 2) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1544, + "numsharp_ms": 0.0283, + "ratio": 5.46, + "pct_numpy": 18.3, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.6578, + "numsharp_ms": 0.678, + "ratio": 0.97, + "pct_numpy": 103.1, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1267, + "numsharp_ms": 0.0285, + "ratio": 4.448, + "pct_numpy": 22.5, + "status": "faster" + }, + { + "operation": "np.sqrt (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0557, + "numsharp_ms": 0.0656, + "ratio": 0.848, + "pct_numpy": 117.9, + "status": "close" + }, + { + "operation": "np.abs (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0112, + "numsharp_ms": 0.0686, + "ratio": 0.163, + "pct_numpy": 612.2, + "status": "much_slower" + }, + { + "operation": "np.sign (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.2936, + "numsharp_ms": 0.4, + "ratio": 0.734, + "pct_numpy": 136.2, + "status": "close" + }, + { + "operation": "np.floor (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0151, + "numsharp_ms": 0.0632, + "ratio": 0.239, + "pct_numpy": 419.2, + "status": "slower" + }, + { + "operation": "np.ceil (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.012, + "numsharp_ms": 0.0606, + "ratio": 0.199, + "pct_numpy": 503.3, + "status": "much_slower" + }, + { + "operation": "np.round (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0128, + "numsharp_ms": 0.0572, + "ratio": 0.224, + "pct_numpy": 446.7, + "status": "slower" + }, + { + "operation": "np.exp (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.2581, + "numsharp_ms": 0.2792, + "ratio": 0.925, + "pct_numpy": 108.2, + "status": "close" + }, + { + "operation": "np.log (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.2424, + "numsharp_ms": 0.2668, + "ratio": 0.908, + "pct_numpy": 110.1, + "status": "close" + }, + { + "operation": "np.log10 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.2625, + "numsharp_ms": 0.2698, + "ratio": 0.973, + "pct_numpy": 102.8, + "status": "close" + }, + { + "operation": "np.sin (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.714, + "numsharp_ms": 0.7415, + "ratio": 0.963, + "pct_numpy": 103.8, + "status": "close" + }, + { + "operation": "np.cos (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.699, + "numsharp_ms": 0.7313, + "ratio": 0.956, + "pct_numpy": 104.6, + "status": "close" + }, + { + "operation": "np.tan (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.8055, + "numsharp_ms": 0.8447, + "ratio": 0.954, + "pct_numpy": 104.9, + "status": "close" + }, + { + "operation": "np.exp2 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.2137, + "numsharp_ms": 0.8559, + "ratio": 0.25, + "pct_numpy": 400.4, + "status": "slower" + }, + { + "operation": "np.expm1 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.359, + "numsharp_ms": 0.2864, + "ratio": 1.254, + "pct_numpy": 79.8, + "status": "faster" + }, + { + "operation": "np.log2 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.3739, + "numsharp_ms": 0.3882, + "ratio": 0.963, + "pct_numpy": 103.8, + "status": "close" + }, + { + "operation": "np.log1p (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.3412, + "numsharp_ms": 0.2752, + "ratio": 1.24, + "pct_numpy": 80.7, + "status": "faster" + }, + { + "operation": "np.clip(a, -10, 10) (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0166, + "numsharp_ms": 0.07, + "ratio": 0.238, + "pct_numpy": 420.7, + "status": "slower" + }, + { + "operation": "np.power(a, 2) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1542, + "numsharp_ms": 0.059, + "ratio": 2.615, + "pct_numpy": 38.2, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 100000, + "numpy_ms": 1.0724, + "numsharp_ms": 1.0959, + "ratio": 0.978, + "pct_numpy": 102.2, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1231, + "numsharp_ms": 0.0638, + "ratio": 1.93, + "pct_numpy": 51.8, + "status": "faster" + }, + { + "operation": "np.cbrt(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.1991, + "numsharp_ms": 1.3766, + "ratio": 0.871, + "pct_numpy": 114.8, + "status": "close" + }, + { + "operation": "np.reciprocal(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.2193, + "numsharp_ms": 0.408, + "ratio": 0.538, + "pct_numpy": 186.0, + "status": "close" + }, + { + "operation": "np.square(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.2122, + "numsharp_ms": 0.4399, + "ratio": 0.483, + "pct_numpy": 207.2, + "status": "slower" + }, + { + "operation": "np.negative(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0278, + "numsharp_ms": 0.0234, + "ratio": 1.187, + "pct_numpy": 84.3, + "status": "faster" + }, + { + "operation": "np.positive(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0217, + "numsharp_ms": 0.013, + "ratio": 1.667, + "pct_numpy": 60.0, + "status": "faster" + }, + { + "operation": "np.trunc(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4827, + "numsharp_ms": 0.3346, + "ratio": 1.443, + "pct_numpy": 69.3, + "status": "faster" + }, + { + "operation": "np.cbrt(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.8943, + "numsharp_ms": 0.8882, + "ratio": 1.007, + "pct_numpy": 99.3, + "status": "faster" + }, + { + "operation": "np.reciprocal(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0143, + "numsharp_ms": 0.0263, + "ratio": 0.543, + "pct_numpy": 184.3, + "status": "close" + }, + { + "operation": "np.square(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0058, + "numsharp_ms": 0.0262, + "ratio": 0.223, + "pct_numpy": 448.0, + "status": "slower" + }, + { + "operation": "np.negative(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0066, + "numsharp_ms": 0.0261, + "ratio": 0.254, + "pct_numpy": 393.7, + "status": "slower" + }, + { + "operation": "np.positive(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0194, + "numsharp_ms": 0.025, + "ratio": 0.775, + "pct_numpy": 129.0, + "status": "close" + }, + { + "operation": "np.trunc(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0058, + "numsharp_ms": 0.0257, + "ratio": 0.224, + "pct_numpy": 445.4, + "status": "slower" + }, + { + "operation": "np.cbrt(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 100000, + "numpy_ms": 1.097, + "numsharp_ms": 1.0793, + "ratio": 1.016, + "pct_numpy": 98.4, + "status": "faster" + }, + { + "operation": "np.reciprocal(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0421, + "numsharp_ms": 0.0535, + "ratio": 0.787, + "pct_numpy": 127.1, + "status": "close" + }, + { + "operation": "np.square(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0122, + "numsharp_ms": 0.0533, + "ratio": 0.229, + "pct_numpy": 436.4, + "status": "slower" + }, + { + "operation": "np.negative(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0121, + "numsharp_ms": 0.0539, + "ratio": 0.224, + "pct_numpy": 447.3, + "status": "slower" + }, + { + "operation": "np.positive(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0206, + "numsharp_ms": 0.052, + "ratio": 0.397, + "pct_numpy": 251.9, + "status": "slower" + }, + { + "operation": "np.trunc(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0115, + "numsharp_ms": 0.0513, + "ratio": 0.224, + "pct_numpy": 445.7, + "status": "slower" + }, + { + "operation": "np.sqrt (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 40.8006, + "numsharp_ms": 33.6967, + "ratio": 1.211, + "pct_numpy": 82.6, + "status": "faster" + }, + { + "operation": "np.abs (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 4.7982, + "numsharp_ms": 2.9688, + "ratio": 1.616, + "pct_numpy": 61.9, + "status": "faster" + }, + { + "operation": "np.sign (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 10.5588, + "numsharp_ms": 63.8912, + "ratio": 0.165, + "pct_numpy": 605.1, + "status": "much_slower" + }, + { + "operation": "np.floor (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 43.3912, + "numsharp_ms": 33.7248, + "ratio": 1.287, + "pct_numpy": 77.7, + "status": "faster" + }, + { + "operation": "np.ceil (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 43.5339, + "numsharp_ms": 33.7644, + "ratio": 1.289, + "pct_numpy": 77.6, + "status": "faster" + }, + { + "operation": "np.round (float16)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 42.8027, + "numsharp_ms": 40.9331, + "ratio": 1.046, + "pct_numpy": 95.6, + "status": "faster" + }, + { + "operation": "np.exp (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 44.3829, + "numsharp_ms": 58.6632, + "ratio": 0.757, + "pct_numpy": 132.2, + "status": "close" + }, + { + "operation": "np.log (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 46.0282, + "numsharp_ms": 63.6713, + "ratio": 0.723, + "pct_numpy": 138.3, + "status": "close" + }, + { + "operation": "np.log10 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 47.8418, + "numsharp_ms": 62.9499, + "ratio": 0.76, + "pct_numpy": 131.6, + "status": "close" + }, + { + "operation": "np.sin (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 79.6291, + "numsharp_ms": 110.416, + "ratio": 0.721, + "pct_numpy": 138.7, + "status": "close" + }, + { + "operation": "np.cos (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 80.1757, + "numsharp_ms": 109.6838, + "ratio": 0.731, + "pct_numpy": 136.8, + "status": "close" + }, + { + "operation": "np.tan (float16)", + "suite": "Unary", + "category": "Trig", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 92.5062, + "numsharp_ms": 110.2014, + "ratio": 0.839, + "pct_numpy": 119.1, + "status": "close" + }, + { + "operation": "np.exp2 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 48.1931, + "numsharp_ms": 97.0656, + "ratio": 0.496, + "pct_numpy": 201.4, + "status": "slower" + }, + { + "operation": "np.expm1 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 55.0439, + "numsharp_ms": 85.4215, + "ratio": 0.644, + "pct_numpy": 155.2, + "status": "close" + }, + { + "operation": "np.log2 (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 48.9339, + "numsharp_ms": 62.7084, + "ratio": 0.78, + "pct_numpy": 128.1, + "status": "close" + }, + { + "operation": "np.log1p (float16)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 60.5869, + "numsharp_ms": 77.8953, + "ratio": 0.778, + "pct_numpy": 128.6, + "status": "close" + }, + { + "operation": "np.clip(a, -10, 10) (float16)", + "suite": "Unary", + "category": "Math", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 93.7915, + "numsharp_ms": 68.7791, + "ratio": 1.364, + "pct_numpy": 73.3, + "status": "faster" + }, + { + "operation": "np.power(a, 2) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 106.8632, + "numsharp_ms": 46.7294, + "ratio": 2.287, + "pct_numpy": 43.7, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 150.3564, + "numsharp_ms": 250.3069, + "ratio": 0.601, + "pct_numpy": 166.5, + "status": "close" + }, + { + "operation": "np.power(a, 0.5) (float16)", + "suite": "Unary", + "category": "Power", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 84.2019, + "numsharp_ms": 32.9557, + "ratio": 2.555, + "pct_numpy": 39.1, + "status": "faster" + }, + { + "operation": "np.sqrt (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.0955, + "numsharp_ms": 4.2557, + "ratio": 1.667, + "pct_numpy": 60.0, + "status": "faster" + }, + { + "operation": "np.abs (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.1189, + "numsharp_ms": 4.2161, + "ratio": 1.689, + "pct_numpy": 59.2, + "status": "faster" + }, + { + "operation": "np.sign (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 36.0421, + "numsharp_ms": 39.7051, + "ratio": 0.908, + "pct_numpy": 110.2, + "status": "close" + }, + { + "operation": "np.floor (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.303, + "numsharp_ms": 5.1858, + "ratio": 1.408, + "pct_numpy": 71.0, + "status": "faster" + }, + { + "operation": "np.ceil (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.2732, + "numsharp_ms": 4.4002, + "ratio": 1.653, + "pct_numpy": 60.5, + "status": "faster" + }, + { + "operation": "np.round (float32)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.3586, + "numsharp_ms": 4.6823, + "ratio": 1.572, + "pct_numpy": 63.6, + "status": "faster" + }, + { + "operation": "np.exp (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 10.4285, + "numsharp_ms": 17.6747, + "ratio": 0.59, + "pct_numpy": 169.5, + "status": "close" + }, + { + "operation": "np.log (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 13.18, + "numsharp_ms": 20.9525, + "ratio": 0.629, + "pct_numpy": 159.0, + "status": "close" + }, + { + "operation": "np.log10 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 23.5444, + "numsharp_ms": 20.6616, + "ratio": 1.14, + "pct_numpy": 87.8, + "status": "faster" + }, + { + "operation": "np.sin (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 80.7643, + "numsharp_ms": 70.4978, + "ratio": 1.146, + "pct_numpy": 87.3, + "status": "faster" + }, + { + "operation": "np.cos (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 82.6791, + "numsharp_ms": 69.083, + "ratio": 1.197, + "pct_numpy": 83.6, + "status": "faster" + }, + { + "operation": "np.tan (float32)", + "suite": "Unary", + "category": "Trig", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 92.7529, + "numsharp_ms": 67.5651, + "ratio": 1.373, + "pct_numpy": 72.8, + "status": "faster" + }, + { + "operation": "np.exp2 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 22.9673, + "numsharp_ms": 90.4267, + "ratio": 0.254, + "pct_numpy": 393.7, + "status": "slower" + }, + { + "operation": "np.expm1 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 31.7384, + "numsharp_ms": 18.416, + "ratio": 1.723, + "pct_numpy": 58.0, + "status": "faster" + }, + { + "operation": "np.log2 (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 23.4387, + "numsharp_ms": 19.254, + "ratio": 1.217, + "pct_numpy": 82.1, + "status": "faster" + }, + { + "operation": "np.log1p (float32)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 33.3514, + "numsharp_ms": 22.3477, + "ratio": 1.492, + "pct_numpy": 67.0, + "status": "faster" + }, + { + "operation": "np.clip(a, -10, 10) (float32)", + "suite": "Unary", + "category": "Math", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.5158, + "numsharp_ms": 4.14, + "ratio": 1.815, + "pct_numpy": 55.1, + "status": "faster" + }, + { + "operation": "np.power(a, 2) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 18.94, + "numsharp_ms": 4.1649, + "ratio": 4.548, + "pct_numpy": 22.0, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 72.0628, + "numsharp_ms": 66.4589, + "ratio": 1.084, + "pct_numpy": 92.2, + "status": "faster" + }, + { + "operation": "np.power(a, 0.5) (float32)", + "suite": "Unary", + "category": "Power", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 16.0019, + "numsharp_ms": 4.1327, + "ratio": 3.872, + "pct_numpy": 25.8, + "status": "faster" + }, + { + "operation": "np.sqrt (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 15.1785, + "numsharp_ms": 13.7551, + "ratio": 1.103, + "pct_numpy": 90.6, + "status": "faster" + }, + { + "operation": "np.abs (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.6849, + "numsharp_ms": 13.9245, + "ratio": 1.055, + "pct_numpy": 94.8, + "status": "faster" + }, + { + "operation": "np.sign (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 40.6151, + "numsharp_ms": 45.17, + "ratio": 0.899, + "pct_numpy": 111.2, + "status": "close" + }, + { + "operation": "np.floor (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.8331, + "numsharp_ms": 19.622, + "ratio": 0.756, + "pct_numpy": 132.3, + "status": "close" + }, + { + "operation": "np.ceil (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.6298, + "numsharp_ms": 16.0489, + "ratio": 0.912, + "pct_numpy": 109.7, + "status": "close" + }, + { + "operation": "np.round (float64)", + "suite": "Unary", + "category": "Rounding", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 15.0627, + "numsharp_ms": 15.7393, + "ratio": 0.957, + "pct_numpy": 104.5, + "status": "close" + }, + { + "operation": "np.exp (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 33.4427, + "numsharp_ms": 31.7361, + "ratio": 1.054, + "pct_numpy": 94.9, + "status": "faster" + }, + { + "operation": "np.log (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 31.9128, + "numsharp_ms": 30.1149, + "ratio": 1.06, + "pct_numpy": 94.4, + "status": "faster" + }, + { + "operation": "np.log10 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 32.9855, + "numsharp_ms": 30.761, + "ratio": 1.072, + "pct_numpy": 93.3, + "status": "faster" + }, + { + "operation": "np.sin (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 82.056, + "numsharp_ms": 78.2388, + "ratio": 1.049, + "pct_numpy": 95.3, + "status": "faster" + }, + { + "operation": "np.cos (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 81.9906, + "numsharp_ms": 77.371, + "ratio": 1.06, + "pct_numpy": 94.4, + "status": "faster" + }, + { + "operation": "np.tan (float64)", + "suite": "Unary", + "category": "Trig", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 94.5311, + "numsharp_ms": 88.7915, + "ratio": 1.065, + "pct_numpy": 93.9, + "status": "faster" + }, + { + "operation": "np.exp2 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 37.0195, + "numsharp_ms": 90.0413, + "ratio": 0.411, + "pct_numpy": 243.2, + "status": "slower" + }, + { + "operation": "np.expm1 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 47.0453, + "numsharp_ms": 33.2374, + "ratio": 1.415, + "pct_numpy": 70.6, + "status": "faster" + }, + { + "operation": "np.log2 (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 50.1019, + "numsharp_ms": 42.1909, + "ratio": 1.188, + "pct_numpy": 84.2, + "status": "faster" + }, + { + "operation": "np.log1p (float64)", + "suite": "Unary", + "category": "ExpLog", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 48.2083, + "numsharp_ms": 31.5835, + "ratio": 1.526, + "pct_numpy": 65.5, + "status": "faster" + }, + { + "operation": "np.clip(a, -10, 10) (float64)", + "suite": "Unary", + "category": "Math", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 18.6971, + "numsharp_ms": 13.381, + "ratio": 1.397, + "pct_numpy": 71.6, + "status": "faster" + }, + { + "operation": "np.power(a, 2) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 28.4405, + "numsharp_ms": 13.5219, + "ratio": 2.103, + "pct_numpy": 47.5, + "status": "faster" + }, + { + "operation": "np.power(a, 3) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 124.6532, + "numsharp_ms": 111.9286, + "ratio": 1.114, + "pct_numpy": 89.8, + "status": "faster" + }, + { + "operation": "np.power(a, 0.5) (float64)", + "suite": "Unary", + "category": "Power", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 25.4013, + "numsharp_ms": 13.6356, + "ratio": 1.863, + "pct_numpy": 53.7, + "status": "faster" + }, + { + "operation": "np.cbrt(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 121.4253, + "numsharp_ms": 136.3973, + "ratio": 0.89, + "pct_numpy": 112.3, + "status": "close" + }, + { + "operation": "np.reciprocal(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 23.1324, + "numsharp_ms": 40.0357, + "ratio": 0.578, + "pct_numpy": 173.1, + "status": "close" + }, + { + "operation": "np.square(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 23.1199, + "numsharp_ms": 42.7721, + "ratio": 0.541, + "pct_numpy": 185.0, + "status": "close" + }, + { + "operation": "np.negative(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 4.769, + "numsharp_ms": 2.8837, + "ratio": 1.654, + "pct_numpy": 60.5, + "status": "faster" + }, + { + "operation": "np.positive(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 4.2319, + "numsharp_ms": 1.618, + "ratio": 2.616, + "pct_numpy": 38.2, + "status": "faster" + }, + { + "operation": "np.trunc(a) (float16)", + "suite": "Unary", + "category": "Unary", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 42.0396, + "numsharp_ms": 32.4934, + "ratio": 1.294, + "pct_numpy": 77.3, + "status": "faster" + }, + { + "operation": "np.cbrt(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 94.5195, + "numsharp_ms": 86.5058, + "ratio": 1.093, + "pct_numpy": 91.5, + "status": "faster" + }, + { + "operation": "np.reciprocal(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.162, + "numsharp_ms": 4.0578, + "ratio": 1.765, + "pct_numpy": 56.7, + "status": "faster" + }, + { + "operation": "np.square(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.1833, + "numsharp_ms": 4.0587, + "ratio": 1.77, + "pct_numpy": 56.5, + "status": "faster" + }, + { + "operation": "np.negative(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.7826, + "numsharp_ms": 4.1048, + "ratio": 1.896, + "pct_numpy": 52.7, + "status": "faster" + }, + { + "operation": "np.positive(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.762, + "numsharp_ms": 3.3803, + "ratio": 2.296, + "pct_numpy": 43.5, + "status": "faster" + }, + { + "operation": "np.trunc(a) (float32)", + "suite": "Unary", + "category": "Unary", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.1817, + "numsharp_ms": 4.0632, + "ratio": 1.768, + "pct_numpy": 56.6, + "status": "faster" + }, + { + "operation": "np.cbrt(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 115.3869, + "numsharp_ms": 109.5524, + "ratio": 1.053, + "pct_numpy": 94.9, + "status": "faster" + }, + { + "operation": "np.reciprocal(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.7266, + "numsharp_ms": 13.7636, + "ratio": 1.07, + "pct_numpy": 93.5, + "status": "faster" + }, + { + "operation": "np.square(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.9158, + "numsharp_ms": 13.8405, + "ratio": 1.078, + "pct_numpy": 92.8, + "status": "faster" + }, + { + "operation": "np.negative(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 16.0651, + "numsharp_ms": 13.8831, + "ratio": 1.157, + "pct_numpy": 86.4, + "status": "faster" + }, + { + "operation": "np.positive(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 15.1241, + "numsharp_ms": 10.8534, + "ratio": 1.393, + "pct_numpy": 71.8, + "status": "faster" + }, + { + "operation": "np.trunc(a) (float64)", + "suite": "Unary", + "category": "Unary", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.6674, + "numsharp_ms": 13.6305, + "ratio": 1.076, + "pct_numpy": 92.9, + "status": "faster" + }, + { + "operation": "np.sum (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0008, + "ratio": 3.074, + "pct_numpy": 32.5, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0026, + "numsharp_ms": 0.0009, + "ratio": 2.85, + "pct_numpy": 35.1, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0007, + "ratio": 3.806, + "pct_numpy": 26.3, + "status": "negligible" + }, + { + "operation": "np.mean (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0031, + "numsharp_ms": 0.0008, + "ratio": 3.805, + "pct_numpy": 26.3, + "status": "negligible" + }, + { + "operation": "np.amin (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.257, + "pct_numpy": 44.3, + "status": "negligible" + }, + { + "operation": "np.amax (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0008, + "ratio": 2.056, + "pct_numpy": 48.6, + "status": "negligible" + }, + { + "operation": "np.argmin (uint8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.282, + "pct_numpy": 78.0, + "status": "negligible" + }, + { + "operation": "np.argmax (uint8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0013, + "numsharp_ms": 0.0007, + "ratio": 1.948, + "pct_numpy": 51.3, + "status": "negligible" + }, + { + "operation": "np.cumsum (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0019, + "ratio": 1.272, + "pct_numpy": 78.6, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.862, + "pct_numpy": 34.9, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.852, + "pct_numpy": 35.1, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0039, + "numsharp_ms": 0.0007, + "ratio": 5.2, + "pct_numpy": 19.2, + "status": "negligible" + }, + { + "operation": "np.mean axis=1 (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0035, + "numsharp_ms": 0.0008, + "ratio": 4.495, + "pct_numpy": 22.2, + "status": "negligible" + }, + { + "operation": "np.sum (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0008, + "ratio": 2.769, + "pct_numpy": 36.1, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0009, + "ratio": 2.523, + "pct_numpy": 39.6, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0007, + "ratio": 3.539, + "pct_numpy": 28.3, + "status": "negligible" + }, + { + "operation": "np.mean (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0008, + "ratio": 3.578, + "pct_numpy": 27.9, + "status": "negligible" + }, + { + "operation": "np.amin (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0007, + "ratio": 2.3, + "pct_numpy": 43.5, + "status": "negligible" + }, + { + "operation": "np.amax (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.082, + "pct_numpy": 48.0, + "status": "negligible" + }, + { + "operation": "np.argmin (int8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.279, + "pct_numpy": 78.2, + "status": "negligible" + }, + { + "operation": "np.argmax (int8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.254, + "pct_numpy": 79.7, + "status": "negligible" + }, + { + "operation": "np.cumsum (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0017, + "ratio": 1.49, + "pct_numpy": 67.1, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0006, + "ratio": 2.991, + "pct_numpy": 33.4, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.789, + "pct_numpy": 35.9, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0038, + "numsharp_ms": 0.0008, + "ratio": 4.56, + "pct_numpy": 21.9, + "status": "negligible" + }, + { + "operation": "np.mean axis=1 (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0036, + "numsharp_ms": 0.0008, + "ratio": 4.503, + "pct_numpy": 22.2, + "status": "negligible" + }, + { + "operation": "np.sum (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0008, + "ratio": 2.549, + "pct_numpy": 39.2, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0009, + "ratio": 2.701, + "pct_numpy": 37.0, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0007, + "ratio": 3.507, + "pct_numpy": 28.5, + "status": "negligible" + }, + { + "operation": "np.mean (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0031, + "numsharp_ms": 0.0008, + "ratio": 3.923, + "pct_numpy": 25.5, + "status": "negligible" + }, + { + "operation": "np.amin (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.266, + "pct_numpy": 44.1, + "status": "negligible" + }, + { + "operation": "np.amax (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0015, + "numsharp_ms": 0.0007, + "ratio": 2.141, + "pct_numpy": 46.7, + "status": "negligible" + }, + { + "operation": "np.argmin (int16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0007, + "ratio": 1.516, + "pct_numpy": 66.0, + "status": "negligible" + }, + { + "operation": "np.argmax (int16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.227, + "pct_numpy": 81.5, + "status": "negligible" + }, + { + "operation": "np.cumsum (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.002, + "ratio": 1.233, + "pct_numpy": 81.1, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.896, + "pct_numpy": 34.5, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.938, + "pct_numpy": 34.0, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0038, + "numsharp_ms": 0.0008, + "ratio": 4.828, + "pct_numpy": 20.7, + "status": "negligible" + }, + { + "operation": "np.mean axis=1 (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0008, + "ratio": 4.548, + "pct_numpy": 22.0, + "status": "negligible" + }, + { + "operation": "np.sum (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0008, + "ratio": 2.841, + "pct_numpy": 35.2, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0009, + "ratio": 2.711, + "pct_numpy": 36.9, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0027, + "numsharp_ms": 0.0008, + "ratio": 3.444, + "pct_numpy": 29.0, + "status": "negligible" + }, + { + "operation": "np.mean (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0031, + "numsharp_ms": 0.0008, + "ratio": 3.904, + "pct_numpy": 25.6, + "status": "negligible" + }, + { + "operation": "np.amin (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.157, + "pct_numpy": 46.4, + "status": "negligible" + }, + { + "operation": "np.amax (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0008, + "ratio": 2.119, + "pct_numpy": 47.2, + "status": "negligible" + }, + { + "operation": "np.argmin (uint16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.324, + "pct_numpy": 75.5, + "status": "negligible" + }, + { + "operation": "np.argmax (uint16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.267, + "pct_numpy": 78.9, + "status": "negligible" + }, + { + "operation": "np.cumsum (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0026, + "numsharp_ms": 0.002, + "ratio": 1.257, + "pct_numpy": 79.5, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.984, + "pct_numpy": 33.5, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.97, + "pct_numpy": 33.7, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0007, + "ratio": 5.003, + "pct_numpy": 20.0, + "status": "negligible" + }, + { + "operation": "np.mean axis=1 (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0038, + "numsharp_ms": 0.0008, + "ratio": 4.68, + "pct_numpy": 21.4, + "status": "negligible" + }, + { + "operation": "np.sum (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0008, + "ratio": 2.845, + "pct_numpy": 35.1, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0007, + "ratio": 3.803, + "pct_numpy": 26.3, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0007, + "ratio": 3.664, + "pct_numpy": 27.3, + "status": "negligible" + }, + { + "operation": "np.mean (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0008, + "ratio": 3.707, + "pct_numpy": 27.0, + "status": "negligible" + }, + { + "operation": "np.amin (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.247, + "pct_numpy": 44.5, + "status": "negligible" + }, + { + "operation": "np.amax (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.282, + "pct_numpy": 43.8, + "status": "negligible" + }, + { + "operation": "np.argmin (int32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0007, + "ratio": 1.376, + "pct_numpy": 72.7, + "status": "negligible" + }, + { + "operation": "np.argmax (int32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.225, + "pct_numpy": 81.6, + "status": "negligible" + }, + { + "operation": "np.cumsum (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0019, + "ratio": 1.27, + "pct_numpy": 78.8, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0007, + "ratio": 3.319, + "pct_numpy": 30.1, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.841, + "pct_numpy": 35.2, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0044, + "numsharp_ms": 0.0008, + "ratio": 5.781, + "pct_numpy": 17.3, + "status": "negligible" + }, + { + "operation": "np.mean axis=1 (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0007, + "ratio": 5.002, + "pct_numpy": 20.0, + "status": "negligible" + }, + { + "operation": "np.sum (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0008, + "ratio": 2.832, + "pct_numpy": 35.3, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0007, + "ratio": 3.863, + "pct_numpy": 25.9, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0026, + "numsharp_ms": 0.0007, + "ratio": 3.63, + "pct_numpy": 27.5, + "status": "negligible" + }, + { + "operation": "np.mean (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0008, + "ratio": 3.702, + "pct_numpy": 27.0, + "status": "negligible" + }, + { + "operation": "np.amin (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.298, + "pct_numpy": 43.5, + "status": "negligible" + }, + { + "operation": "np.amax (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0007, + "ratio": 2.211, + "pct_numpy": 45.2, + "status": "negligible" + }, + { + "operation": "np.argmin (uint32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0007, + "ratio": 1.362, + "pct_numpy": 73.4, + "status": "negligible" + }, + { + "operation": "np.argmax (uint32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0007, + "ratio": 1.302, + "pct_numpy": 76.8, + "status": "negligible" + }, + { + "operation": "np.cumsum (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0021, + "ratio": 1.172, + "pct_numpy": 85.3, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.772, + "pct_numpy": 36.1, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.805, + "pct_numpy": 35.7, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0044, + "numsharp_ms": 0.0008, + "ratio": 5.636, + "pct_numpy": 17.7, + "status": "negligible" + }, + { + "operation": "np.mean axis=1 (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0034, + "numsharp_ms": 0.0008, + "ratio": 4.121, + "pct_numpy": 24.3, + "status": "negligible" + }, + { + "operation": "np.sum (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0008, + "ratio": 2.267, + "pct_numpy": 44.1, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.742, + "pct_numpy": 36.5, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.597, + "pct_numpy": 38.5, + "status": "negligible" + }, + { + "operation": "np.mean (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.0008, + "ratio": 3.709, + "pct_numpy": 27.0, + "status": "negligible" + }, + { + "operation": "np.amin (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0008, + "ratio": 2.13, + "pct_numpy": 46.9, + "status": "negligible" + }, + { + "operation": "np.amax (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0006, + "ratio": 2.625, + "pct_numpy": 38.1, + "status": "negligible" + }, + { + "operation": "np.argmin (int64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0009, + "ratio": 1.108, + "pct_numpy": 90.3, + "status": "negligible" + }, + { + "operation": "np.argmax (int64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0009, + "ratio": 1.106, + "pct_numpy": 90.4, + "status": "negligible" + }, + { + "operation": "np.cumsum (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0019, + "ratio": 0.915, + "pct_numpy": 109.3, + "status": "close" + }, + { + "operation": "np.amin axis=0 (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0027, + "numsharp_ms": 0.0008, + "ratio": 3.316, + "pct_numpy": 30.2, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0008, + "ratio": 2.618, + "pct_numpy": 38.2, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0043, + "numsharp_ms": 0.0013, + "ratio": 3.253, + "pct_numpy": 30.7, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0034, + "numsharp_ms": 0.0013, + "ratio": 2.547, + "pct_numpy": 39.3, + "status": "faster" + }, + { + "operation": "np.sum (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0008, + "ratio": 2.284, + "pct_numpy": 43.8, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0007, + "ratio": 2.73, + "pct_numpy": 36.6, + "status": "negligible" + }, + { + "operation": "np.sum axis=1 (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.686, + "pct_numpy": 37.2, + "status": "negligible" + }, + { + "operation": "np.mean (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0032, + "numsharp_ms": 0.0008, + "ratio": 4.16, + "pct_numpy": 24.0, + "status": "negligible" + }, + { + "operation": "np.amin (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0008, + "ratio": 2.115, + "pct_numpy": 47.3, + "status": "negligible" + }, + { + "operation": "np.amax (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0008, + "ratio": 2.137, + "pct_numpy": 46.8, + "status": "negligible" + }, + { + "operation": "np.argmin (uint64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0009, + "ratio": 1.034, + "pct_numpy": 96.7, + "status": "negligible" + }, + { + "operation": "np.argmax (uint64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0009, + "ratio": 1.045, + "pct_numpy": 95.7, + "status": "negligible" + }, + { + "operation": "np.cumsum (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.002, + "ratio": 0.824, + "pct_numpy": 121.3, + "status": "close" + }, + { + "operation": "np.amin axis=0 (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0008, + "ratio": 2.375, + "pct_numpy": 42.1, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0009, + "ratio": 2.239, + "pct_numpy": 44.7, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0017, + "ratio": 2.198, + "pct_numpy": 45.5, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0016, + "ratio": 2.231, + "pct_numpy": 44.8, + "status": "faster" + }, + { + "operation": "np.sum (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.004, + "numsharp_ms": 0.0012, + "ratio": 3.332, + "pct_numpy": 30.0, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0053, + "numsharp_ms": 0.004, + "ratio": 1.325, + "pct_numpy": 75.5, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0039, + "numsharp_ms": 0.0038, + "ratio": 1.043, + "pct_numpy": 95.8, + "status": "faster" + }, + { + "operation": "np.mean (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0047, + "numsharp_ms": 0.0012, + "ratio": 3.857, + "pct_numpy": 25.9, + "status": "faster" + }, + { + "operation": "np.var (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.02, + "numsharp_ms": 0.0021, + "ratio": 9.505, + "pct_numpy": 10.5, + "status": "faster" + }, + { + "operation": "np.std (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0203, + "numsharp_ms": 0.0021, + "ratio": 9.631, + "pct_numpy": 10.4, + "status": "faster" + }, + { + "operation": "np.amin (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0041, + "numsharp_ms": 0.0012, + "ratio": 3.531, + "pct_numpy": 28.3, + "status": "faster" + }, + { + "operation": "np.amax (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0011, + "ratio": 3.477, + "pct_numpy": 28.8, + "status": "faster" + }, + { + "operation": "np.argmin (float16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.002, + "ratio": 1.422, + "pct_numpy": 70.3, + "status": "faster" + }, + { + "operation": "np.argmax (float16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.0021, + "ratio": 1.409, + "pct_numpy": 71.0, + "status": "faster" + }, + { + "operation": "np.cumsum (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0071, + "numsharp_ms": 0.0094, + "ratio": 0.749, + "pct_numpy": 133.5, + "status": "close" + }, + { + "operation": "np.amin axis=0 (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.004, + "numsharp_ms": 0.0019, + "ratio": 2.113, + "pct_numpy": 47.3, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0042, + "numsharp_ms": 0.0019, + "ratio": 2.179, + "pct_numpy": 45.9, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0061, + "numsharp_ms": 0.0035, + "ratio": 1.751, + "pct_numpy": 57.1, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0052, + "numsharp_ms": 0.0039, + "ratio": 1.309, + "pct_numpy": 76.4, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.02, + "numsharp_ms": 0.0044, + "ratio": 4.515, + "pct_numpy": 22.1, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0214, + "numsharp_ms": 0.0045, + "ratio": 4.781, + "pct_numpy": 20.9, + "status": "faster" + }, + { + "operation": "np.sum (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0008, + "ratio": 2.258, + "pct_numpy": 44.3, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0019, + "ratio": 1.175, + "pct_numpy": 85.1, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0019, + "ratio": 1.533, + "pct_numpy": 65.2, + "status": "faster" + }, + { + "operation": "np.mean (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.004, + "numsharp_ms": 0.0007, + "ratio": 5.418, + "pct_numpy": 18.5, + "status": "negligible" + }, + { + "operation": "np.var (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0083, + "numsharp_ms": 0.0007, + "ratio": 11.923, + "pct_numpy": 8.4, + "status": "negligible" + }, + { + "operation": "np.std (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0086, + "numsharp_ms": 0.0007, + "ratio": 12.745, + "pct_numpy": 7.8, + "status": "negligible" + }, + { + "operation": "np.amin (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0008, + "ratio": 2.968, + "pct_numpy": 33.7, + "status": "negligible" + }, + { + "operation": "np.amax (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0006, + "ratio": 2.729, + "pct_numpy": 36.6, + "status": "negligible" + }, + { + "operation": "np.argmin (float32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0012, + "ratio": 0.798, + "pct_numpy": 125.3, + "status": "negligible" + }, + { + "operation": "np.argmax (float32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0012, + "ratio": 0.778, + "pct_numpy": 128.6, + "status": "negligible" + }, + { + "operation": "np.cumsum (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.0018, + "ratio": 1.651, + "pct_numpy": 60.6, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0008, + "ratio": 2.674, + "pct_numpy": 37.4, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0008, + "ratio": 2.664, + "pct_numpy": 37.5, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0039, + "numsharp_ms": 0.0022, + "ratio": 1.82, + "pct_numpy": 55.0, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0036, + "numsharp_ms": 0.0022, + "ratio": 1.667, + "pct_numpy": 60.0, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0086, + "numsharp_ms": 0.0017, + "ratio": 5.194, + "pct_numpy": 19.3, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0087, + "numsharp_ms": 0.0016, + "ratio": 5.571, + "pct_numpy": 18.0, + "status": "faster" + }, + { + "operation": "np.sum (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0008, + "ratio": 2.243, + "pct_numpy": 44.6, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0019, + "ratio": 1.034, + "pct_numpy": 96.7, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0016, + "ratio": 1.208, + "pct_numpy": 82.8, + "status": "faster" + }, + { + "operation": "np.mean (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0007, + "ratio": 3.253, + "pct_numpy": 30.7, + "status": "negligible" + }, + { + "operation": "np.var (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0067, + "numsharp_ms": 0.0008, + "ratio": 8.397, + "pct_numpy": 11.9, + "status": "negligible" + }, + { + "operation": "np.std (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0068, + "numsharp_ms": 0.0004, + "ratio": 15.611, + "pct_numpy": 6.4, + "status": "negligible" + }, + { + "operation": "np.amin (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0008, + "ratio": 2.21, + "pct_numpy": 45.2, + "status": "negligible" + }, + { + "operation": "np.amax (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0008, + "ratio": 2.337, + "pct_numpy": 42.8, + "status": "negligible" + }, + { + "operation": "np.argmin (float64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0012, + "ratio": 0.827, + "pct_numpy": 120.9, + "status": "negligible" + }, + { + "operation": "np.argmax (float64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0012, + "ratio": 0.822, + "pct_numpy": 121.6, + "status": "negligible" + }, + { + "operation": "np.cumsum (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0022, + "ratio": 1.315, + "pct_numpy": 76.0, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0009, + "ratio": 2.407, + "pct_numpy": 41.5, + "status": "negligible" + }, + { + "operation": "np.amax axis=0 (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0009, + "ratio": 2.331, + "pct_numpy": 42.9, + "status": "negligible" + }, + { + "operation": "np.mean axis=0 (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0023, + "ratio": 1.291, + "pct_numpy": 77.5, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.0022, + "ratio": 1.332, + "pct_numpy": 75.0, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0075, + "numsharp_ms": 0.0009, + "ratio": 7.968, + "pct_numpy": 12.5, + "status": "negligible" + }, + { + "operation": "np.std axis=0 (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0076, + "numsharp_ms": 0.0009, + "ratio": 8.362, + "pct_numpy": 12.0, + "status": "negligible" + }, + { + "operation": "np.sum (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0009, + "ratio": 2.018, + "pct_numpy": 49.6, + "status": "negligible" + }, + { + "operation": "np.sum axis=0 (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0017, + "ratio": 1.162, + "pct_numpy": 86.1, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0018, + "ratio": 1.168, + "pct_numpy": 85.6, + "status": "faster" + }, + { + "operation": "np.mean (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0027, + "numsharp_ms": 0.0009, + "ratio": 2.845, + "pct_numpy": 35.2, + "status": "negligible" + }, + { + "operation": "np.amin (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0031, + "numsharp_ms": 0.0016, + "ratio": 1.926, + "pct_numpy": 51.9, + "status": "faster" + }, + { + "operation": "np.amax (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0018, + "ratio": 1.642, + "pct_numpy": 60.9, + "status": "faster" + }, + { + "operation": "np.argmin (complex128)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0015, + "ratio": 1.246, + "pct_numpy": 80.3, + "status": "faster" + }, + { + "operation": "np.argmax (complex128)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0018, + "ratio": 1.136, + "pct_numpy": 88.1, + "status": "faster" + }, + { + "operation": "np.cumsum (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0037, + "ratio": 0.82, + "pct_numpy": 122.0, + "status": "close" + }, + { + "operation": "np.amin axis=0 (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.003, + "ratio": 0.986, + "pct_numpy": 101.4, + "status": "close" + }, + { + "operation": "np.amax axis=0 (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.003, + "ratio": 1.002, + "pct_numpy": 99.8, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0033, + "numsharp_ms": 0.0025, + "ratio": 1.298, + "pct_numpy": 77.0, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 1000, + "numpy_ms": 0.0032, + "numsharp_ms": 0.0025, + "ratio": 1.238, + "pct_numpy": 80.8, + "status": "faster" + }, + { + "operation": "np.nansum(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0063, + "numsharp_ms": 0.0013, + "ratio": 4.843, + "pct_numpy": 20.6, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0127, + "numsharp_ms": 0.0017, + "ratio": 7.366, + "pct_numpy": 13.6, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0054, + "numsharp_ms": 0.0011, + "ratio": 4.865, + "pct_numpy": 20.6, + "status": "faster" + }, + { + "operation": "np.nanmin(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0053, + "numsharp_ms": 0.0011, + "ratio": 4.767, + "pct_numpy": 21.0, + "status": "faster" + }, + { + "operation": "np.nanstd(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0341, + "numsharp_ms": 0.0028, + "ratio": 12.257, + "pct_numpy": 8.2, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0324, + "numsharp_ms": 0.0028, + "ratio": 11.718, + "pct_numpy": 8.5, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0061, + "numsharp_ms": 0.0013, + "ratio": 4.729, + "pct_numpy": 21.1, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0171, + "numsharp_ms": 0.0043, + "ratio": 3.926, + "pct_numpy": 25.5, + "status": "faster" + }, + { + "operation": "np.nanpercentile(a, 50) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0365, + "numsharp_ms": 0.0043, + "ratio": 8.449, + "pct_numpy": 11.8, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0336, + "numsharp_ms": 0.0043, + "ratio": 7.729, + "pct_numpy": 12.9, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0061, + "numsharp_ms": 0.0097, + "ratio": 0.629, + "pct_numpy": 159.0, + "status": "close" + }, + { + "operation": "np.nansum(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0008, + "ratio": 4.834, + "pct_numpy": 20.7, + "status": "negligible" + }, + { + "operation": "np.nanmean(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0102, + "numsharp_ms": 0.0008, + "ratio": 12.607, + "pct_numpy": 7.9, + "status": "negligible" + }, + { + "operation": "np.nanmax(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0009, + "ratio": 3.289, + "pct_numpy": 30.4, + "status": "negligible" + }, + { + "operation": "np.nanmin(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0009, + "ratio": 3.238, + "pct_numpy": 30.9, + "status": "negligible" + }, + { + "operation": "np.nanstd(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0202, + "numsharp_ms": 0.0017, + "ratio": 11.918, + "pct_numpy": 8.4, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0195, + "numsharp_ms": 0.0017, + "ratio": 11.492, + "pct_numpy": 8.7, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0052, + "numsharp_ms": 0.0008, + "ratio": 6.311, + "pct_numpy": 15.8, + "status": "negligible" + }, + { + "operation": "np.nanmedian(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0132, + "numsharp_ms": 0.0022, + "ratio": 5.943, + "pct_numpy": 16.8, + "status": "faster" + }, + { + "operation": "np.nanpercentile(a, 50) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0267, + "numsharp_ms": 0.0022, + "ratio": 11.99, + "pct_numpy": 8.3, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.028, + "numsharp_ms": 0.0022, + "ratio": 12.604, + "pct_numpy": 7.9, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0046, + "numsharp_ms": 0.0028, + "ratio": 1.648, + "pct_numpy": 60.7, + "status": "faster" + }, + { + "operation": "np.nansum(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.0008, + "ratio": 4.61, + "pct_numpy": 21.7, + "status": "negligible" + }, + { + "operation": "np.nanmean(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0088, + "numsharp_ms": 0.0012, + "ratio": 7.487, + "pct_numpy": 13.4, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.003, + "numsharp_ms": 0.0012, + "ratio": 2.519, + "pct_numpy": 39.7, + "status": "faster" + }, + { + "operation": "np.nanmin(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0042, + "numsharp_ms": 0.0009, + "ratio": 4.514, + "pct_numpy": 22.2, + "status": "negligible" + }, + { + "operation": "np.nanstd(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.019, + "numsharp_ms": 0.0015, + "ratio": 12.521, + "pct_numpy": 8.0, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0198, + "numsharp_ms": 0.0015, + "ratio": 13.06, + "pct_numpy": 7.7, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0055, + "numsharp_ms": 0.0008, + "ratio": 6.958, + "pct_numpy": 14.4, + "status": "negligible" + }, + { + "operation": "np.nanmedian(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0127, + "numsharp_ms": 0.0023, + "ratio": 5.545, + "pct_numpy": 18.0, + "status": "faster" + }, + { + "operation": "np.nanpercentile(a, 50) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0265, + "numsharp_ms": 0.0023, + "ratio": 11.565, + "pct_numpy": 8.6, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0257, + "numsharp_ms": 0.0023, + "ratio": 11.236, + "pct_numpy": 8.9, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0046, + "numsharp_ms": 0.0034, + "ratio": 1.332, + "pct_numpy": 75.0, + "status": "faster" + }, + { + "operation": "np.prod (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.0007, + "ratio": 2.872, + "pct_numpy": 34.8, + "status": "negligible" + }, + { + "operation": "np.prod axis=0 (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.002, + "numsharp_ms": 0.0009, + "ratio": 2.242, + "pct_numpy": 44.6, + "status": "negligible" + }, + { + "operation": "np.prod axis=1 (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.001, + "ratio": 1.957, + "pct_numpy": 51.1, + "status": "negligible" + }, + { + "operation": "np.prod (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0008, + "ratio": 2.887, + "pct_numpy": 34.6, + "status": "negligible" + }, + { + "operation": "np.prod axis=0 (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0007, + "ratio": 2.751, + "pct_numpy": 36.3, + "status": "negligible" + }, + { + "operation": "np.prod axis=1 (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0019, + "numsharp_ms": 0.0008, + "ratio": 2.472, + "pct_numpy": 40.4, + "status": "negligible" + }, + { + "operation": "np.sum (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0348, + "numsharp_ms": 0.0186, + "ratio": 1.87, + "pct_numpy": 53.5, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0513, + "numsharp_ms": 0.0044, + "ratio": 11.686, + "pct_numpy": 8.6, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0402, + "numsharp_ms": 0.0038, + "ratio": 10.467, + "pct_numpy": 9.6, + "status": "faster" + }, + { + "operation": "np.mean (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0541, + "numsharp_ms": 0.0187, + "ratio": 2.902, + "pct_numpy": 34.5, + "status": "faster" + }, + { + "operation": "np.amin (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0012, + "ratio": 2.408, + "pct_numpy": 41.5, + "status": "faster" + }, + { + "operation": "np.amax (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0012, + "ratio": 2.056, + "pct_numpy": 48.6, + "status": "faster" + }, + { + "operation": "np.argmin (uint8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0033, + "numsharp_ms": 0.0012, + "ratio": 2.702, + "pct_numpy": 37.0, + "status": "faster" + }, + { + "operation": "np.argmax (uint8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0032, + "numsharp_ms": 0.0012, + "ratio": 2.596, + "pct_numpy": 38.5, + "status": "faster" + }, + { + "operation": "np.cumsum (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.3198, + "numsharp_ms": 0.1205, + "ratio": 2.654, + "pct_numpy": 37.7, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0076, + "numsharp_ms": 0.0051, + "ratio": 1.491, + "pct_numpy": 67.1, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0081, + "numsharp_ms": 0.0031, + "ratio": 2.654, + "pct_numpy": 37.7, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0545, + "numsharp_ms": 0.0082, + "ratio": 6.63, + "pct_numpy": 15.1, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0587, + "numsharp_ms": 0.0079, + "ratio": 7.417, + "pct_numpy": 13.5, + "status": "faster" + }, + { + "operation": "np.sum (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0342, + "numsharp_ms": 0.0186, + "ratio": 1.836, + "pct_numpy": 54.5, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0474, + "numsharp_ms": 0.0044, + "ratio": 10.753, + "pct_numpy": 9.3, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0379, + "numsharp_ms": 0.0039, + "ratio": 9.631, + "pct_numpy": 10.4, + "status": "faster" + }, + { + "operation": "np.mean (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0567, + "numsharp_ms": 0.0186, + "ratio": 3.039, + "pct_numpy": 32.9, + "status": "faster" + }, + { + "operation": "np.amin (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0012, + "ratio": 2.376, + "pct_numpy": 42.1, + "status": "faster" + }, + { + "operation": "np.amax (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0024, + "numsharp_ms": 0.0012, + "ratio": 2.001, + "pct_numpy": 50.0, + "status": "faster" + }, + { + "operation": "np.argmin (int8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0012, + "ratio": 1.859, + "pct_numpy": 53.8, + "status": "faster" + }, + { + "operation": "np.argmax (int8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0023, + "numsharp_ms": 0.0012, + "ratio": 1.884, + "pct_numpy": 53.1, + "status": "faster" + }, + { + "operation": "np.cumsum (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.3124, + "numsharp_ms": 0.1187, + "ratio": 2.63, + "pct_numpy": 38.0, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0077, + "numsharp_ms": 0.0041, + "ratio": 1.875, + "pct_numpy": 53.3, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0076, + "numsharp_ms": 0.0039, + "ratio": 1.962, + "pct_numpy": 51.0, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0534, + "numsharp_ms": 0.0082, + "ratio": 6.493, + "pct_numpy": 15.4, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0571, + "numsharp_ms": 0.0079, + "ratio": 7.211, + "pct_numpy": 13.9, + "status": "faster" + }, + { + "operation": "np.sum (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0339, + "numsharp_ms": 0.0189, + "ratio": 1.792, + "pct_numpy": 55.8, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0474, + "numsharp_ms": 0.0047, + "ratio": 10.076, + "pct_numpy": 9.9, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0376, + "numsharp_ms": 0.0038, + "ratio": 9.786, + "pct_numpy": 10.2, + "status": "faster" + }, + { + "operation": "np.mean (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0532, + "numsharp_ms": 0.0189, + "ratio": 2.812, + "pct_numpy": 35.6, + "status": "faster" + }, + { + "operation": "np.amin (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0035, + "numsharp_ms": 0.0015, + "ratio": 2.338, + "pct_numpy": 42.8, + "status": "faster" + }, + { + "operation": "np.amax (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0031, + "numsharp_ms": 0.0015, + "ratio": 2.039, + "pct_numpy": 49.0, + "status": "faster" + }, + { + "operation": "np.argmin (int16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0034, + "numsharp_ms": 0.0016, + "ratio": 2.063, + "pct_numpy": 48.5, + "status": "faster" + }, + { + "operation": "np.argmax (int16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0034, + "numsharp_ms": 0.0017, + "ratio": 2.015, + "pct_numpy": 49.6, + "status": "faster" + }, + { + "operation": "np.cumsum (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.3253, + "numsharp_ms": 0.1209, + "ratio": 2.69, + "pct_numpy": 37.2, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0065, + "numsharp_ms": 0.0037, + "ratio": 1.74, + "pct_numpy": 57.5, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0063, + "numsharp_ms": 0.0037, + "ratio": 1.73, + "pct_numpy": 57.8, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.055, + "numsharp_ms": 0.0084, + "ratio": 6.526, + "pct_numpy": 15.3, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0573, + "numsharp_ms": 0.008, + "ratio": 7.186, + "pct_numpy": 13.9, + "status": "faster" + }, + { + "operation": "np.sum (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0334, + "numsharp_ms": 0.0189, + "ratio": 1.768, + "pct_numpy": 56.6, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0479, + "numsharp_ms": 0.0053, + "ratio": 9.017, + "pct_numpy": 11.1, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0375, + "numsharp_ms": 0.0037, + "ratio": 9.997, + "pct_numpy": 10.0, + "status": "faster" + }, + { + "operation": "np.mean (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0526, + "numsharp_ms": 0.0189, + "ratio": 2.776, + "pct_numpy": 36.0, + "status": "faster" + }, + { + "operation": "np.amin (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0033, + "numsharp_ms": 0.0015, + "ratio": 2.215, + "pct_numpy": 45.1, + "status": "faster" + }, + { + "operation": "np.amax (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0032, + "numsharp_ms": 0.0015, + "ratio": 2.131, + "pct_numpy": 46.9, + "status": "faster" + }, + { + "operation": "np.argmin (uint16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.005, + "numsharp_ms": 0.0016, + "ratio": 3.043, + "pct_numpy": 32.9, + "status": "faster" + }, + { + "operation": "np.argmax (uint16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0049, + "numsharp_ms": 0.0017, + "ratio": 2.956, + "pct_numpy": 33.8, + "status": "faster" + }, + { + "operation": "np.cumsum (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.3256, + "numsharp_ms": 0.1199, + "ratio": 2.716, + "pct_numpy": 36.8, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0065, + "numsharp_ms": 0.0036, + "ratio": 1.793, + "pct_numpy": 55.8, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0065, + "numsharp_ms": 0.0036, + "ratio": 1.79, + "pct_numpy": 55.9, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0516, + "numsharp_ms": 0.0084, + "ratio": 6.103, + "pct_numpy": 16.4, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0629, + "numsharp_ms": 0.008, + "ratio": 7.904, + "pct_numpy": 12.7, + "status": "faster" + }, + { + "operation": "np.sum (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0345, + "numsharp_ms": 0.019, + "ratio": 1.817, + "pct_numpy": 55.0, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0485, + "numsharp_ms": 0.0086, + "ratio": 5.623, + "pct_numpy": 17.8, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0396, + "numsharp_ms": 0.0053, + "ratio": 7.487, + "pct_numpy": 13.4, + "status": "faster" + }, + { + "operation": "np.mean (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0429, + "numsharp_ms": 0.0191, + "ratio": 2.242, + "pct_numpy": 44.6, + "status": "faster" + }, + { + "operation": "np.amin (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0045, + "numsharp_ms": 0.0023, + "ratio": 1.984, + "pct_numpy": 50.4, + "status": "faster" + }, + { + "operation": "np.amax (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0044, + "numsharp_ms": 0.0023, + "ratio": 1.935, + "pct_numpy": 51.7, + "status": "faster" + }, + { + "operation": "np.argmin (int32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0055, + "numsharp_ms": 0.0026, + "ratio": 2.091, + "pct_numpy": 47.8, + "status": "faster" + }, + { + "operation": "np.argmax (int32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0056, + "numsharp_ms": 0.0027, + "ratio": 2.1, + "pct_numpy": 47.6, + "status": "faster" + }, + { + "operation": "np.cumsum (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.3303, + "numsharp_ms": 0.1226, + "ratio": 2.695, + "pct_numpy": 37.1, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0088, + "numsharp_ms": 0.0055, + "ratio": 1.603, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0082, + "numsharp_ms": 0.0055, + "ratio": 1.483, + "pct_numpy": 67.4, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0359, + "numsharp_ms": 0.0078, + "ratio": 4.6, + "pct_numpy": 21.7, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0428, + "numsharp_ms": 0.0049, + "ratio": 8.785, + "pct_numpy": 11.4, + "status": "faster" + }, + { + "operation": "np.sum (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0332, + "numsharp_ms": 0.019, + "ratio": 1.748, + "pct_numpy": 57.2, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0506, + "numsharp_ms": 0.0086, + "ratio": 5.871, + "pct_numpy": 17.0, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0413, + "numsharp_ms": 0.0053, + "ratio": 7.793, + "pct_numpy": 12.8, + "status": "faster" + }, + { + "operation": "np.mean (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0402, + "numsharp_ms": 0.0191, + "ratio": 2.108, + "pct_numpy": 47.4, + "status": "faster" + }, + { + "operation": "np.amin (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0044, + "numsharp_ms": 0.0032, + "ratio": 1.361, + "pct_numpy": 73.5, + "status": "faster" + }, + { + "operation": "np.amax (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0049, + "numsharp_ms": 0.0032, + "ratio": 1.532, + "pct_numpy": 65.3, + "status": "faster" + }, + { + "operation": "np.argmin (uint32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0101, + "numsharp_ms": 0.0035, + "ratio": 2.864, + "pct_numpy": 34.9, + "status": "faster" + }, + { + "operation": "np.argmax (uint32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0104, + "numsharp_ms": 0.0036, + "ratio": 2.913, + "pct_numpy": 34.3, + "status": "faster" + }, + { + "operation": "np.cumsum (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.3374, + "numsharp_ms": 0.1227, + "ratio": 2.751, + "pct_numpy": 36.4, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0084, + "numsharp_ms": 0.0055, + "ratio": 1.532, + "pct_numpy": 65.3, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0082, + "numsharp_ms": 0.0055, + "ratio": 1.488, + "pct_numpy": 67.2, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0471, + "numsharp_ms": 0.0093, + "ratio": 5.041, + "pct_numpy": 19.8, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0467, + "numsharp_ms": 0.0091, + "ratio": 5.115, + "pct_numpy": 19.5, + "status": "faster" + }, + { + "operation": "np.sum (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0153, + "numsharp_ms": 0.0045, + "ratio": 3.422, + "pct_numpy": 29.2, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0278, + "numsharp_ms": 0.0104, + "ratio": 2.672, + "pct_numpy": 37.4, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0175, + "numsharp_ms": 0.0075, + "ratio": 2.326, + "pct_numpy": 43.0, + "status": "faster" + }, + { + "operation": "np.mean (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0344, + "numsharp_ms": 0.0045, + "ratio": 7.717, + "pct_numpy": 13.0, + "status": "faster" + }, + { + "operation": "np.amin (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0106, + "numsharp_ms": 0.0074, + "ratio": 1.438, + "pct_numpy": 69.6, + "status": "faster" + }, + { + "operation": "np.amax (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0089, + "numsharp_ms": 0.0078, + "ratio": 1.142, + "pct_numpy": 87.5, + "status": "faster" + }, + { + "operation": "np.argmin (int64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0142, + "numsharp_ms": 0.0283, + "ratio": 0.503, + "pct_numpy": 198.7, + "status": "close" + }, + { + "operation": "np.argmax (int64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0146, + "numsharp_ms": 0.0284, + "ratio": 0.513, + "pct_numpy": 195.0, + "status": "close" + }, + { + "operation": "np.cumsum (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0315, + "numsharp_ms": 0.1231, + "ratio": 0.256, + "pct_numpy": 391.3, + "status": "slower" + }, + { + "operation": "np.amin axis=0 (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0193, + "numsharp_ms": 0.0118, + "ratio": 1.633, + "pct_numpy": 61.2, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0153, + "numsharp_ms": 0.0118, + "ratio": 1.298, + "pct_numpy": 77.0, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.032, + "numsharp_ms": 0.0609, + "ratio": 0.525, + "pct_numpy": 190.5, + "status": "close" + }, + { + "operation": "np.mean axis=1 (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0394, + "numsharp_ms": 0.0596, + "ratio": 0.661, + "pct_numpy": 151.2, + "status": "close" + }, + { + "operation": "np.sum (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.02, + "numsharp_ms": 0.0044, + "ratio": 4.52, + "pct_numpy": 22.1, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0274, + "numsharp_ms": 0.0104, + "ratio": 2.641, + "pct_numpy": 37.9, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0173, + "numsharp_ms": 0.0075, + "ratio": 2.297, + "pct_numpy": 43.5, + "status": "faster" + }, + { + "operation": "np.mean (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0539, + "numsharp_ms": 0.0045, + "ratio": 12.076, + "pct_numpy": 8.3, + "status": "faster" + }, + { + "operation": "np.amin (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0126, + "numsharp_ms": 0.0097, + "ratio": 1.294, + "pct_numpy": 77.3, + "status": "faster" + }, + { + "operation": "np.amax (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0129, + "numsharp_ms": 0.01, + "ratio": 1.289, + "pct_numpy": 77.6, + "status": "faster" + }, + { + "operation": "np.argmin (uint64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.018, + "numsharp_ms": 0.0331, + "ratio": 0.543, + "pct_numpy": 184.2, + "status": "close" + }, + { + "operation": "np.argmax (uint64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0171, + "numsharp_ms": 0.0332, + "ratio": 0.516, + "pct_numpy": 193.9, + "status": "close" + }, + { + "operation": "np.cumsum (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0312, + "numsharp_ms": 0.1218, + "ratio": 0.256, + "pct_numpy": 390.7, + "status": "slower" + }, + { + "operation": "np.amin axis=0 (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0177, + "numsharp_ms": 0.0137, + "ratio": 1.292, + "pct_numpy": 77.4, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0185, + "numsharp_ms": 0.0138, + "ratio": 1.343, + "pct_numpy": 74.4, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0479, + "numsharp_ms": 0.0887, + "ratio": 0.541, + "pct_numpy": 185.0, + "status": "close" + }, + { + "operation": "np.mean axis=1 (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0569, + "numsharp_ms": 0.086, + "ratio": 0.661, + "pct_numpy": 151.2, + "status": "close" + }, + { + "operation": "np.sum (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.1981, + "numsharp_ms": 0.0802, + "ratio": 2.471, + "pct_numpy": 40.5, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.295, + "numsharp_ms": 0.1473, + "ratio": 2.003, + "pct_numpy": 49.9, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.1987, + "numsharp_ms": 0.1303, + "ratio": 1.525, + "pct_numpy": 65.6, + "status": "faster" + }, + { + "operation": "np.mean (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.1088, + "numsharp_ms": 0.0802, + "ratio": 1.357, + "pct_numpy": 73.7, + "status": "faster" + }, + { + "operation": "np.var (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.906, + "numsharp_ms": 0.1822, + "ratio": 4.973, + "pct_numpy": 20.1, + "status": "faster" + }, + { + "operation": "np.std (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.9085, + "numsharp_ms": 0.183, + "ratio": 4.964, + "pct_numpy": 20.1, + "status": "faster" + }, + { + "operation": "np.amin (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.512, + "numsharp_ms": 0.302, + "ratio": 1.695, + "pct_numpy": 59.0, + "status": "faster" + }, + { + "operation": "np.amax (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.5066, + "numsharp_ms": 0.32, + "ratio": 1.583, + "pct_numpy": 63.2, + "status": "faster" + }, + { + "operation": "np.argmin (float16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4248, + "numsharp_ms": 0.1413, + "ratio": 3.007, + "pct_numpy": 33.3, + "status": "faster" + }, + { + "operation": "np.argmax (float16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4331, + "numsharp_ms": 0.1412, + "ratio": 3.067, + "pct_numpy": 32.6, + "status": "faster" + }, + { + "operation": "np.cumsum (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4728, + "numsharp_ms": 0.9144, + "ratio": 0.517, + "pct_numpy": 193.4, + "status": "close" + }, + { + "operation": "np.amin axis=0 (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4771, + "numsharp_ms": 0.5006, + "ratio": 0.953, + "pct_numpy": 104.9, + "status": "close" + }, + { + "operation": "np.amax axis=0 (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.5075, + "numsharp_ms": 0.5048, + "ratio": 1.005, + "pct_numpy": 99.5, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.079, + "numsharp_ms": 0.1492, + "ratio": 0.53, + "pct_numpy": 188.8, + "status": "close" + }, + { + "operation": "np.mean axis=1 (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0952, + "numsharp_ms": 0.1325, + "ratio": 0.719, + "pct_numpy": 139.2, + "status": "close" + }, + { + "operation": "np.var axis=0 (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.1366, + "numsharp_ms": 0.3566, + "ratio": 3.187, + "pct_numpy": 31.4, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.1043, + "numsharp_ms": 0.3567, + "ratio": 3.096, + "pct_numpy": 32.3, + "status": "faster" + }, + { + "operation": "np.sum (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0171, + "numsharp_ms": 0.0032, + "ratio": 5.398, + "pct_numpy": 18.5, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0083, + "numsharp_ms": 0.008, + "ratio": 1.039, + "pct_numpy": 96.2, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0162, + "numsharp_ms": 0.0104, + "ratio": 1.553, + "pct_numpy": 64.4, + "status": "faster" + }, + { + "operation": "np.mean (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0178, + "numsharp_ms": 0.0032, + "ratio": 5.553, + "pct_numpy": 18.0, + "status": "faster" + }, + { + "operation": "np.var (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0451, + "numsharp_ms": 0.0096, + "ratio": 4.693, + "pct_numpy": 21.3, + "status": "faster" + }, + { + "operation": "np.std (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.045, + "numsharp_ms": 0.0096, + "ratio": 4.668, + "pct_numpy": 21.4, + "status": "faster" + }, + { + "operation": "np.amin (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0058, + "numsharp_ms": 0.0035, + "ratio": 1.679, + "pct_numpy": 59.6, + "status": "faster" + }, + { + "operation": "np.amax (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0059, + "numsharp_ms": 0.0038, + "ratio": 1.538, + "pct_numpy": 65.0, + "status": "faster" + }, + { + "operation": "np.argmin (float32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0087, + "numsharp_ms": 0.0564, + "ratio": 0.154, + "pct_numpy": 650.1, + "status": "much_slower" + }, + { + "operation": "np.argmax (float32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0087, + "numsharp_ms": 0.0564, + "ratio": 0.154, + "pct_numpy": 648.5, + "status": "much_slower" + }, + { + "operation": "np.cumsum (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1656, + "numsharp_ms": 0.0789, + "ratio": 2.098, + "pct_numpy": 47.7, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0116, + "numsharp_ms": 0.0098, + "ratio": 1.178, + "pct_numpy": 84.9, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0091, + "numsharp_ms": 0.01, + "ratio": 0.916, + "pct_numpy": 109.2, + "status": "close" + }, + { + "operation": "np.mean axis=0 (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0086, + "numsharp_ms": 0.0099, + "ratio": 0.869, + "pct_numpy": 115.1, + "status": "close" + }, + { + "operation": "np.mean axis=1 (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0183, + "numsharp_ms": 0.0127, + "ratio": 1.446, + "pct_numpy": 69.2, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0371, + "numsharp_ms": 0.0226, + "ratio": 1.642, + "pct_numpy": 60.9, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0377, + "numsharp_ms": 0.0231, + "ratio": 1.628, + "pct_numpy": 61.4, + "status": "faster" + }, + { + "operation": "np.sum (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0166, + "numsharp_ms": 0.209, + "ratio": 0.079, + "pct_numpy": 1259.7, + "status": "much_slower" + }, + { + "operation": "np.sum axis=0 (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0142, + "numsharp_ms": 0.0115, + "ratio": 1.231, + "pct_numpy": 81.2, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.02, + "numsharp_ms": 0.0127, + "ratio": 1.58, + "pct_numpy": 63.3, + "status": "faster" + }, + { + "operation": "np.mean (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0169, + "numsharp_ms": 0.004, + "ratio": 4.212, + "pct_numpy": 23.7, + "status": "faster" + }, + { + "operation": "np.var (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0573, + "numsharp_ms": 0.0191, + "ratio": 3.002, + "pct_numpy": 33.3, + "status": "faster" + }, + { + "operation": "np.std (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.057, + "numsharp_ms": 0.019, + "ratio": 2.996, + "pct_numpy": 33.4, + "status": "faster" + }, + { + "operation": "np.amin (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0104, + "numsharp_ms": 0.0073, + "ratio": 1.424, + "pct_numpy": 70.2, + "status": "faster" + }, + { + "operation": "np.amax (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0099, + "numsharp_ms": 0.0062, + "ratio": 1.604, + "pct_numpy": 62.3, + "status": "faster" + }, + { + "operation": "np.argmin (float64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0276, + "numsharp_ms": 0.0569, + "ratio": 0.485, + "pct_numpy": 206.0, + "status": "slower" + }, + { + "operation": "np.argmax (float64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0193, + "numsharp_ms": 0.0568, + "ratio": 0.341, + "pct_numpy": 293.6, + "status": "slower" + }, + { + "operation": "np.cumsum (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1698, + "numsharp_ms": 0.1249, + "ratio": 1.359, + "pct_numpy": 73.6, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0157, + "numsharp_ms": 0.0165, + "ratio": 0.949, + "pct_numpy": 105.4, + "status": "close" + }, + { + "operation": "np.amax axis=0 (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0145, + "numsharp_ms": 0.0175, + "ratio": 0.83, + "pct_numpy": 120.5, + "status": "close" + }, + { + "operation": "np.mean axis=0 (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0166, + "numsharp_ms": 0.0148, + "ratio": 1.12, + "pct_numpy": 89.3, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0198, + "numsharp_ms": 0.0144, + "ratio": 1.371, + "pct_numpy": 72.9, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.068, + "numsharp_ms": 0.0252, + "ratio": 2.704, + "pct_numpy": 37.0, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0637, + "numsharp_ms": 0.0263, + "ratio": 2.424, + "pct_numpy": 41.2, + "status": "faster" + }, + { + "operation": "np.sum (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.0294, + "numsharp_ms": 0.0101, + "ratio": 2.914, + "pct_numpy": 34.3, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.0309, + "numsharp_ms": 0.0204, + "ratio": 1.51, + "pct_numpy": 66.2, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.034, + "numsharp_ms": 0.0306, + "ratio": 1.113, + "pct_numpy": 89.9, + "status": "faster" + }, + { + "operation": "np.mean (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.0305, + "numsharp_ms": 0.0101, + "ratio": 3.014, + "pct_numpy": 33.2, + "status": "faster" + }, + { + "operation": "np.amin (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.1527, + "numsharp_ms": 0.1141, + "ratio": 1.338, + "pct_numpy": 74.7, + "status": "faster" + }, + { + "operation": "np.amax (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.1573, + "numsharp_ms": 0.1142, + "ratio": 1.378, + "pct_numpy": 72.6, + "status": "faster" + }, + { + "operation": "np.argmin (complex128)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.1139, + "numsharp_ms": 0.1141, + "ratio": 0.999, + "pct_numpy": 100.1, + "status": "close" + }, + { + "operation": "np.argmax (complex128)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.1132, + "numsharp_ms": 0.1141, + "ratio": 0.993, + "pct_numpy": 100.8, + "status": "close" + }, + { + "operation": "np.cumsum (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.3769, + "numsharp_ms": 0.2333, + "ratio": 1.615, + "pct_numpy": 61.9, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.1409, + "numsharp_ms": 0.148, + "ratio": 0.952, + "pct_numpy": 105.0, + "status": "close" + }, + { + "operation": "np.amax axis=0 (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.155, + "numsharp_ms": 0.1176, + "ratio": 1.318, + "pct_numpy": 75.8, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.0286, + "numsharp_ms": 0.0241, + "ratio": 1.186, + "pct_numpy": 84.3, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 100000, + "numpy_ms": 0.0443, + "numsharp_ms": 0.0348, + "ratio": 1.273, + "pct_numpy": 78.6, + "status": "faster" + }, + { + "operation": "np.nansum(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.2885, + "numsharp_ms": 0.0901, + "ratio": 3.203, + "pct_numpy": 31.2, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.3723, + "numsharp_ms": 0.1054, + "ratio": 3.531, + "pct_numpy": 28.3, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.5409, + "numsharp_ms": 0.3172, + "ratio": 1.705, + "pct_numpy": 58.6, + "status": "faster" + }, + { + "operation": "np.nanmin(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.5322, + "numsharp_ms": 0.3019, + "ratio": 1.763, + "pct_numpy": 56.7, + "status": "faster" + }, + { + "operation": "np.nanstd(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.2279, + "numsharp_ms": 0.2159, + "ratio": 5.687, + "pct_numpy": 17.6, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.227, + "numsharp_ms": 0.216, + "ratio": 5.68, + "pct_numpy": 17.6, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.1701, + "numsharp_ms": 0.0886, + "ratio": 1.92, + "pct_numpy": 52.1, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.9889, + "numsharp_ms": 1.3085, + "ratio": 0.756, + "pct_numpy": 132.3, + "status": "close" + }, + { + "operation": "np.nanpercentile(a, 50) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.8857, + "numsharp_ms": 1.3044, + "ratio": 1.446, + "pct_numpy": 69.2, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.8626, + "numsharp_ms": 1.3071, + "ratio": 1.425, + "pct_numpy": 70.2, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.4103, + "numsharp_ms": 0.9506, + "ratio": 0.432, + "pct_numpy": 231.7, + "status": "slower" + }, + { + "operation": "np.nansum(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0321, + "numsharp_ms": 0.0049, + "ratio": 6.506, + "pct_numpy": 15.4, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0751, + "numsharp_ms": 0.0383, + "ratio": 1.959, + "pct_numpy": 51.1, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0081, + "numsharp_ms": 0.0287, + "ratio": 0.281, + "pct_numpy": 355.6, + "status": "slower" + }, + { + "operation": "np.nanmin(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0072, + "numsharp_ms": 0.0287, + "ratio": 0.25, + "pct_numpy": 399.7, + "status": "slower" + }, + { + "operation": "np.nanstd(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1683, + "numsharp_ms": 0.0864, + "ratio": 1.949, + "pct_numpy": 51.3, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1645, + "numsharp_ms": 0.0864, + "ratio": 1.904, + "pct_numpy": 52.5, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1604, + "numsharp_ms": 0.0119, + "ratio": 13.534, + "pct_numpy": 7.4, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.4888, + "numsharp_ms": 0.6965, + "ratio": 0.702, + "pct_numpy": 142.5, + "status": "close" + }, + { + "operation": "np.nanpercentile(a, 50) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.7602, + "numsharp_ms": 0.696, + "ratio": 1.092, + "pct_numpy": 91.6, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.7231, + "numsharp_ms": 0.6973, + "ratio": 1.037, + "pct_numpy": 96.4, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.17, + "numsharp_ms": 0.1114, + "ratio": 1.526, + "pct_numpy": 65.5, + "status": "faster" + }, + { + "operation": "np.nansum(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0471, + "numsharp_ms": 0.0097, + "ratio": 4.878, + "pct_numpy": 20.5, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.3101, + "numsharp_ms": 0.0378, + "ratio": 8.208, + "pct_numpy": 12.2, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0115, + "numsharp_ms": 0.059, + "ratio": 0.195, + "pct_numpy": 512.5, + "status": "much_slower" + }, + { + "operation": "np.nanmin(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0114, + "numsharp_ms": 0.0589, + "ratio": 0.193, + "pct_numpy": 519.0, + "status": "much_slower" + }, + { + "operation": "np.nanstd(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.4497, + "numsharp_ms": 0.0761, + "ratio": 5.911, + "pct_numpy": 16.9, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.4356, + "numsharp_ms": 0.0762, + "ratio": 5.719, + "pct_numpy": 17.5, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1079, + "numsharp_ms": 0.0235, + "ratio": 4.597, + "pct_numpy": 21.8, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.521, + "numsharp_ms": 0.7022, + "ratio": 0.742, + "pct_numpy": 134.8, + "status": "close" + }, + { + "operation": "np.nanpercentile(a, 50) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.7628, + "numsharp_ms": 0.7034, + "ratio": 1.085, + "pct_numpy": 92.2, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.7484, + "numsharp_ms": 0.7037, + "ratio": 1.064, + "pct_numpy": 94.0, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1694, + "numsharp_ms": 0.1446, + "ratio": 1.172, + "pct_numpy": 85.3, + "status": "faster" + }, + { + "operation": "np.prod (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0572, + "numsharp_ms": 0.0143, + "ratio": 3.999, + "pct_numpy": 25.0, + "status": "faster" + }, + { + "operation": "np.prod axis=0 (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0272, + "numsharp_ms": 0.0152, + "ratio": 1.789, + "pct_numpy": 55.9, + "status": "faster" + }, + { + "operation": "np.prod axis=1 (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0458, + "numsharp_ms": 0.0171, + "ratio": 2.682, + "pct_numpy": 37.3, + "status": "faster" + }, + { + "operation": "np.prod (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 2.331, + "numsharp_ms": 0.17, + "ratio": 13.711, + "pct_numpy": 7.3, + "status": "faster" + }, + { + "operation": "np.prod axis=0 (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0136, + "numsharp_ms": 0.0089, + "ratio": 1.538, + "pct_numpy": 65.0, + "status": "faster" + }, + { + "operation": "np.prod axis=1 (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0601, + "numsharp_ms": 0.005, + "ratio": 12.135, + "pct_numpy": 8.2, + "status": "faster" + }, + { + "operation": "np.sum (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.2589, + "numsharp_ms": 1.846, + "ratio": 1.765, + "pct_numpy": 56.6, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.5577, + "numsharp_ms": 0.526, + "ratio": 8.665, + "pct_numpy": 11.5, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.2063, + "numsharp_ms": 0.2647, + "ratio": 12.113, + "pct_numpy": 8.3, + "status": "faster" + }, + { + "operation": "np.mean (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 5.0561, + "numsharp_ms": 1.8459, + "ratio": 2.739, + "pct_numpy": 36.5, + "status": "faster" + }, + { + "operation": "np.amin (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 0.135, + "numsharp_ms": 0.1465, + "ratio": 0.921, + "pct_numpy": 108.5, + "status": "close" + }, + { + "operation": "np.amax (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 0.1351, + "numsharp_ms": 0.1468, + "ratio": 0.92, + "pct_numpy": 108.7, + "status": "close" + }, + { + "operation": "np.argmin (uint8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 0.2237, + "numsharp_ms": 0.1465, + "ratio": 1.527, + "pct_numpy": 65.5, + "status": "faster" + }, + { + "operation": "np.argmax (uint8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 0.2246, + "numsharp_ms": 0.1465, + "ratio": 1.533, + "pct_numpy": 65.2, + "status": "faster" + }, + { + "operation": "np.cumsum (uint8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 28.9566, + "numsharp_ms": 10.2799, + "ratio": 2.817, + "pct_numpy": 35.5, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 0.209, + "numsharp_ms": 0.1721, + "ratio": 1.215, + "pct_numpy": 82.3, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 0.2207, + "numsharp_ms": 0.1718, + "ratio": 1.284, + "pct_numpy": 77.9, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 5.3637, + "numsharp_ms": 0.7883, + "ratio": 6.804, + "pct_numpy": 14.7, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 5.2924, + "numsharp_ms": 0.7077, + "ratio": 7.478, + "pct_numpy": 13.4, + "status": "faster" + }, + { + "operation": "np.sum (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.2333, + "numsharp_ms": 1.8404, + "ratio": 1.757, + "pct_numpy": 56.9, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.644, + "numsharp_ms": 0.5247, + "ratio": 8.851, + "pct_numpy": 11.3, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.5111, + "numsharp_ms": 0.264, + "ratio": 13.301, + "pct_numpy": 7.5, + "status": "faster" + }, + { + "operation": "np.mean (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 5.6945, + "numsharp_ms": 1.8461, + "ratio": 3.085, + "pct_numpy": 32.4, + "status": "faster" + }, + { + "operation": "np.amin (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 0.1435, + "numsharp_ms": 0.1467, + "ratio": 0.978, + "pct_numpy": 102.2, + "status": "close" + }, + { + "operation": "np.amax (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 0.1508, + "numsharp_ms": 0.1463, + "ratio": 1.031, + "pct_numpy": 97.0, + "status": "faster" + }, + { + "operation": "np.argmin (int8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 0.1626, + "numsharp_ms": 0.1468, + "ratio": 1.108, + "pct_numpy": 90.3, + "status": "faster" + }, + { + "operation": "np.argmax (int8)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 0.1717, + "numsharp_ms": 0.1469, + "ratio": 1.168, + "pct_numpy": 85.6, + "status": "faster" + }, + { + "operation": "np.cumsum (int8)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 41.0555, + "numsharp_ms": 10.2543, + "ratio": 4.004, + "pct_numpy": 25.0, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 0.2767, + "numsharp_ms": 0.1726, + "ratio": 1.603, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int8)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 0.3964, + "numsharp_ms": 0.1724, + "ratio": 2.3, + "pct_numpy": 43.5, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 6.4497, + "numsharp_ms": 0.8079, + "ratio": 7.983, + "pct_numpy": 12.5, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int8)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 5.5023, + "numsharp_ms": 0.711, + "ratio": 7.738, + "pct_numpy": 12.9, + "status": "faster" + }, + { + "operation": "np.sum (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 3.5547, + "numsharp_ms": 1.9468, + "ratio": 1.826, + "pct_numpy": 54.8, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 5.0614, + "numsharp_ms": 0.5369, + "ratio": 9.427, + "pct_numpy": 10.6, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 3.6422, + "numsharp_ms": 0.4546, + "ratio": 8.011, + "pct_numpy": 12.5, + "status": "faster" + }, + { + "operation": "np.mean (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 6.375, + "numsharp_ms": 1.9609, + "ratio": 3.251, + "pct_numpy": 30.8, + "status": "faster" + }, + { + "operation": "np.amin (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 0.7445, + "numsharp_ms": 0.333, + "ratio": 2.236, + "pct_numpy": 44.7, + "status": "faster" + }, + { + "operation": "np.amax (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 0.4359, + "numsharp_ms": 0.3359, + "ratio": 1.298, + "pct_numpy": 77.1, + "status": "faster" + }, + { + "operation": "np.argmin (int16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 0.7167, + "numsharp_ms": 0.3613, + "ratio": 1.984, + "pct_numpy": 50.4, + "status": "faster" + }, + { + "operation": "np.argmax (int16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 0.6951, + "numsharp_ms": 0.3548, + "ratio": 1.959, + "pct_numpy": 51.1, + "status": "faster" + }, + { + "operation": "np.cumsum (int16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 48.4266, + "numsharp_ms": 10.6129, + "ratio": 4.563, + "pct_numpy": 21.9, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 0.5065, + "numsharp_ms": 0.3754, + "ratio": 1.349, + "pct_numpy": 74.1, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 0.5073, + "numsharp_ms": 0.3767, + "ratio": 1.346, + "pct_numpy": 74.3, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 5.3822, + "numsharp_ms": 0.963, + "ratio": 5.589, + "pct_numpy": 17.9, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 6.0592, + "numsharp_ms": 0.8322, + "ratio": 7.281, + "pct_numpy": 13.7, + "status": "faster" + }, + { + "operation": "np.sum (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 3.7579, + "numsharp_ms": 1.9368, + "ratio": 1.94, + "pct_numpy": 51.5, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 4.7415, + "numsharp_ms": 0.6972, + "ratio": 6.801, + "pct_numpy": 14.7, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 3.8775, + "numsharp_ms": 0.4583, + "ratio": 8.461, + "pct_numpy": 11.8, + "status": "faster" + }, + { + "operation": "np.mean (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.1914, + "numsharp_ms": 1.9498, + "ratio": 2.662, + "pct_numpy": 37.6, + "status": "faster" + }, + { + "operation": "np.amin (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 0.3225, + "numsharp_ms": 0.3309, + "ratio": 0.974, + "pct_numpy": 102.6, + "status": "close" + }, + { + "operation": "np.amax (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 0.2938, + "numsharp_ms": 0.3342, + "ratio": 0.879, + "pct_numpy": 113.7, + "status": "close" + }, + { + "operation": "np.argmin (uint16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 0.5632, + "numsharp_ms": 0.3583, + "ratio": 1.572, + "pct_numpy": 63.6, + "status": "faster" + }, + { + "operation": "np.argmax (uint16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 0.5085, + "numsharp_ms": 0.3549, + "ratio": 1.433, + "pct_numpy": 69.8, + "status": "faster" + }, + { + "operation": "np.cumsum (uint16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 34.5917, + "numsharp_ms": 10.5051, + "ratio": 3.293, + "pct_numpy": 30.4, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 0.4421, + "numsharp_ms": 0.3803, + "ratio": 1.163, + "pct_numpy": 86.0, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 0.4804, + "numsharp_ms": 0.3808, + "ratio": 1.262, + "pct_numpy": 79.3, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.8879, + "numsharp_ms": 0.9392, + "ratio": 6.269, + "pct_numpy": 16.0, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.4615, + "numsharp_ms": 0.8406, + "ratio": 6.497, + "pct_numpy": 15.4, + "status": "faster" + }, + { + "operation": "np.sum (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.7348, + "numsharp_ms": 2.6909, + "ratio": 1.76, + "pct_numpy": 56.8, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 5.6694, + "numsharp_ms": 1.8929, + "ratio": 2.995, + "pct_numpy": 33.4, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.2337, + "numsharp_ms": 1.6246, + "ratio": 2.606, + "pct_numpy": 38.4, + "status": "faster" + }, + { + "operation": "np.mean (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.9575, + "numsharp_ms": 2.6752, + "ratio": 1.853, + "pct_numpy": 54.0, + "status": "faster" + }, + { + "operation": "np.amin (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 1.215, + "numsharp_ms": 1.0174, + "ratio": 1.194, + "pct_numpy": 83.7, + "status": "faster" + }, + { + "operation": "np.amax (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 1.2908, + "numsharp_ms": 1.0195, + "ratio": 1.266, + "pct_numpy": 79.0, + "status": "faster" + }, + { + "operation": "np.argmin (int32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 1.7646, + "numsharp_ms": 1.1707, + "ratio": 1.507, + "pct_numpy": 66.3, + "status": "faster" + }, + { + "operation": "np.argmax (int32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 1.8979, + "numsharp_ms": 1.2026, + "ratio": 1.578, + "pct_numpy": 63.4, + "status": "faster" + }, + { + "operation": "np.cumsum (int32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 32.388, + "numsharp_ms": 11.1306, + "ratio": 2.91, + "pct_numpy": 34.4, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 2.0366, + "numsharp_ms": 1.2825, + "ratio": 1.588, + "pct_numpy": 63.0, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 1.7469, + "numsharp_ms": 1.3193, + "ratio": 1.324, + "pct_numpy": 75.5, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.5299, + "numsharp_ms": 1.7225, + "ratio": 2.63, + "pct_numpy": 38.0, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (int32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.8185, + "numsharp_ms": 1.4394, + "ratio": 3.348, + "pct_numpy": 29.9, + "status": "faster" + }, + { + "operation": "np.sum (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 4.056, + "numsharp_ms": 2.6922, + "ratio": 1.507, + "pct_numpy": 66.4, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 5.5471, + "numsharp_ms": 1.7971, + "ratio": 3.087, + "pct_numpy": 32.4, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 4.2817, + "numsharp_ms": 1.6385, + "ratio": 2.613, + "pct_numpy": 38.3, + "status": "faster" + }, + { + "operation": "np.mean (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 4.6035, + "numsharp_ms": 2.6686, + "ratio": 1.725, + "pct_numpy": 58.0, + "status": "faster" + }, + { + "operation": "np.amin (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 1.0859, + "numsharp_ms": 1.019, + "ratio": 1.066, + "pct_numpy": 93.8, + "status": "faster" + }, + { + "operation": "np.amax (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 1.4205, + "numsharp_ms": 1.0043, + "ratio": 1.414, + "pct_numpy": 70.7, + "status": "faster" + }, + { + "operation": "np.argmin (uint32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 1.848, + "numsharp_ms": 1.1772, + "ratio": 1.57, + "pct_numpy": 63.7, + "status": "faster" + }, + { + "operation": "np.argmax (uint32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 1.8851, + "numsharp_ms": 1.2169, + "ratio": 1.549, + "pct_numpy": 64.6, + "status": "faster" + }, + { + "operation": "np.cumsum (uint32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 29.7223, + "numsharp_ms": 11.0895, + "ratio": 2.68, + "pct_numpy": 37.3, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 1.8904, + "numsharp_ms": 1.2875, + "ratio": 1.468, + "pct_numpy": 68.1, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 1.6177, + "numsharp_ms": 1.2662, + "ratio": 1.278, + "pct_numpy": 78.3, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 4.9815, + "numsharp_ms": 2.0165, + "ratio": 2.47, + "pct_numpy": 40.5, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (uint32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 4.9555, + "numsharp_ms": 1.8041, + "ratio": 2.747, + "pct_numpy": 36.4, + "status": "faster" + }, + { + "operation": "np.sum (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 4.149, + "numsharp_ms": 2.831, + "ratio": 1.466, + "pct_numpy": 68.2, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 5.6011, + "numsharp_ms": 3.2402, + "ratio": 1.729, + "pct_numpy": 57.8, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 4.722, + "numsharp_ms": 2.8722, + "ratio": 1.644, + "pct_numpy": 60.8, + "status": "faster" + }, + { + "operation": "np.mean (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 6.3414, + "numsharp_ms": 2.773, + "ratio": 2.287, + "pct_numpy": 43.7, + "status": "faster" + }, + { + "operation": "np.amin (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 3.3282, + "numsharp_ms": 3.5, + "ratio": 0.951, + "pct_numpy": 105.2, + "status": "close" + }, + { + "operation": "np.amax (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 3.4074, + "numsharp_ms": 3.5508, + "ratio": 0.96, + "pct_numpy": 104.2, + "status": "close" + }, + { + "operation": "np.argmin (int64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 4.0644, + "numsharp_ms": 4.5666, + "ratio": 0.89, + "pct_numpy": 112.4, + "status": "close" + }, + { + "operation": "np.argmax (int64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 4.1056, + "numsharp_ms": 4.5513, + "ratio": 0.902, + "pct_numpy": 110.9, + "status": "close" + }, + { + "operation": "np.cumsum (int64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 16.3798, + "numsharp_ms": 12.7464, + "ratio": 1.285, + "pct_numpy": 77.8, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 4.3888, + "numsharp_ms": 3.6438, + "ratio": 1.204, + "pct_numpy": 83.0, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (int64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 4.141, + "numsharp_ms": 3.6647, + "ratio": 1.13, + "pct_numpy": 88.5, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 5.9854, + "numsharp_ms": 37.4022, + "ratio": 0.16, + "pct_numpy": 624.9, + "status": "much_slower" + }, + { + "operation": "np.mean axis=1 (int64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 6.3625, + "numsharp_ms": 6.9185, + "ratio": 0.92, + "pct_numpy": 108.7, + "status": "close" + }, + { + "operation": "np.sum (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 4.2549, + "numsharp_ms": 2.9226, + "ratio": 1.456, + "pct_numpy": 68.7, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 5.1406, + "numsharp_ms": 3.235, + "ratio": 1.589, + "pct_numpy": 62.9, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 4.6457, + "numsharp_ms": 2.8809, + "ratio": 1.613, + "pct_numpy": 62.0, + "status": "faster" + }, + { + "operation": "np.mean (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 7.3769, + "numsharp_ms": 2.7725, + "ratio": 2.661, + "pct_numpy": 37.6, + "status": "faster" + }, + { + "operation": "np.amin (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 3.6037, + "numsharp_ms": 3.7516, + "ratio": 0.961, + "pct_numpy": 104.1, + "status": "close" + }, + { + "operation": "np.amax (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 3.6692, + "numsharp_ms": 3.6868, + "ratio": 0.995, + "pct_numpy": 100.5, + "status": "close" + }, + { + "operation": "np.argmin (uint64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 4.2831, + "numsharp_ms": 4.9246, + "ratio": 0.87, + "pct_numpy": 115.0, + "status": "close" + }, + { + "operation": "np.argmax (uint64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 4.3878, + "numsharp_ms": 4.9463, + "ratio": 0.887, + "pct_numpy": 112.7, + "status": "close" + }, + { + "operation": "np.cumsum (uint64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 16.2415, + "numsharp_ms": 12.757, + "ratio": 1.273, + "pct_numpy": 78.5, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 4.4047, + "numsharp_ms": 3.8707, + "ratio": 1.138, + "pct_numpy": 87.9, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (uint64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 4.3907, + "numsharp_ms": 3.8229, + "ratio": 1.149, + "pct_numpy": 87.1, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 7.1495, + "numsharp_ms": 43.0435, + "ratio": 0.166, + "pct_numpy": 602.1, + "status": "much_slower" + }, + { + "operation": "np.mean axis=1 (uint64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 7.3817, + "numsharp_ms": 9.011, + "ratio": 0.819, + "pct_numpy": 122.1, + "status": "close" + }, + { + "operation": "np.sum (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 19.9449, + "numsharp_ms": 8.0365, + "ratio": 2.482, + "pct_numpy": 40.3, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 29.044, + "numsharp_ms": 14.1979, + "ratio": 2.046, + "pct_numpy": 48.9, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 19.7912, + "numsharp_ms": 12.4799, + "ratio": 1.586, + "pct_numpy": 63.1, + "status": "faster" + }, + { + "operation": "np.mean (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 10.4935, + "numsharp_ms": 8.019, + "ratio": 1.309, + "pct_numpy": 76.4, + "status": "faster" + }, + { + "operation": "np.var (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 91.466, + "numsharp_ms": 18.1038, + "ratio": 5.052, + "pct_numpy": 19.8, + "status": "faster" + }, + { + "operation": "np.std (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 90.8149, + "numsharp_ms": 18.0508, + "ratio": 5.031, + "pct_numpy": 19.9, + "status": "faster" + }, + { + "operation": "np.amin (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 51.8815, + "numsharp_ms": 31.4161, + "ratio": 1.651, + "pct_numpy": 60.6, + "status": "faster" + }, + { + "operation": "np.amax (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 50.6659, + "numsharp_ms": 33.1861, + "ratio": 1.527, + "pct_numpy": 65.5, + "status": "faster" + }, + { + "operation": "np.argmin (float16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 42.5861, + "numsharp_ms": 14.1619, + "ratio": 3.007, + "pct_numpy": 33.3, + "status": "faster" + }, + { + "operation": "np.argmax (float16)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 43.8538, + "numsharp_ms": 14.1652, + "ratio": 3.096, + "pct_numpy": 32.3, + "status": "faster" + }, + { + "operation": "np.cumsum (float16)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 49.3071, + "numsharp_ms": 90.7463, + "ratio": 0.543, + "pct_numpy": 184.0, + "status": "close" + }, + { + "operation": "np.amin axis=0 (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 47.3591, + "numsharp_ms": 77.6081, + "ratio": 0.61, + "pct_numpy": 163.9, + "status": "close" + }, + { + "operation": "np.amax axis=0 (float16)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 49.742, + "numsharp_ms": 78.1538, + "ratio": 0.636, + "pct_numpy": 157.1, + "status": "close" + }, + { + "operation": "np.mean axis=0 (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 7.3133, + "numsharp_ms": 14.1963, + "ratio": 0.515, + "pct_numpy": 194.1, + "status": "close" + }, + { + "operation": "np.mean axis=1 (float16)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 7.9626, + "numsharp_ms": 12.5326, + "ratio": 0.635, + "pct_numpy": 157.4, + "status": "close" + }, + { + "operation": "np.var axis=0 (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 109.8825, + "numsharp_ms": 83.9268, + "ratio": 1.309, + "pct_numpy": 76.4, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float16)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 110.0006, + "numsharp_ms": 83.8826, + "ratio": 1.311, + "pct_numpy": 76.3, + "status": "faster" + }, + { + "operation": "np.sum (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.0579, + "numsharp_ms": 1.0257, + "ratio": 2.981, + "pct_numpy": 33.5, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.8895, + "numsharp_ms": 1.337, + "ratio": 1.413, + "pct_numpy": 70.8, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.385, + "numsharp_ms": 1.8916, + "ratio": 1.789, + "pct_numpy": 55.9, + "status": "faster" + }, + { + "operation": "np.mean (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.6083, + "numsharp_ms": 1.0039, + "ratio": 3.594, + "pct_numpy": 27.8, + "status": "faster" + }, + { + "operation": "np.var (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 17.1259, + "numsharp_ms": 2.6208, + "ratio": 6.535, + "pct_numpy": 15.3, + "status": "faster" + }, + { + "operation": "np.std (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 17.8322, + "numsharp_ms": 2.6281, + "ratio": 6.785, + "pct_numpy": 14.7, + "status": "faster" + }, + { + "operation": "np.amin (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.4447, + "numsharp_ms": 1.3328, + "ratio": 1.084, + "pct_numpy": 92.3, + "status": "faster" + }, + { + "operation": "np.amax (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.5947, + "numsharp_ms": 1.2905, + "ratio": 1.236, + "pct_numpy": 80.9, + "status": "faster" + }, + { + "operation": "np.argmin (float32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 2.7401, + "numsharp_ms": 5.7656, + "ratio": 0.475, + "pct_numpy": 210.4, + "status": "slower" + }, + { + "operation": "np.argmax (float32)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 2.3137, + "numsharp_ms": 5.7594, + "ratio": 0.402, + "pct_numpy": 248.9, + "status": "slower" + }, + { + "operation": "np.cumsum (float32)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 20.1855, + "numsharp_ms": 7.3471, + "ratio": 2.747, + "pct_numpy": 36.4, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.7252, + "numsharp_ms": 1.8255, + "ratio": 0.945, + "pct_numpy": 105.8, + "status": "close" + }, + { + "operation": "np.amax axis=0 (float32)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.6926, + "numsharp_ms": 1.8598, + "ratio": 0.91, + "pct_numpy": 109.9, + "status": "close" + }, + { + "operation": "np.mean axis=0 (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.4901, + "numsharp_ms": 1.3911, + "ratio": 1.071, + "pct_numpy": 93.4, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (float32)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 2.9697, + "numsharp_ms": 1.9066, + "ratio": 1.558, + "pct_numpy": 64.2, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 14.0847, + "numsharp_ms": 4.7475, + "ratio": 2.967, + "pct_numpy": 33.7, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float32)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 14.2545, + "numsharp_ms": 4.6258, + "ratio": 3.082, + "pct_numpy": 32.5, + "status": "faster" + }, + { + "operation": "np.sum (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.8117, + "numsharp_ms": 2.8908, + "ratio": 1.664, + "pct_numpy": 60.1, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.4762, + "numsharp_ms": 3.42, + "ratio": 1.016, + "pct_numpy": 98.4, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 5.1036, + "numsharp_ms": 3.6624, + "ratio": 1.394, + "pct_numpy": 71.8, + "status": "faster" + }, + { + "operation": "np.mean (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.6544, + "numsharp_ms": 2.7943, + "ratio": 1.666, + "pct_numpy": 60.0, + "status": "faster" + }, + { + "operation": "np.var (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 30.5902, + "numsharp_ms": 6.6728, + "ratio": 4.584, + "pct_numpy": 21.8, + "status": "faster" + }, + { + "operation": "np.std (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 30.3403, + "numsharp_ms": 6.6087, + "ratio": 4.591, + "pct_numpy": 21.8, + "status": "faster" + }, + { + "operation": "np.amin (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.3498, + "numsharp_ms": 3.2187, + "ratio": 1.041, + "pct_numpy": 96.1, + "status": "faster" + }, + { + "operation": "np.amax (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.3475, + "numsharp_ms": 3.2005, + "ratio": 1.046, + "pct_numpy": 95.6, + "status": "faster" + }, + { + "operation": "np.argmin (float64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.2847, + "numsharp_ms": 6.7686, + "ratio": 0.633, + "pct_numpy": 158.0, + "status": "close" + }, + { + "operation": "np.argmax (float64)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.118, + "numsharp_ms": 6.8003, + "ratio": 0.606, + "pct_numpy": 165.1, + "status": "close" + }, + { + "operation": "np.cumsum (float64)", + "suite": "Reduction", + "category": "Sum", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 24.6822, + "numsharp_ms": 13.3431, + "ratio": 1.85, + "pct_numpy": 54.1, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.0124, + "numsharp_ms": 4.1873, + "ratio": 0.958, + "pct_numpy": 104.4, + "status": "close" + }, + { + "operation": "np.amax axis=0 (float64)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.9104, + "numsharp_ms": 4.2597, + "ratio": 0.918, + "pct_numpy": 108.9, + "status": "close" + }, + { + "operation": "np.mean axis=0 (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.3836, + "numsharp_ms": 3.4775, + "ratio": 0.973, + "pct_numpy": 102.8, + "status": "close" + }, + { + "operation": "np.mean axis=1 (float64)", + "suite": "Reduction", + "category": "Mean", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 5.1086, + "numsharp_ms": 3.6854, + "ratio": 1.386, + "pct_numpy": 72.1, + "status": "faster" + }, + { + "operation": "np.var axis=0 (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 28.5127, + "numsharp_ms": 7.5344, + "ratio": 3.784, + "pct_numpy": 26.4, + "status": "faster" + }, + { + "operation": "np.std axis=0 (float64)", + "suite": "Reduction", + "category": "VarStd", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 30.0409, + "numsharp_ms": 7.5189, + "ratio": 3.995, + "pct_numpy": 25.0, + "status": "faster" + }, + { + "operation": "np.sum (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 8.9925, + "numsharp_ms": 6.494, + "ratio": 1.385, + "pct_numpy": 72.2, + "status": "faster" + }, + { + "operation": "np.sum axis=0 (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 7.4501, + "numsharp_ms": 7.3478, + "ratio": 1.014, + "pct_numpy": 98.6, + "status": "faster" + }, + { + "operation": "np.sum axis=1 (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 9.2453, + "numsharp_ms": 8.6134, + "ratio": 1.073, + "pct_numpy": 93.2, + "status": "faster" + }, + { + "operation": "np.mean (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 8.5581, + "numsharp_ms": 6.4565, + "ratio": 1.326, + "pct_numpy": 75.4, + "status": "faster" + }, + { + "operation": "np.amin (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 16.4378, + "numsharp_ms": 13.5639, + "ratio": 1.212, + "pct_numpy": 82.5, + "status": "faster" + }, + { + "operation": "np.amax (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 16.624, + "numsharp_ms": 13.6265, + "ratio": 1.22, + "pct_numpy": 82.0, + "status": "faster" + }, + { + "operation": "np.argmin (complex128)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 13.8711, + "numsharp_ms": 13.6034, + "ratio": 1.02, + "pct_numpy": 98.1, + "status": "faster" + }, + { + "operation": "np.argmax (complex128)", + "suite": "Reduction", + "category": "ArgMinMax", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 14.1968, + "numsharp_ms": 13.559, + "ratio": 1.047, + "pct_numpy": 95.5, + "status": "faster" + }, + { + "operation": "np.cumsum (complex128)", + "suite": "Reduction", + "category": "Sum", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 41.3487, + "numsharp_ms": 24.978, + "ratio": 1.655, + "pct_numpy": 60.4, + "status": "faster" + }, + { + "operation": "np.amin axis=0 (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 15.7182, + "numsharp_ms": 15.273, + "ratio": 1.029, + "pct_numpy": 97.2, + "status": "faster" + }, + { + "operation": "np.amax axis=0 (complex128)", + "suite": "Reduction", + "category": "MinMax", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 16.0042, + "numsharp_ms": 13.0433, + "ratio": 1.227, + "pct_numpy": 81.5, + "status": "faster" + }, + { + "operation": "np.mean axis=0 (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 7.5298, + "numsharp_ms": 7.0381, + "ratio": 1.07, + "pct_numpy": 93.5, + "status": "faster" + }, + { + "operation": "np.mean axis=1 (complex128)", + "suite": "Reduction", + "category": "Mean", + "dtype": "complex128", + "n": 10000000, + "numpy_ms": 8.4055, + "numsharp_ms": 8.066, + "ratio": 1.042, + "pct_numpy": 96.0, + "status": "faster" + }, + { + "operation": "np.nansum(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 31.6077, + "numsharp_ms": 8.9086, + "ratio": 3.548, + "pct_numpy": 28.2, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 37.8624, + "numsharp_ms": 10.5382, + "ratio": 3.593, + "pct_numpy": 27.8, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 51.244, + "numsharp_ms": 32.5673, + "ratio": 1.573, + "pct_numpy": 63.6, + "status": "faster" + }, + { + "operation": "np.nanmin(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 51.4324, + "numsharp_ms": 31.1142, + "ratio": 1.653, + "pct_numpy": 60.5, + "status": "faster" + }, + { + "operation": "np.nanstd(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 119.9407, + "numsharp_ms": 21.6231, + "ratio": 5.547, + "pct_numpy": 18.0, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 120.0573, + "numsharp_ms": 21.5187, + "ratio": 5.579, + "pct_numpy": 17.9, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 20.5179, + "numsharp_ms": 8.9271, + "ratio": 2.298, + "pct_numpy": 43.5, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 114.7082, + "numsharp_ms": 92.8901, + "ratio": 1.235, + "pct_numpy": 81.0, + "status": "faster" + }, + { + "operation": "np.nanpercentile(a, 50) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 120.9498, + "numsharp_ms": 92.9097, + "ratio": 1.302, + "pct_numpy": 76.8, + "status": "faster" + }, + { + "operation": "np.nanquantile(a, 0.5) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 121.1817, + "numsharp_ms": 92.8534, + "ratio": 1.305, + "pct_numpy": 76.6, + "status": "faster" + }, + { + "operation": "np.cumprod(a) (float16)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 43.5457, + "numsharp_ms": 94.226, + "ratio": 0.462, + "pct_numpy": 216.4, + "status": "slower" + }, + { + "operation": "np.nansum(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 13.3987, + "numsharp_ms": 1.4131, + "ratio": 9.482, + "pct_numpy": 10.5, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 19.3182, + "numsharp_ms": 4.1701, + "ratio": 4.633, + "pct_numpy": 21.6, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.5124, + "numsharp_ms": 3.2798, + "ratio": 0.461, + "pct_numpy": 216.9, + "status": "slower" + }, + { + "operation": "np.nanmin(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1.5001, + "numsharp_ms": 3.3155, + "ratio": 0.452, + "pct_numpy": 221.0, + "status": "slower" + }, + { + "operation": "np.nanstd(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 31.9536, + "numsharp_ms": 9.206, + "ratio": 3.471, + "pct_numpy": 28.8, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 32.0612, + "numsharp_ms": 9.2119, + "ratio": 3.48, + "pct_numpy": 28.7, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 18.0353, + "numsharp_ms": 1.754, + "ratio": 10.282, + "pct_numpy": 9.7, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 77.3793, + "numsharp_ms": 80.5553, + "ratio": 0.961, + "pct_numpy": 104.1, + "status": "close" + }, + { + "operation": "np.nanpercentile(a, 50) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 51.8789, + "numsharp_ms": 80.6571, + "ratio": 0.643, + "pct_numpy": 155.5, + "status": "close" + }, + { + "operation": "np.nanquantile(a, 0.5) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 51.1057, + "numsharp_ms": 80.6773, + "ratio": 0.633, + "pct_numpy": 157.9, + "status": "close" + }, + { + "operation": "np.cumprod(a) (float32)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 20.8437, + "numsharp_ms": 10.1707, + "ratio": 2.049, + "pct_numpy": 48.8, + "status": "faster" + }, + { + "operation": "np.nansum(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 23.8754, + "numsharp_ms": 3.4851, + "ratio": 6.851, + "pct_numpy": 14.6, + "status": "faster" + }, + { + "operation": "np.nanmean(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 29.7719, + "numsharp_ms": 5.5602, + "ratio": 5.354, + "pct_numpy": 18.7, + "status": "faster" + }, + { + "operation": "np.nanmax(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.5081, + "numsharp_ms": 6.874, + "ratio": 0.51, + "pct_numpy": 195.9, + "status": "close" + }, + { + "operation": "np.nanmin(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 3.6863, + "numsharp_ms": 6.8141, + "ratio": 0.541, + "pct_numpy": 184.8, + "status": "close" + }, + { + "operation": "np.nanstd(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 49.6062, + "numsharp_ms": 11.3264, + "ratio": 4.38, + "pct_numpy": 22.8, + "status": "faster" + }, + { + "operation": "np.nanvar(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 51.1759, + "numsharp_ms": 11.2532, + "ratio": 4.548, + "pct_numpy": 22.0, + "status": "faster" + }, + { + "operation": "np.nanprod(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 28.6688, + "numsharp_ms": 3.9531, + "ratio": 7.252, + "pct_numpy": 13.8, + "status": "faster" + }, + { + "operation": "np.nanmedian(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 92.4864, + "numsharp_ms": 89.4458, + "ratio": 1.034, + "pct_numpy": 96.7, + "status": "faster" + }, + { + "operation": "np.nanpercentile(a, 50) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 63.5626, + "numsharp_ms": 89.5666, + "ratio": 0.71, + "pct_numpy": 140.9, + "status": "close" + }, + { + "operation": "np.nanquantile(a, 0.5) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 64.0584, + "numsharp_ms": 89.4386, + "ratio": 0.716, + "pct_numpy": 139.6, + "status": "close" + }, + { + "operation": "np.cumprod(a) (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 25.4983, + "numsharp_ms": 14.0728, + "ratio": 1.812, + "pct_numpy": 55.2, + "status": "faster" + }, + { + "operation": "np.prod (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 6.3161, + "numsharp_ms": 3.8044, + "ratio": 1.66, + "pct_numpy": 60.2, + "status": "faster" + }, + { + "operation": "np.prod axis=0 (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 5.0107, + "numsharp_ms": 4.1147, + "ratio": 1.218, + "pct_numpy": 82.1, + "status": "faster" + }, + { + "operation": "np.prod axis=1 (int64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 6.2759, + "numsharp_ms": 3.9188, + "ratio": 1.602, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "np.prod (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 239.6474, + "numsharp_ms": 60.4092, + "ratio": 3.967, + "pct_numpy": 25.2, + "status": "faster" + }, + { + "operation": "np.prod axis=0 (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 19.8072, + "numsharp_ms": 19.8419, + "ratio": 0.998, + "pct_numpy": 100.2, + "status": "close" + }, + { + "operation": "np.prod axis=1 (float64)", + "suite": "Reduction", + "category": "Reduction", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 69.9249, + "numsharp_ms": 3.0274, + "ratio": 23.098, + "pct_numpy": 4.3, + "status": "negligible" + }, + { + "operation": "matrix + scalar", + "suite": "Broadcasting", + "category": "Scalar", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "matrix + row_vector (N,M)+(M,)", + "suite": "Broadcasting", + "category": "Row", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0012, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "matrix + col_vector (N,M)+(N,1)", + "suite": "Broadcasting", + "category": "Column", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0013, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.broadcast_to(row, (N,M))", + "suite": "Broadcasting", + "category": "BroadcastTo", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "matrix + scalar", + "suite": "Broadcasting", + "category": "Scalar", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0142, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "matrix + row_vector (N,M)+(M,)", + "suite": "Broadcasting", + "category": "Row", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1942, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "matrix + col_vector (N,M)+(N,1)", + "suite": "Broadcasting", + "category": "Column", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1968, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.broadcast_to(row, (N,M))", + "suite": "Broadcasting", + "category": "BroadcastTo", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0021, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "matrix + scalar", + "suite": "Broadcasting", + "category": "Scalar", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 15.6849, + "numsharp_ms": 13.5809, + "ratio": 1.155, + "pct_numpy": 86.6, + "status": "faster" + }, + { + "operation": "matrix + row_vector (N,M)+(M,)", + "suite": "Broadcasting", + "category": "Row", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 16.342, + "numsharp_ms": 13.3161, + "ratio": 1.227, + "pct_numpy": 81.5, + "status": "faster" + }, + { + "operation": "matrix + col_vector (N,M)+(N,1)", + "suite": "Broadcasting", + "category": "Column", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 16.0261, + "numsharp_ms": 13.9778, + "ratio": 1.147, + "pct_numpy": 87.2, + "status": "faster" + }, + { + "operation": "np.broadcast_to(row, (N,M))", + "suite": "Broadcasting", + "category": "BroadcastTo", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0006, + "ratio": 3.217, + "pct_numpy": 31.1, + "status": "negligible" + }, + { + "operation": "np.zeros (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0107, + "ratio": 0.036, + "pct_numpy": 2815.7, + "status": "negligible" + }, + { + "operation": "np.ones (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0111, + "ratio": 0.08, + "pct_numpy": 1256.6, + "status": "negligible" + }, + { + "operation": "np.full (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0104, + "ratio": 0.088, + "pct_numpy": 1138.2, + "status": "negligible" + }, + { + "operation": "np.empty (int32)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0089, + "ratio": 0.038, + "pct_numpy": 2635.2, + "status": "negligible" + }, + { + "operation": "np.copy (int32)", + "suite": "Creation", + "category": "Copy", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0116, + "ratio": 0.051, + "pct_numpy": 1957.9, + "status": "negligible" + }, + { + "operation": "np.zeros_like (int32)", + "suite": "Creation", + "category": "Like", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0089, + "ratio": 0.119, + "pct_numpy": 842.3, + "status": "much_slower" + }, + { + "operation": "np.zeros (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.014, + "ratio": 0.027, + "pct_numpy": 3637.8, + "status": "negligible" + }, + { + "operation": "np.ones (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0145, + "ratio": 0.059, + "pct_numpy": 1684.7, + "status": "negligible" + }, + { + "operation": "np.full (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0135, + "ratio": 0.064, + "pct_numpy": 1570.6, + "status": "negligible" + }, + { + "operation": "np.empty (int64)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.015, + "ratio": 0.021, + "pct_numpy": 4695.2, + "status": "negligible" + }, + { + "operation": "np.copy (int64)", + "suite": "Creation", + "category": "Copy", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0133, + "ratio": 0.046, + "pct_numpy": 2176.6, + "status": "negligible" + }, + { + "operation": "np.zeros_like (int64)", + "suite": "Creation", + "category": "Like", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0132, + "ratio": 0.079, + "pct_numpy": 1261.0, + "status": "much_slower" + }, + { + "operation": "np.zeros (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0107, + "ratio": 0.039, + "pct_numpy": 2555.2, + "status": "negligible" + }, + { + "operation": "np.ones (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0094, + "ratio": 0.105, + "pct_numpy": 952.9, + "status": "negligible" + }, + { + "operation": "np.full (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0117, + "ratio": 0.084, + "pct_numpy": 1196.1, + "status": "negligible" + }, + { + "operation": "np.empty (float32)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0085, + "ratio": 0.039, + "pct_numpy": 2532.5, + "status": "negligible" + }, + { + "operation": "np.copy (float32)", + "suite": "Creation", + "category": "Copy", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0117, + "ratio": 0.05, + "pct_numpy": 1982.7, + "status": "negligible" + }, + { + "operation": "np.zeros_like (float32)", + "suite": "Creation", + "category": "Like", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0091, + "ratio": 0.116, + "pct_numpy": 860.8, + "status": "much_slower" + }, + { + "operation": "np.zeros (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0137, + "ratio": 0.026, + "pct_numpy": 3875.2, + "status": "negligible" + }, + { + "operation": "np.ones (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0119, + "ratio": 0.073, + "pct_numpy": 1370.5, + "status": "negligible" + }, + { + "operation": "np.full (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0142, + "ratio": 0.068, + "pct_numpy": 1465.6, + "status": "negligible" + }, + { + "operation": "np.empty (float64)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0139, + "ratio": 0.038, + "pct_numpy": 2597.8, + "status": "negligible" + }, + { + "operation": "np.copy (float64)", + "suite": "Creation", + "category": "Copy", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0198, + "ratio": 0.031, + "pct_numpy": 3271.7, + "status": "negligible" + }, + { + "operation": "np.zeros_like (float64)", + "suite": "Creation", + "category": "Like", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0012, + "numsharp_ms": 0.0135, + "ratio": 0.092, + "pct_numpy": 1085.5, + "status": "much_slower" + }, + { + "operation": "np.zeros (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0049, + "numsharp_ms": 0.002, + "ratio": 2.451, + "pct_numpy": 40.8, + "status": "faster" + }, + { + "operation": "np.ones (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0053, + "numsharp_ms": 0.0124, + "ratio": 0.427, + "pct_numpy": 233.9, + "status": "slower" + }, + { + "operation": "np.full (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0054, + "numsharp_ms": 0.0123, + "ratio": 0.438, + "pct_numpy": 228.4, + "status": "slower" + }, + { + "operation": "np.empty (int32)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0133, + "ratio": 0.026, + "pct_numpy": 3857.4, + "status": "negligible" + }, + { + "operation": "np.copy (int32)", + "suite": "Creation", + "category": "Copy", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.006, + "numsharp_ms": 0.0069, + "ratio": 0.877, + "pct_numpy": 114.0, + "status": "close" + }, + { + "operation": "np.zeros_like (int32)", + "suite": "Creation", + "category": "Like", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0057, + "numsharp_ms": 0.002, + "ratio": 2.784, + "pct_numpy": 35.9, + "status": "faster" + }, + { + "operation": "np.zeros (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0094, + "numsharp_ms": 0.0026, + "ratio": 3.703, + "pct_numpy": 27.0, + "status": "faster" + }, + { + "operation": "np.ones (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0099, + "numsharp_ms": 0.0148, + "ratio": 0.672, + "pct_numpy": 148.9, + "status": "close" + }, + { + "operation": "np.full (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.015, + "ratio": 0.653, + "pct_numpy": 153.0, + "status": "close" + }, + { + "operation": "np.empty (int64)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0152, + "ratio": 0.022, + "pct_numpy": 4621.6, + "status": "negligible" + }, + { + "operation": "np.copy (int64)", + "suite": "Creation", + "category": "Copy", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0115, + "numsharp_ms": 0.014, + "ratio": 0.817, + "pct_numpy": 122.4, + "status": "close" + }, + { + "operation": "np.zeros_like (int64)", + "suite": "Creation", + "category": "Like", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.01, + "numsharp_ms": 0.0026, + "ratio": 3.789, + "pct_numpy": 26.4, + "status": "faster" + }, + { + "operation": "np.zeros (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0048, + "numsharp_ms": 0.002, + "ratio": 2.37, + "pct_numpy": 42.2, + "status": "faster" + }, + { + "operation": "np.ones (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0054, + "numsharp_ms": 0.0124, + "ratio": 0.432, + "pct_numpy": 231.6, + "status": "slower" + }, + { + "operation": "np.full (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0053, + "numsharp_ms": 0.0126, + "ratio": 0.418, + "pct_numpy": 239.1, + "status": "slower" + }, + { + "operation": "np.empty (float32)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0141, + "ratio": 0.024, + "pct_numpy": 4090.0, + "status": "negligible" + }, + { + "operation": "np.copy (float32)", + "suite": "Creation", + "category": "Copy", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0061, + "numsharp_ms": 0.0071, + "ratio": 0.858, + "pct_numpy": 116.6, + "status": "close" + }, + { + "operation": "np.zeros_like (float32)", + "suite": "Creation", + "category": "Like", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0055, + "numsharp_ms": 0.0021, + "ratio": 2.63, + "pct_numpy": 38.0, + "status": "faster" + }, + { + "operation": "np.zeros (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0093, + "numsharp_ms": 0.0026, + "ratio": 3.621, + "pct_numpy": 27.6, + "status": "faster" + }, + { + "operation": "np.ones (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.015, + "ratio": 0.656, + "pct_numpy": 152.5, + "status": "close" + }, + { + "operation": "np.full (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.0148, + "ratio": 0.664, + "pct_numpy": 150.6, + "status": "close" + }, + { + "operation": "np.empty (float64)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.014, + "ratio": 0.021, + "pct_numpy": 4722.1, + "status": "negligible" + }, + { + "operation": "np.copy (float64)", + "suite": "Creation", + "category": "Copy", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0113, + "numsharp_ms": 0.0135, + "ratio": 0.835, + "pct_numpy": 119.7, + "status": "close" + }, + { + "operation": "np.zeros_like (float64)", + "suite": "Creation", + "category": "Like", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0099, + "numsharp_ms": 0.0027, + "ratio": 3.701, + "pct_numpy": 27.0, + "status": "faster" + }, + { + "operation": "np.zeros (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 0.0111, + "numsharp_ms": 0.0065, + "ratio": 1.712, + "pct_numpy": 58.4, + "status": "faster" + }, + { + "operation": "np.ones (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 7.1344, + "numsharp_ms": 2.0772, + "ratio": 3.435, + "pct_numpy": 29.1, + "status": "faster" + }, + { + "operation": "np.full (int32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 7.3322, + "numsharp_ms": 1.9121, + "ratio": 3.835, + "pct_numpy": 26.1, + "status": "faster" + }, + { + "operation": "np.empty (int32)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 0.0108, + "numsharp_ms": 0.014, + "ratio": 0.767, + "pct_numpy": 130.4, + "status": "close" + }, + { + "operation": "np.copy (int32)", + "suite": "Creation", + "category": "Copy", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 6.344, + "numsharp_ms": 1.839, + "ratio": 3.45, + "pct_numpy": 29.0, + "status": "faster" + }, + { + "operation": "np.zeros_like (int32)", + "suite": "Creation", + "category": "Like", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 7.2566, + "numsharp_ms": 0.0066, + "ratio": 1091.898, + "pct_numpy": 0.1, + "status": "negligible" + }, + { + "operation": "np.zeros (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 0.0114, + "numsharp_ms": 0.0057, + "ratio": 1.994, + "pct_numpy": 50.2, + "status": "faster" + }, + { + "operation": "np.ones (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 14.7038, + "numsharp_ms": 12.3182, + "ratio": 1.194, + "pct_numpy": 83.8, + "status": "faster" + }, + { + "operation": "np.full (int64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 14.7304, + "numsharp_ms": 12.3185, + "ratio": 1.196, + "pct_numpy": 83.6, + "status": "faster" + }, + { + "operation": "np.empty (int64)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 0.0119, + "numsharp_ms": 0.0141, + "ratio": 0.846, + "pct_numpy": 118.1, + "status": "close" + }, + { + "operation": "np.copy (int64)", + "suite": "Creation", + "category": "Copy", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 13.203, + "numsharp_ms": 12.7437, + "ratio": 1.036, + "pct_numpy": 96.5, + "status": "faster" + }, + { + "operation": "np.zeros_like (int64)", + "suite": "Creation", + "category": "Like", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 14.7069, + "numsharp_ms": 0.0056, + "ratio": 2623.482, + "pct_numpy": 0.0, + "status": "negligible" + }, + { + "operation": "np.zeros (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 0.009, + "numsharp_ms": 0.002, + "ratio": 4.507, + "pct_numpy": 22.2, + "status": "faster" + }, + { + "operation": "np.ones (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.3143, + "numsharp_ms": 1.8034, + "ratio": 4.056, + "pct_numpy": 24.7, + "status": "faster" + }, + { + "operation": "np.full (float32)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.3482, + "numsharp_ms": 1.8309, + "ratio": 4.013, + "pct_numpy": 24.9, + "status": "faster" + }, + { + "operation": "np.empty (float32)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 0.0087, + "numsharp_ms": 0.0143, + "ratio": 0.607, + "pct_numpy": 164.8, + "status": "close" + }, + { + "operation": "np.copy (float32)", + "suite": "Creation", + "category": "Copy", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 6.4782, + "numsharp_ms": 1.8708, + "ratio": 3.463, + "pct_numpy": 28.9, + "status": "faster" + }, + { + "operation": "np.zeros_like (float32)", + "suite": "Creation", + "category": "Like", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 7.1806, + "numsharp_ms": 0.0021, + "ratio": 3422.479, + "pct_numpy": 0.0, + "status": "negligible" + }, + { + "operation": "np.zeros (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0083, + "numsharp_ms": 0.0022, + "ratio": 3.699, + "pct_numpy": 27.0, + "status": "faster" + }, + { + "operation": "np.ones (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.5911, + "numsharp_ms": 12.4361, + "ratio": 1.173, + "pct_numpy": 85.2, + "status": "faster" + }, + { + "operation": "np.full (float64)", + "suite": "Creation", + "category": "Initialized", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.6927, + "numsharp_ms": 12.3279, + "ratio": 1.192, + "pct_numpy": 83.9, + "status": "faster" + }, + { + "operation": "np.empty (float64)", + "suite": "Creation", + "category": "Uninitialized", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.008, + "numsharp_ms": 0.0138, + "ratio": 0.581, + "pct_numpy": 172.2, + "status": "close" + }, + { + "operation": "np.copy (float64)", + "suite": "Creation", + "category": "Copy", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 13.0404, + "numsharp_ms": 12.7447, + "ratio": 1.023, + "pct_numpy": 97.7, + "status": "faster" + }, + { + "operation": "np.zeros_like (float64)", + "suite": "Creation", + "category": "Like", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 14.8132, + "numsharp_ms": 0.0023, + "ratio": 6363.468, + "pct_numpy": 0.0, + "status": "negligible" + }, + { + "operation": "reshape 1D->2D", + "suite": "Manipulation", + "category": "Reshape", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0002, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "reshape 2D->1D", + "suite": "Manipulation", + "category": "Reshape", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0002, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a.T (2D)", + "suite": "Manipulation", + "category": "Transpose", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.transpose (2D)", + "suite": "Manipulation", + "category": "Transpose", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.ravel", + "suite": "Manipulation", + "category": "Flatten", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a.flatten", + "suite": "Manipulation", + "category": "Flatten", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.concatenate", + "suite": "Manipulation", + "category": "Stack", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.stack", + "suite": "Manipulation", + "category": "Stack", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "reshape 1D->2D", + "suite": "Manipulation", + "category": "Reshape", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0002, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "reshape 2D->1D", + "suite": "Manipulation", + "category": "Reshape", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0002, + "numsharp_ms": 0.0005, + "ratio": 0.329, + "pct_numpy": 303.6, + "status": "negligible" + }, + { + "operation": "a.T (2D)", + "suite": "Manipulation", + "category": "Transpose", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.transpose (2D)", + "suite": "Manipulation", + "category": "Transpose", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0004, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.ravel", + "suite": "Manipulation", + "category": "Flatten", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0005, + "ratio": 0.689, + "pct_numpy": 145.2, + "status": "negligible" + }, + { + "operation": "a.flatten", + "suite": "Manipulation", + "category": "Flatten", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0113, + "numsharp_ms": 0.0883, + "ratio": 0.128, + "pct_numpy": 782.0, + "status": "much_slower" + }, + { + "operation": "np.concatenate", + "suite": "Manipulation", + "category": "Stack", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.3154, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.stack", + "suite": "Manipulation", + "category": "Stack", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.313, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "reshape 1D->2D", + "suite": "Manipulation", + "category": "Reshape", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0002, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "reshape 2D->1D", + "suite": "Manipulation", + "category": "Reshape", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0002, + "numsharp_ms": 0.0006, + "ratio": 0.315, + "pct_numpy": 317.4, + "status": "negligible" + }, + { + "operation": "a.T (2D)", + "suite": "Manipulation", + "category": "Transpose", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.transpose (2D)", + "suite": "Manipulation", + "category": "Transpose", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0004, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.ravel", + "suite": "Manipulation", + "category": "Flatten", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0003, + "numsharp_ms": 0.0005, + "ratio": 0.616, + "pct_numpy": 162.4, + "status": "negligible" + }, + { + "operation": "a.flatten", + "suite": "Manipulation", + "category": "Flatten", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 13.0852, + "numsharp_ms": 11.4613, + "ratio": 1.142, + "pct_numpy": 87.6, + "status": "faster" + }, + { + "operation": "np.concatenate", + "suite": "Manipulation", + "category": "Stack", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 32.8142, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.stack", + "suite": "Manipulation", + "category": "Stack", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 33.9601, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[100:1000] (contiguous)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0002, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[::2] (strided)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0002, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[::-1] (reversed)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.sum(contiguous_slice)", + "suite": "Slicing", + "category": "SumSlice", + "dtype": "float64", + "n": 900, + "numpy_ms": 0.0017, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.sum(strided_slice)", + "suite": "Slicing", + "category": "SumSlice", + "dtype": "float64", + "n": 500, + "numpy_ms": 0.0016, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[100:1000] (contiguous)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[::2] (strided)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[::-1] (reversed)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0002, + "numsharp_ms": 0.0012, + "ratio": 0.128, + "pct_numpy": 781.3, + "status": "negligible" + }, + { + "operation": "np.sum(contiguous_slice)", + "suite": "Slicing", + "category": "SumSlice", + "dtype": "float64", + "n": 900, + "numpy_ms": 0.0017, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.sum(strided_slice)", + "suite": "Slicing", + "category": "SumSlice", + "dtype": "float64", + "n": 50000, + "numpy_ms": 0.0096, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[100:1000] (contiguous)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[::2] (strided)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0001, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a[::-1] (reversed)", + "suite": "Slicing", + "category": "Create", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.0002, + "numsharp_ms": 0.0012, + "ratio": 0.127, + "pct_numpy": 788.7, + "status": "negligible" + }, + { + "operation": "np.sum(contiguous_slice)", + "suite": "Slicing", + "category": "SumSlice", + "dtype": "float64", + "n": 900, + "numpy_ms": 0.0016, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.sum(strided_slice)", + "suite": "Slicing", + "category": "SumSlice", + "dtype": "float64", + "n": 5000000, + "numpy_ms": 4.6738, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "a == b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.598, + "pct_numpy": 167.2, + "status": "negligible" + }, + { + "operation": "a != b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0008, + "ratio": 0.537, + "pct_numpy": 186.1, + "status": "negligible" + }, + { + "operation": "a < b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.619, + "pct_numpy": 161.7, + "status": "negligible" + }, + { + "operation": "a > b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0008, + "ratio": 0.538, + "pct_numpy": 185.8, + "status": "negligible" + }, + { + "operation": "a <= b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.578, + "pct_numpy": 173.0, + "status": "negligible" + }, + { + "operation": "a >= b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0008, + "ratio": 0.565, + "pct_numpy": 177.0, + "status": "negligible" + }, + { + "operation": "a == b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0008, + "ratio": 0.58, + "pct_numpy": 172.5, + "status": "negligible" + }, + { + "operation": "a != b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0008, + "ratio": 0.603, + "pct_numpy": 165.9, + "status": "negligible" + }, + { + "operation": "a < b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0007, + "ratio": 0.73, + "pct_numpy": 137.1, + "status": "negligible" + }, + { + "operation": "a > b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0007, + "ratio": 0.745, + "pct_numpy": 134.2, + "status": "negligible" + }, + { + "operation": "a <= b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0007, + "ratio": 0.722, + "pct_numpy": 138.4, + "status": "negligible" + }, + { + "operation": "a >= b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0008, + "ratio": 1.003, + "pct_numpy": 99.7, + "status": "negligible" + }, + { + "operation": "a == b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0007, + "ratio": 0.613, + "pct_numpy": 163.1, + "status": "negligible" + }, + { + "operation": "a != b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.602, + "pct_numpy": 166.0, + "status": "negligible" + }, + { + "operation": "a < b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.56, + "pct_numpy": 178.6, + "status": "negligible" + }, + { + "operation": "a > b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.562, + "pct_numpy": 177.8, + "status": "negligible" + }, + { + "operation": "a <= b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0007, + "ratio": 0.796, + "pct_numpy": 125.6, + "status": "negligible" + }, + { + "operation": "a >= b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.607, + "pct_numpy": 164.7, + "status": "negligible" + }, + { + "operation": "a == b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.581, + "pct_numpy": 172.2, + "status": "negligible" + }, + { + "operation": "a != b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0008, + "ratio": 0.616, + "pct_numpy": 162.4, + "status": "negligible" + }, + { + "operation": "a < b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0008, + "ratio": 0.616, + "pct_numpy": 162.3, + "status": "negligible" + }, + { + "operation": "a > b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0008, + "ratio": 0.585, + "pct_numpy": 171.0, + "status": "negligible" + }, + { + "operation": "a <= b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0007, + "ratio": 0.6, + "pct_numpy": 166.6, + "status": "negligible" + }, + { + "operation": "a >= b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0007, + "ratio": 0.604, + "pct_numpy": 165.7, + "status": "negligible" + }, + { + "operation": "a == b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0072, + "numsharp_ms": 0.0183, + "ratio": 0.395, + "pct_numpy": 253.0, + "status": "slower" + }, + { + "operation": "a != b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0069, + "numsharp_ms": 0.0201, + "ratio": 0.343, + "pct_numpy": 291.4, + "status": "slower" + }, + { + "operation": "a < b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0071, + "numsharp_ms": 0.0187, + "ratio": 0.378, + "pct_numpy": 264.8, + "status": "slower" + }, + { + "operation": "a > b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.007, + "numsharp_ms": 0.0195, + "ratio": 0.358, + "pct_numpy": 279.6, + "status": "slower" + }, + { + "operation": "a <= b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.007, + "numsharp_ms": 0.0192, + "ratio": 0.367, + "pct_numpy": 272.7, + "status": "slower" + }, + { + "operation": "a >= b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0069, + "numsharp_ms": 0.0191, + "ratio": 0.361, + "pct_numpy": 276.9, + "status": "slower" + }, + { + "operation": "a == b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0131, + "numsharp_ms": 0.0248, + "ratio": 0.53, + "pct_numpy": 188.8, + "status": "close" + }, + { + "operation": "a != b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.014, + "numsharp_ms": 0.026, + "ratio": 0.539, + "pct_numpy": 185.5, + "status": "close" + }, + { + "operation": "a < b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0182, + "numsharp_ms": 0.025, + "ratio": 0.729, + "pct_numpy": 137.2, + "status": "close" + }, + { + "operation": "a > b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0231, + "numsharp_ms": 0.0256, + "ratio": 0.903, + "pct_numpy": 110.8, + "status": "close" + }, + { + "operation": "a <= b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0186, + "numsharp_ms": 0.0268, + "ratio": 0.693, + "pct_numpy": 144.3, + "status": "close" + }, + { + "operation": "a >= b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0188, + "numsharp_ms": 0.0266, + "ratio": 0.706, + "pct_numpy": 141.6, + "status": "close" + }, + { + "operation": "a == b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0059, + "numsharp_ms": 0.0199, + "ratio": 0.295, + "pct_numpy": 339.3, + "status": "slower" + }, + { + "operation": "a != b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0059, + "numsharp_ms": 0.0188, + "ratio": 0.312, + "pct_numpy": 321.0, + "status": "slower" + }, + { + "operation": "a < b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0056, + "numsharp_ms": 0.0189, + "ratio": 0.295, + "pct_numpy": 339.2, + "status": "slower" + }, + { + "operation": "a > b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0056, + "numsharp_ms": 0.0185, + "ratio": 0.306, + "pct_numpy": 326.9, + "status": "slower" + }, + { + "operation": "a <= b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0063, + "numsharp_ms": 0.0181, + "ratio": 0.346, + "pct_numpy": 289.3, + "status": "slower" + }, + { + "operation": "a >= b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0063, + "numsharp_ms": 0.0186, + "ratio": 0.339, + "pct_numpy": 295.2, + "status": "slower" + }, + { + "operation": "a == b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0114, + "numsharp_ms": 0.0279, + "ratio": 0.41, + "pct_numpy": 244.0, + "status": "slower" + }, + { + "operation": "a != b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.011, + "numsharp_ms": 0.0263, + "ratio": 0.419, + "pct_numpy": 238.9, + "status": "slower" + }, + { + "operation": "a < b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0106, + "numsharp_ms": 0.0279, + "ratio": 0.379, + "pct_numpy": 263.7, + "status": "slower" + }, + { + "operation": "a > b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0105, + "numsharp_ms": 0.0262, + "ratio": 0.402, + "pct_numpy": 248.5, + "status": "slower" + }, + { + "operation": "a <= b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0104, + "numsharp_ms": 0.0283, + "ratio": 0.368, + "pct_numpy": 272.0, + "status": "slower" + }, + { + "operation": "a >= b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0118, + "numsharp_ms": 0.0241, + "ratio": 0.492, + "pct_numpy": 203.4, + "status": "slower" + }, + { + "operation": "a == b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.1736, + "numsharp_ms": 3.3406, + "ratio": 1.249, + "pct_numpy": 80.0, + "status": "faster" + }, + { + "operation": "a != b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.2916, + "numsharp_ms": 3.4612, + "ratio": 1.24, + "pct_numpy": 80.6, + "status": "faster" + }, + { + "operation": "a < b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.3674, + "numsharp_ms": 3.2941, + "ratio": 1.326, + "pct_numpy": 75.4, + "status": "faster" + }, + { + "operation": "a > b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.1882, + "numsharp_ms": 3.3117, + "ratio": 1.265, + "pct_numpy": 79.1, + "status": "faster" + }, + { + "operation": "a <= b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.2354, + "numsharp_ms": 3.3183, + "ratio": 1.276, + "pct_numpy": 78.3, + "status": "faster" + }, + { + "operation": "a >= b (int32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 4.5128, + "numsharp_ms": 3.3235, + "ratio": 1.358, + "pct_numpy": 73.6, + "status": "faster" + }, + { + "operation": "a == b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 7.1546, + "numsharp_ms": 5.73, + "ratio": 1.249, + "pct_numpy": 80.1, + "status": "faster" + }, + { + "operation": "a != b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 7.2974, + "numsharp_ms": 5.8513, + "ratio": 1.247, + "pct_numpy": 80.2, + "status": "faster" + }, + { + "operation": "a < b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 7.0769, + "numsharp_ms": 5.6821, + "ratio": 1.245, + "pct_numpy": 80.3, + "status": "faster" + }, + { + "operation": "a > b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 7.6396, + "numsharp_ms": 5.7329, + "ratio": 1.333, + "pct_numpy": 75.0, + "status": "faster" + }, + { + "operation": "a <= b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 8.2513, + "numsharp_ms": 5.987, + "ratio": 1.378, + "pct_numpy": 72.6, + "status": "faster" + }, + { + "operation": "a >= b (int64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 7.8543, + "numsharp_ms": 5.9554, + "ratio": 1.319, + "pct_numpy": 75.8, + "status": "faster" + }, + { + "operation": "a == b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.9574, + "numsharp_ms": 3.2149, + "ratio": 1.231, + "pct_numpy": 81.2, + "status": "faster" + }, + { + "operation": "a != b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.9247, + "numsharp_ms": 3.3366, + "ratio": 1.176, + "pct_numpy": 85.0, + "status": "faster" + }, + { + "operation": "a < b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.8362, + "numsharp_ms": 3.2974, + "ratio": 1.163, + "pct_numpy": 86.0, + "status": "faster" + }, + { + "operation": "a > b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.8956, + "numsharp_ms": 3.3476, + "ratio": 1.164, + "pct_numpy": 85.9, + "status": "faster" + }, + { + "operation": "a <= b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.8528, + "numsharp_ms": 3.2691, + "ratio": 1.179, + "pct_numpy": 84.8, + "status": "faster" + }, + { + "operation": "a >= b (float32)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.8402, + "numsharp_ms": 3.2664, + "ratio": 1.176, + "pct_numpy": 85.1, + "status": "faster" + }, + { + "operation": "a == b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 7.1028, + "numsharp_ms": 5.6882, + "ratio": 1.249, + "pct_numpy": 80.1, + "status": "faster" + }, + { + "operation": "a != b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 6.7684, + "numsharp_ms": 5.847, + "ratio": 1.158, + "pct_numpy": 86.4, + "status": "faster" + }, + { + "operation": "a < b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 6.5961, + "numsharp_ms": 5.7503, + "ratio": 1.147, + "pct_numpy": 87.2, + "status": "faster" + }, + { + "operation": "a > b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 6.6876, + "numsharp_ms": 5.7415, + "ratio": 1.165, + "pct_numpy": 85.9, + "status": "faster" + }, + { + "operation": "a <= b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 6.4781, + "numsharp_ms": 5.7355, + "ratio": 1.129, + "pct_numpy": 88.5, + "status": "faster" + }, + { + "operation": "a >= b (float64)", + "suite": "Comparison", + "category": "Comparison", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 7.1505, + "numsharp_ms": 5.6739, + "ratio": 1.26, + "pct_numpy": 79.3, + "status": "faster" + }, + { + "operation": "a & b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0016, + "ratio": 0.245, + "pct_numpy": 408.9, + "status": "negligible" + }, + { + "operation": "a | b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0015, + "ratio": 0.307, + "pct_numpy": 325.9, + "status": "negligible" + }, + { + "operation": "a ^ b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0017, + "ratio": 0.224, + "pct_numpy": 447.0, + "status": "negligible" + }, + { + "operation": "np.invert(a) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0015, + "ratio": 0.245, + "pct_numpy": 408.6, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0015, + "numsharp_ms": 0.0125, + "ratio": 0.118, + "pct_numpy": 845.4, + "status": "much_slower" + }, + { + "operation": "np.right_shift(a, 2) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0135, + "ratio": 0.118, + "pct_numpy": 844.0, + "status": "much_slower" + }, + { + "operation": "a & b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.001, + "ratio": 0.619, + "pct_numpy": 161.6, + "status": "negligible" + }, + { + "operation": "a | b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0012, + "ratio": 0.565, + "pct_numpy": 177.0, + "status": "negligible" + }, + { + "operation": "a ^ b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0012, + "ratio": 0.534, + "pct_numpy": 187.3, + "status": "negligible" + }, + { + "operation": "np.invert(a) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0014, + "ratio": 0.463, + "pct_numpy": 216.1, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0023, + "ratio": 0.401, + "pct_numpy": 249.7, + "status": "negligible" + }, + { + "operation": "np.right_shift(a, 2) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0021, + "ratio": 0.441, + "pct_numpy": 226.8, + "status": "negligible" + }, + { + "operation": "a & b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0013, + "ratio": 0.489, + "pct_numpy": 204.5, + "status": "negligible" + }, + { + "operation": "a | b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0014, + "ratio": 0.477, + "pct_numpy": 209.8, + "status": "negligible" + }, + { + "operation": "a ^ b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0012, + "ratio": 0.524, + "pct_numpy": 190.7, + "status": "negligible" + }, + { + "operation": "np.invert(a) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0014, + "ratio": 0.458, + "pct_numpy": 218.3, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0019, + "ratio": 0.491, + "pct_numpy": 203.7, + "status": "negligible" + }, + { + "operation": "np.right_shift(a, 2) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0019, + "ratio": 0.54, + "pct_numpy": 185.1, + "status": "close" + }, + { + "operation": "a & b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0027, + "ratio": 0.286, + "pct_numpy": 349.0, + "status": "negligible" + }, + { + "operation": "a | b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0023, + "ratio": 0.348, + "pct_numpy": 287.7, + "status": "negligible" + }, + { + "operation": "a ^ b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0026, + "ratio": 0.305, + "pct_numpy": 327.9, + "status": "negligible" + }, + { + "operation": "np.invert(a) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0018, + "ratio": 0.404, + "pct_numpy": 247.3, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0031, + "ratio": 0.331, + "pct_numpy": 302.4, + "status": "slower" + }, + { + "operation": "np.right_shift(a, 2) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0026, + "ratio": 0.443, + "pct_numpy": 225.7, + "status": "slower" + }, + { + "operation": "a & b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0034, + "ratio": 0.228, + "pct_numpy": 439.5, + "status": "negligible" + }, + { + "operation": "a | b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0019, + "ratio": 0.426, + "pct_numpy": 234.5, + "status": "negligible" + }, + { + "operation": "a ^ b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0028, + "ratio": 0.277, + "pct_numpy": 360.9, + "status": "negligible" + }, + { + "operation": "np.invert(a) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0022, + "ratio": 0.331, + "pct_numpy": 302.0, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0023, + "ratio": 0.451, + "pct_numpy": 221.7, + "status": "slower" + }, + { + "operation": "np.right_shift(a, 2) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0029, + "ratio": 0.364, + "pct_numpy": 274.7, + "status": "slower" + }, + { + "operation": "a & b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.006, + "ratio": 0.128, + "pct_numpy": 778.8, + "status": "negligible" + }, + { + "operation": "a | b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0074, + "ratio": 0.105, + "pct_numpy": 950.5, + "status": "negligible" + }, + { + "operation": "a ^ b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0047, + "ratio": 0.163, + "pct_numpy": 615.0, + "status": "negligible" + }, + { + "operation": "np.invert(a) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0058, + "ratio": 0.132, + "pct_numpy": 758.0, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0057, + "ratio": 0.176, + "pct_numpy": 569.3, + "status": "negligible" + }, + { + "operation": "np.right_shift(a, 2) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0011, + "numsharp_ms": 0.0038, + "ratio": 0.282, + "pct_numpy": 354.2, + "status": "slower" + }, + { + "operation": "a & b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0039, + "ratio": 0.203, + "pct_numpy": 491.6, + "status": "negligible" + }, + { + "operation": "a | b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0035, + "ratio": 0.224, + "pct_numpy": 445.7, + "status": "negligible" + }, + { + "operation": "a ^ b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0048, + "ratio": 0.164, + "pct_numpy": 610.3, + "status": "negligible" + }, + { + "operation": "np.invert(a) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0036, + "ratio": 0.218, + "pct_numpy": 459.1, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0045, + "ratio": 0.219, + "pct_numpy": 455.7, + "status": "negligible" + }, + { + "operation": "np.right_shift(a, 2) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0036, + "ratio": 0.272, + "pct_numpy": 368.1, + "status": "negligible" + }, + { + "operation": "a & b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0069, + "ratio": 0.112, + "pct_numpy": 891.2, + "status": "negligible" + }, + { + "operation": "a | b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0079, + "ratio": 0.1, + "pct_numpy": 1003.2, + "status": "negligible" + }, + { + "operation": "a ^ b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.004, + "ratio": 0.196, + "pct_numpy": 510.6, + "status": "negligible" + }, + { + "operation": "np.invert(a) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0059, + "ratio": 0.126, + "pct_numpy": 795.7, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0038, + "ratio": 0.238, + "pct_numpy": 419.5, + "status": "negligible" + }, + { + "operation": "np.right_shift(a, 2) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0013, + "numsharp_ms": 0.0039, + "ratio": 0.324, + "pct_numpy": 308.9, + "status": "slower" + }, + { + "operation": "a & b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0024, + "ratio": 0.322, + "pct_numpy": 310.1, + "status": "negligible" + }, + { + "operation": "a | b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0022, + "ratio": 0.354, + "pct_numpy": 282.3, + "status": "negligible" + }, + { + "operation": "a ^ b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0111, + "ratio": 0.078, + "pct_numpy": 1287.0, + "status": "negligible" + }, + { + "operation": "np.invert(a) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0035, + "ratio": 0.207, + "pct_numpy": 483.9, + "status": "negligible" + }, + { + "operation": "np.left_shift(a, 2) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0096, + "ratio": 0.1, + "pct_numpy": 1000.2, + "status": "negligible" + }, + { + "operation": "np.right_shift(a, 2) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 1000, + "numpy_ms": 0.001, + "numsharp_ms": 0.0108, + "ratio": 0.091, + "pct_numpy": 1099.6, + "status": "negligible" + }, + { + "operation": "a & b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0028, + "numsharp_ms": 0.0215, + "ratio": 0.131, + "pct_numpy": 763.1, + "status": "much_slower" + }, + { + "operation": "a | b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0232, + "ratio": 0.11, + "pct_numpy": 911.6, + "status": "much_slower" + }, + { + "operation": "a ^ b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0026, + "numsharp_ms": 0.0214, + "ratio": 0.122, + "pct_numpy": 821.8, + "status": "much_slower" + }, + { + "operation": "np.invert(a) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0021, + "numsharp_ms": 0.023, + "ratio": 0.092, + "pct_numpy": 1082.9, + "status": "much_slower" + }, + { + "operation": "np.left_shift(a, 2) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.043, + "numsharp_ms": 0.0779, + "ratio": 0.552, + "pct_numpy": 181.2, + "status": "close" + }, + { + "operation": "np.right_shift(a, 2) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0529, + "numsharp_ms": 0.075, + "ratio": 0.706, + "pct_numpy": 141.7, + "status": "close" + }, + { + "operation": "a & b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0296, + "numsharp_ms": 0.0103, + "ratio": 2.877, + "pct_numpy": 34.8, + "status": "faster" + }, + { + "operation": "a | b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0296, + "numsharp_ms": 0.0105, + "ratio": 2.827, + "pct_numpy": 35.4, + "status": "faster" + }, + { + "operation": "a ^ b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0288, + "numsharp_ms": 0.0119, + "ratio": 2.424, + "pct_numpy": 41.3, + "status": "faster" + }, + { + "operation": "np.invert(a) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0268, + "numsharp_ms": 0.011, + "ratio": 2.446, + "pct_numpy": 40.9, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0292, + "numsharp_ms": 0.0131, + "ratio": 2.222, + "pct_numpy": 45.0, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 100000, + "numpy_ms": 0.0296, + "numsharp_ms": 0.0095, + "ratio": 3.117, + "pct_numpy": 32.1, + "status": "faster" + }, + { + "operation": "a & b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0286, + "numsharp_ms": 0.01, + "ratio": 2.858, + "pct_numpy": 35.0, + "status": "faster" + }, + { + "operation": "a | b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.03, + "numsharp_ms": 0.0116, + "ratio": 2.58, + "pct_numpy": 38.8, + "status": "faster" + }, + { + "operation": "a ^ b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0295, + "numsharp_ms": 0.0102, + "ratio": 2.898, + "pct_numpy": 34.5, + "status": "faster" + }, + { + "operation": "np.invert(a) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0293, + "numsharp_ms": 0.0108, + "ratio": 2.719, + "pct_numpy": 36.8, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0305, + "numsharp_ms": 0.0085, + "ratio": 3.576, + "pct_numpy": 28.0, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 100000, + "numpy_ms": 0.0436, + "numsharp_ms": 0.0108, + "ratio": 4.019, + "pct_numpy": 24.9, + "status": "faster" + }, + { + "operation": "a & b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.029, + "numsharp_ms": 0.0169, + "ratio": 1.718, + "pct_numpy": 58.2, + "status": "faster" + }, + { + "operation": "a | b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0285, + "numsharp_ms": 0.0178, + "ratio": 1.603, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "a ^ b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0285, + "numsharp_ms": 0.0149, + "ratio": 1.915, + "pct_numpy": 52.2, + "status": "faster" + }, + { + "operation": "np.invert(a) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0257, + "numsharp_ms": 0.014, + "ratio": 1.83, + "pct_numpy": 54.6, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0285, + "numsharp_ms": 0.015, + "ratio": 1.898, + "pct_numpy": 52.7, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 100000, + "numpy_ms": 0.0377, + "numsharp_ms": 0.0158, + "ratio": 2.384, + "pct_numpy": 41.9, + "status": "faster" + }, + { + "operation": "a & b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0301, + "numsharp_ms": 0.018, + "ratio": 1.676, + "pct_numpy": 59.7, + "status": "faster" + }, + { + "operation": "a | b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0291, + "numsharp_ms": 0.0168, + "ratio": 1.733, + "pct_numpy": 57.7, + "status": "faster" + }, + { + "operation": "a ^ b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.0163, + "ratio": 1.766, + "pct_numpy": 56.6, + "status": "faster" + }, + { + "operation": "np.invert(a) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0258, + "numsharp_ms": 0.0206, + "ratio": 1.25, + "pct_numpy": 80.0, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.029, + "numsharp_ms": 0.0163, + "ratio": 1.78, + "pct_numpy": 56.2, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 100000, + "numpy_ms": 0.0283, + "numsharp_ms": 0.017, + "ratio": 1.667, + "pct_numpy": 60.0, + "status": "faster" + }, + { + "operation": "a & b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0286, + "numsharp_ms": 0.0342, + "ratio": 0.837, + "pct_numpy": 119.5, + "status": "close" + }, + { + "operation": "a | b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0286, + "numsharp_ms": 0.038, + "ratio": 0.752, + "pct_numpy": 133.0, + "status": "close" + }, + { + "operation": "a ^ b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0288, + "numsharp_ms": 0.0321, + "ratio": 0.9, + "pct_numpy": 111.1, + "status": "close" + }, + { + "operation": "np.invert(a) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0264, + "numsharp_ms": 0.0305, + "ratio": 0.865, + "pct_numpy": 115.6, + "status": "close" + }, + { + "operation": "np.left_shift(a, 2) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.019, + "numsharp_ms": 0.0373, + "ratio": 0.511, + "pct_numpy": 195.8, + "status": "close" + }, + { + "operation": "np.right_shift(a, 2) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.0288, + "numsharp_ms": 0.0378, + "ratio": 0.762, + "pct_numpy": 131.3, + "status": "close" + }, + { + "operation": "a & b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0339, + "numsharp_ms": 0.04, + "ratio": 0.846, + "pct_numpy": 118.1, + "status": "close" + }, + { + "operation": "a | b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0285, + "numsharp_ms": 0.0334, + "ratio": 0.855, + "pct_numpy": 117.0, + "status": "close" + }, + { + "operation": "a ^ b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0285, + "numsharp_ms": 0.0315, + "ratio": 0.905, + "pct_numpy": 110.5, + "status": "close" + }, + { + "operation": "np.invert(a) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0332, + "numsharp_ms": 0.029, + "ratio": 1.147, + "pct_numpy": 87.2, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0192, + "numsharp_ms": 0.0272, + "ratio": 0.703, + "pct_numpy": 142.2, + "status": "close" + }, + { + "operation": "np.right_shift(a, 2) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 100000, + "numpy_ms": 0.0205, + "numsharp_ms": 0.0284, + "ratio": 0.723, + "pct_numpy": 138.4, + "status": "close" + }, + { + "operation": "a & b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0338, + "numsharp_ms": 0.0634, + "ratio": 0.533, + "pct_numpy": 187.6, + "status": "close" + }, + { + "operation": "a | b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0339, + "numsharp_ms": 0.0707, + "ratio": 0.479, + "pct_numpy": 208.6, + "status": "slower" + }, + { + "operation": "a ^ b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0337, + "numsharp_ms": 0.0666, + "ratio": 0.506, + "pct_numpy": 197.6, + "status": "close" + }, + { + "operation": "np.invert(a) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0263, + "numsharp_ms": 0.0661, + "ratio": 0.398, + "pct_numpy": 251.0, + "status": "slower" + }, + { + "operation": "np.left_shift(a, 2) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.019, + "numsharp_ms": 0.0672, + "ratio": 0.283, + "pct_numpy": 352.8, + "status": "slower" + }, + { + "operation": "np.right_shift(a, 2) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.0287, + "numsharp_ms": 0.0702, + "ratio": 0.409, + "pct_numpy": 244.4, + "status": "slower" + }, + { + "operation": "a & b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0356, + "numsharp_ms": 0.0739, + "ratio": 0.482, + "pct_numpy": 207.4, + "status": "slower" + }, + { + "operation": "a | b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0353, + "numsharp_ms": 0.0677, + "ratio": 0.522, + "pct_numpy": 191.7, + "status": "close" + }, + { + "operation": "a ^ b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0341, + "numsharp_ms": 0.0681, + "ratio": 0.5, + "pct_numpy": 199.8, + "status": "close" + }, + { + "operation": "np.invert(a) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0263, + "numsharp_ms": 0.0652, + "ratio": 0.404, + "pct_numpy": 247.8, + "status": "slower" + }, + { + "operation": "np.left_shift(a, 2) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0194, + "numsharp_ms": 0.0697, + "ratio": 0.278, + "pct_numpy": 359.4, + "status": "slower" + }, + { + "operation": "np.right_shift(a, 2) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 100000, + "numpy_ms": 0.0212, + "numsharp_ms": 0.075, + "ratio": 0.283, + "pct_numpy": 354.0, + "status": "slower" + }, + { + "operation": "a & b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 1.8589, + "numsharp_ms": 3.0929, + "ratio": 0.601, + "pct_numpy": 166.4, + "status": "close" + }, + { + "operation": "a | b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 1.8887, + "numsharp_ms": 2.8568, + "ratio": 0.661, + "pct_numpy": 151.3, + "status": "close" + }, + { + "operation": "a ^ b (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 1.862, + "numsharp_ms": 3.0807, + "ratio": 0.604, + "pct_numpy": 165.5, + "status": "close" + }, + { + "operation": "np.invert(a) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 1.6689, + "numsharp_ms": 2.5576, + "ratio": 0.653, + "pct_numpy": 153.2, + "status": "close" + }, + { + "operation": "np.left_shift(a, 2) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 15.2024, + "numsharp_ms": 10.3241, + "ratio": 1.473, + "pct_numpy": 67.9, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (bool)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 15.2744, + "numsharp_ms": 9.3866, + "ratio": 1.627, + "pct_numpy": 61.5, + "status": "faster" + }, + { + "operation": "a & b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.8191, + "numsharp_ms": 1.5272, + "ratio": 2.501, + "pct_numpy": 40.0, + "status": "faster" + }, + { + "operation": "a | b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 4.1042, + "numsharp_ms": 1.4855, + "ratio": 2.763, + "pct_numpy": 36.2, + "status": "faster" + }, + { + "operation": "a ^ b (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.8171, + "numsharp_ms": 1.4591, + "ratio": 2.616, + "pct_numpy": 38.2, + "status": "faster" + }, + { + "operation": "np.invert(a) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.5162, + "numsharp_ms": 1.3311, + "ratio": 2.642, + "pct_numpy": 37.9, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.6979, + "numsharp_ms": 1.2844, + "ratio": 2.879, + "pct_numpy": 34.7, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (uint8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "numpy_ms": 3.7353, + "numsharp_ms": 1.2943, + "ratio": 2.886, + "pct_numpy": 34.7, + "status": "faster" + }, + { + "operation": "a & b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.8854, + "numsharp_ms": 1.5338, + "ratio": 2.533, + "pct_numpy": 39.5, + "status": "faster" + }, + { + "operation": "a | b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.1649, + "numsharp_ms": 1.5132, + "ratio": 2.752, + "pct_numpy": 36.3, + "status": "faster" + }, + { + "operation": "a ^ b (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.8764, + "numsharp_ms": 1.5503, + "ratio": 2.501, + "pct_numpy": 40.0, + "status": "faster" + }, + { + "operation": "np.invert(a) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.539, + "numsharp_ms": 1.3133, + "ratio": 2.695, + "pct_numpy": 37.1, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 3.7477, + "numsharp_ms": 1.2738, + "ratio": 2.942, + "pct_numpy": 34.0, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (int8)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int8", + "n": 10000000, + "numpy_ms": 4.7856, + "numsharp_ms": 1.2716, + "ratio": 3.763, + "pct_numpy": 26.6, + "status": "faster" + }, + { + "operation": "a & b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 5.2942, + "numsharp_ms": 2.9661, + "ratio": 1.785, + "pct_numpy": 56.0, + "status": "faster" + }, + { + "operation": "a | b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 5.2268, + "numsharp_ms": 2.9832, + "ratio": 1.752, + "pct_numpy": 57.1, + "status": "faster" + }, + { + "operation": "a ^ b (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 5.2041, + "numsharp_ms": 2.9252, + "ratio": 1.779, + "pct_numpy": 56.2, + "status": "faster" + }, + { + "operation": "np.invert(a) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 4.767, + "numsharp_ms": 2.5132, + "ratio": 1.897, + "pct_numpy": 52.7, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 4.9855, + "numsharp_ms": 2.6983, + "ratio": 1.848, + "pct_numpy": 54.1, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (int16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int16", + "n": 10000000, + "numpy_ms": 5.7282, + "numsharp_ms": 2.6585, + "ratio": 2.155, + "pct_numpy": 46.4, + "status": "faster" + }, + { + "operation": "a & b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.2834, + "numsharp_ms": 3.0212, + "ratio": 1.749, + "pct_numpy": 57.2, + "status": "faster" + }, + { + "operation": "a | b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.1942, + "numsharp_ms": 2.8924, + "ratio": 1.796, + "pct_numpy": 55.7, + "status": "faster" + }, + { + "operation": "a ^ b (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.2129, + "numsharp_ms": 2.9215, + "ratio": 1.784, + "pct_numpy": 56.0, + "status": "faster" + }, + { + "operation": "np.invert(a) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 4.7281, + "numsharp_ms": 2.4541, + "ratio": 1.927, + "pct_numpy": 51.9, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.3571, + "numsharp_ms": 2.5057, + "ratio": 2.138, + "pct_numpy": 46.8, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (uint16)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "numpy_ms": 5.1786, + "numsharp_ms": 2.5878, + "ratio": 2.001, + "pct_numpy": 50.0, + "status": "faster" + }, + { + "operation": "a & b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 9.1881, + "numsharp_ms": 5.3408, + "ratio": 1.72, + "pct_numpy": 58.1, + "status": "faster" + }, + { + "operation": "a | b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 9.0217, + "numsharp_ms": 5.4574, + "ratio": 1.653, + "pct_numpy": 60.5, + "status": "faster" + }, + { + "operation": "a ^ b (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 8.9067, + "numsharp_ms": 5.3599, + "ratio": 1.662, + "pct_numpy": 60.2, + "status": "faster" + }, + { + "operation": "np.invert(a) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 8.1792, + "numsharp_ms": 4.7721, + "ratio": 1.714, + "pct_numpy": 58.3, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 7.6421, + "numsharp_ms": 4.5654, + "ratio": 1.674, + "pct_numpy": 59.7, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (int32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 7.887, + "numsharp_ms": 4.3972, + "ratio": 1.794, + "pct_numpy": 55.8, + "status": "faster" + }, + { + "operation": "a & b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 8.5821, + "numsharp_ms": 6.0168, + "ratio": 1.426, + "pct_numpy": 70.1, + "status": "faster" + }, + { + "operation": "a | b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 8.5824, + "numsharp_ms": 5.4787, + "ratio": 1.567, + "pct_numpy": 63.8, + "status": "faster" + }, + { + "operation": "a ^ b (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 8.4267, + "numsharp_ms": 5.7479, + "ratio": 1.466, + "pct_numpy": 68.2, + "status": "faster" + }, + { + "operation": "np.invert(a) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 7.8329, + "numsharp_ms": 4.846, + "ratio": 1.616, + "pct_numpy": 61.9, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 7.9134, + "numsharp_ms": 5.0757, + "ratio": 1.559, + "pct_numpy": 64.1, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (uint32)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "numpy_ms": 7.713, + "numsharp_ms": 4.7119, + "ratio": 1.637, + "pct_numpy": 61.1, + "status": "faster" + }, + { + "operation": "a & b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 17.1008, + "numsharp_ms": 16.6525, + "ratio": 1.027, + "pct_numpy": 97.4, + "status": "faster" + }, + { + "operation": "a | b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 17.1245, + "numsharp_ms": 15.6955, + "ratio": 1.091, + "pct_numpy": 91.7, + "status": "faster" + }, + { + "operation": "a ^ b (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 17.2489, + "numsharp_ms": 15.691, + "ratio": 1.099, + "pct_numpy": 91.0, + "status": "faster" + }, + { + "operation": "np.invert(a) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.1634, + "numsharp_ms": 14.2955, + "ratio": 1.061, + "pct_numpy": 94.3, + "status": "faster" + }, + { + "operation": "np.left_shift(a, 2) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.2053, + "numsharp_ms": 14.9107, + "ratio": 1.02, + "pct_numpy": 98.1, + "status": "faster" + }, + { + "operation": "np.right_shift(a, 2) (int64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 15.0917, + "numsharp_ms": 14.2202, + "ratio": 1.061, + "pct_numpy": 94.2, + "status": "faster" + }, + { + "operation": "a & b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 17.0644, + "numsharp_ms": 16.1487, + "ratio": 1.057, + "pct_numpy": 94.6, + "status": "faster" + }, + { + "operation": "a | b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 16.8283, + "numsharp_ms": 16.1102, + "ratio": 1.045, + "pct_numpy": 95.7, + "status": "faster" + }, + { + "operation": "a ^ b (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 16.9004, + "numsharp_ms": 16.6136, + "ratio": 1.017, + "pct_numpy": 98.3, + "status": "faster" + }, + { + "operation": "np.invert(a) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.2896, + "numsharp_ms": 15.3374, + "ratio": 0.997, + "pct_numpy": 100.3, + "status": "close" + }, + { + "operation": "np.left_shift(a, 2) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 15.2926, + "numsharp_ms": 15.7026, + "ratio": 0.974, + "pct_numpy": 102.7, + "status": "close" + }, + { + "operation": "np.right_shift(a, 2) (uint64)", + "suite": "Bitwise", + "category": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "numpy_ms": 14.9083, + "numsharp_ms": 16.6474, + "ratio": 0.896, + "pct_numpy": 111.7, + "status": "close" + }, + { + "operation": "np.isnan(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0014, + "numsharp_ms": 0.0012, + "ratio": 1.123, + "pct_numpy": 89.1, + "status": "faster" + }, + { + "operation": "np.isinf(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0012, + "ratio": 0.759, + "pct_numpy": 131.7, + "status": "negligible" + }, + { + "operation": "np.isfinite(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0008, + "numsharp_ms": 0.0015, + "ratio": 0.573, + "pct_numpy": 174.6, + "status": "negligible" + }, + { + "operation": "np.maximum(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0031, + "numsharp_ms": 0.003, + "ratio": 1.023, + "pct_numpy": 97.8, + "status": "faster" + }, + { + "operation": "np.minimum(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0032, + "numsharp_ms": 0.0031, + "ratio": 1.033, + "pct_numpy": 96.8, + "status": "faster" + }, + { + "operation": "np.isclose(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.03, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0305, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0025, + "numsharp_ms": 0.0013, + "ratio": 1.895, + "pct_numpy": 52.8, + "status": "faster" + }, + { + "operation": "np.isnan(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0016, + "ratio": 0.336, + "pct_numpy": 297.8, + "status": "negligible" + }, + { + "operation": "np.isinf(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0013, + "ratio": 0.415, + "pct_numpy": 241.2, + "status": "negligible" + }, + { + "operation": "np.isfinite(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0012, + "ratio": 0.331, + "pct_numpy": 302.5, + "status": "negligible" + }, + { + "operation": "np.maximum(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0013, + "ratio": 0.449, + "pct_numpy": 222.9, + "status": "negligible" + }, + { + "operation": "np.minimum(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0013, + "ratio": 0.417, + "pct_numpy": 240.1, + "status": "negligible" + }, + { + "operation": "np.isclose(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0113, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0132, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0016, + "numsharp_ms": 0.0008, + "ratio": 1.948, + "pct_numpy": 51.3, + "status": "negligible" + }, + { + "operation": "np.isnan(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0004, + "numsharp_ms": 0.0013, + "ratio": 0.333, + "pct_numpy": 299.9, + "status": "negligible" + }, + { + "operation": "np.isinf(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0015, + "ratio": 0.321, + "pct_numpy": 311.6, + "status": "negligible" + }, + { + "operation": "np.isfinite(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0005, + "numsharp_ms": 0.0014, + "ratio": 0.318, + "pct_numpy": 314.0, + "status": "negligible" + }, + { + "operation": "np.maximum(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0018, + "ratio": 0.31, + "pct_numpy": 322.7, + "status": "negligible" + }, + { + "operation": "np.minimum(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0013, + "ratio": 0.439, + "pct_numpy": 227.8, + "status": "negligible" + }, + { + "operation": "np.isclose(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0116, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0165, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0007, + "ratio": 2.364, + "pct_numpy": 42.3, + "status": "negligible" + }, + { + "operation": "np.all(a) (bool)", + "suite": "Logic", + "category": "Logic", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0015, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.any(a) (bool)", + "suite": "Logic", + "category": "Logic", + "dtype": "bool", + "n": 1000, + "numpy_ms": 0.0015, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.isnan(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0692, + "numsharp_ms": 0.0397, + "ratio": 1.742, + "pct_numpy": 57.4, + "status": "faster" + }, + { + "operation": "np.isinf(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0506, + "numsharp_ms": 0.0386, + "ratio": 1.313, + "pct_numpy": 76.2, + "status": "faster" + }, + { + "operation": "np.isfinite(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0496, + "numsharp_ms": 0.0388, + "ratio": 1.278, + "pct_numpy": 78.2, + "status": "faster" + }, + { + "operation": "np.maximum(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.7598, + "numsharp_ms": 0.6663, + "ratio": 1.14, + "pct_numpy": 87.7, + "status": "faster" + }, + { + "operation": "np.minimum(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.762, + "numsharp_ms": 0.6658, + "ratio": 1.144, + "pct_numpy": 87.4, + "status": "faster" + }, + { + "operation": "np.isclose(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.7764, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.7794, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.0873, + "numsharp_ms": 0.0697, + "ratio": 1.252, + "pct_numpy": 79.8, + "status": "faster" + }, + { + "operation": "np.isnan(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0044, + "numsharp_ms": 0.0482, + "ratio": 0.092, + "pct_numpy": 1091.3, + "status": "much_slower" + }, + { + "operation": "np.isinf(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0058, + "numsharp_ms": 0.0416, + "ratio": 0.139, + "pct_numpy": 720.8, + "status": "much_slower" + }, + { + "operation": "np.isfinite(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0059, + "numsharp_ms": 0.0364, + "ratio": 0.162, + "pct_numpy": 616.8, + "status": "much_slower" + }, + { + "operation": "np.maximum(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0084, + "numsharp_ms": 0.0343, + "ratio": 0.246, + "pct_numpy": 406.8, + "status": "slower" + }, + { + "operation": "np.minimum(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0084, + "numsharp_ms": 0.0345, + "ratio": 0.243, + "pct_numpy": 411.3, + "status": "slower" + }, + { + "operation": "np.isclose(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.3666, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.366, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0067, + "numsharp_ms": 0.0186, + "ratio": 0.362, + "pct_numpy": 276.2, + "status": "slower" + }, + { + "operation": "np.isnan(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0085, + "numsharp_ms": 0.0483, + "ratio": 0.176, + "pct_numpy": 568.9, + "status": "much_slower" + }, + { + "operation": "np.isinf(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0101, + "numsharp_ms": 0.0433, + "ratio": 0.233, + "pct_numpy": 429.4, + "status": "slower" + }, + { + "operation": "np.isfinite(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.0365, + "ratio": 0.267, + "pct_numpy": 374.2, + "status": "slower" + }, + { + "operation": "np.maximum(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0293, + "numsharp_ms": 0.0803, + "ratio": 0.365, + "pct_numpy": 273.9, + "status": "slower" + }, + { + "operation": "np.minimum(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.029, + "numsharp_ms": 0.0866, + "ratio": 0.335, + "pct_numpy": 298.5, + "status": "slower" + }, + { + "operation": "np.isclose(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.6275, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.6299, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0121, + "numsharp_ms": 0.0248, + "ratio": 0.489, + "pct_numpy": 204.3, + "status": "slower" + }, + { + "operation": "np.all(a) (bool)", + "suite": "Logic", + "category": "Logic", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0014, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.any(a) (bool)", + "suite": "Logic", + "category": "Logic", + "dtype": "bool", + "n": 100000, + "numpy_ms": 0.0017, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.isnan(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 7.7981, + "numsharp_ms": 3.113, + "ratio": 2.505, + "pct_numpy": 39.9, + "status": "faster" + }, + { + "operation": "np.isinf(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 6.0644, + "numsharp_ms": 3.1035, + "ratio": 1.954, + "pct_numpy": 51.2, + "status": "faster" + }, + { + "operation": "np.isfinite(a) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 5.8734, + "numsharp_ms": 3.1098, + "ratio": 1.889, + "pct_numpy": 52.9, + "status": "faster" + }, + { + "operation": "np.maximum(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 80.9858, + "numsharp_ms": 66.1452, + "ratio": 1.224, + "pct_numpy": 81.7, + "status": "faster" + }, + { + "operation": "np.minimum(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 81.4032, + "numsharp_ms": 65.4062, + "ratio": 1.245, + "pct_numpy": 80.3, + "status": "faster" + }, + { + "operation": "np.isclose(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 195.6207, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 192.9692, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float16)", + "suite": "Logic", + "category": "Logic", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 9.5077, + "numsharp_ms": 6.1828, + "ratio": 1.538, + "pct_numpy": 65.0, + "status": "faster" + }, + { + "operation": "np.isnan(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 2.9244, + "numsharp_ms": 4.7104, + "ratio": 0.621, + "pct_numpy": 161.1, + "status": "close" + }, + { + "operation": "np.isinf(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.0154, + "numsharp_ms": 3.9983, + "ratio": 0.754, + "pct_numpy": 132.6, + "status": "close" + }, + { + "operation": "np.isfinite(a) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.3272, + "numsharp_ms": 3.8128, + "ratio": 0.873, + "pct_numpy": 114.6, + "status": "close" + }, + { + "operation": "np.maximum(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.3101, + "numsharp_ms": 4.3746, + "ratio": 1.9, + "pct_numpy": 52.6, + "status": "faster" + }, + { + "operation": "np.minimum(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 8.4413, + "numsharp_ms": 4.4356, + "ratio": 1.903, + "pct_numpy": 52.5, + "status": "faster" + }, + { + "operation": "np.isclose(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 55.1472, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 55.8239, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float32)", + "suite": "Logic", + "category": "Logic", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 3.9686, + "numsharp_ms": 3.4029, + "ratio": 1.166, + "pct_numpy": 85.7, + "status": "faster" + }, + { + "operation": "np.isnan(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.931, + "numsharp_ms": 6.0302, + "ratio": 0.818, + "pct_numpy": 122.3, + "status": "close" + }, + { + "operation": "np.isinf(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 5.2606, + "numsharp_ms": 5.9503, + "ratio": 0.884, + "pct_numpy": 113.1, + "status": "close" + }, + { + "operation": "np.isfinite(a) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 5.3098, + "numsharp_ms": 5.692, + "ratio": 0.933, + "pct_numpy": 107.2, + "status": "close" + }, + { + "operation": "np.maximum(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 16.575, + "numsharp_ms": 17.2376, + "ratio": 0.962, + "pct_numpy": 104.0, + "status": "close" + }, + { + "operation": "np.minimum(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 16.8958, + "numsharp_ms": 20.5756, + "ratio": 0.821, + "pct_numpy": 121.8, + "status": "close" + }, + { + "operation": "np.isclose(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 104.7217, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.allclose(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 107.5215, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.array_equal(a, b) (float64)", + "suite": "Logic", + "category": "Logic", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 6.8297, + "numsharp_ms": 5.8386, + "ratio": 1.17, + "pct_numpy": 85.5, + "status": "faster" + }, + { + "operation": "np.all(a) (bool)", + "suite": "Logic", + "category": "Logic", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 0.0014, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.any(a) (bool)", + "suite": "Logic", + "category": "Logic", + "dtype": "bool", + "n": 10000000, + "numpy_ms": 0.0014, + "numsharp_ms": null, + "ratio": null, + "pct_numpy": null, + "status": "no_data" + }, + { + "operation": "np.median(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0144, + "numsharp_ms": 0.0041, + "ratio": 3.516, + "pct_numpy": 28.4, + "status": "faster" + }, + { + "operation": "np.percentile(a, 50) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0288, + "numsharp_ms": 0.0041, + "ratio": 6.972, + "pct_numpy": 14.3, + "status": "faster" + }, + { + "operation": "np.quantile(a, 0.5) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0283, + "numsharp_ms": 0.0041, + "ratio": 6.892, + "pct_numpy": 14.5, + "status": "faster" + }, + { + "operation": "np.average(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0054, + "numsharp_ms": 0.0012, + "ratio": 4.483, + "pct_numpy": 22.3, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0077, + "numsharp_ms": 0.0037, + "ratio": 2.104, + "pct_numpy": 47.5, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0008, + "ratio": 2.291, + "pct_numpy": 43.6, + "status": "negligible" + }, + { + "operation": "np.median(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.011, + "numsharp_ms": 0.0023, + "ratio": 4.801, + "pct_numpy": 20.8, + "status": "faster" + }, + { + "operation": "np.percentile(a, 50) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0243, + "numsharp_ms": 0.0023, + "ratio": 10.607, + "pct_numpy": 9.4, + "status": "faster" + }, + { + "operation": "np.quantile(a, 0.5) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0237, + "numsharp_ms": 0.0023, + "ratio": 10.323, + "pct_numpy": 9.7, + "status": "faster" + }, + { + "operation": "np.average(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0042, + "numsharp_ms": 0.0007, + "ratio": 5.801, + "pct_numpy": 17.2, + "status": "negligible" + }, + { + "operation": "np.ptp(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0035, + "numsharp_ms": 0.0022, + "ratio": 1.592, + "pct_numpy": 62.8, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0006, + "numsharp_ms": 0.0003, + "ratio": 1.872, + "pct_numpy": 53.4, + "status": "negligible" + }, + { + "operation": "np.median(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0098, + "numsharp_ms": 0.0023, + "ratio": 4.228, + "pct_numpy": 23.7, + "status": "faster" + }, + { + "operation": "np.percentile(a, 50) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0258, + "numsharp_ms": 0.0023, + "ratio": 11.004, + "pct_numpy": 9.1, + "status": "faster" + }, + { + "operation": "np.quantile(a, 0.5) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0239, + "numsharp_ms": 0.0023, + "ratio": 10.208, + "pct_numpy": 9.8, + "status": "faster" + }, + { + "operation": "np.average(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.0007, + "ratio": 3.893, + "pct_numpy": 25.7, + "status": "negligible" + }, + { + "operation": "np.ptp(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0037, + "numsharp_ms": 0.002, + "ratio": 1.884, + "pct_numpy": 53.1, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0004, + "ratio": 1.821, + "pct_numpy": 54.9, + "status": "negligible" + }, + { + "operation": "np.median(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.8796, + "numsharp_ms": 1.2503, + "ratio": 0.704, + "pct_numpy": 142.1, + "status": "close" + }, + { + "operation": "np.percentile(a, 50) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.7825, + "numsharp_ms": 1.2489, + "ratio": 1.427, + "pct_numpy": 70.1, + "status": "faster" + }, + { + "operation": "np.quantile(a, 0.5) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.7668, + "numsharp_ms": 1.2481, + "ratio": 1.416, + "pct_numpy": 70.6, + "status": "faster" + }, + { + "operation": "np.average(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.1147, + "numsharp_ms": 0.0798, + "ratio": 1.437, + "pct_numpy": 69.6, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 100000, + "numpy_ms": 1.0004, + "numsharp_ms": 0.6489, + "ratio": 1.542, + "pct_numpy": 64.9, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 100000, + "numpy_ms": 0.1447, + "numsharp_ms": 0.0436, + "ratio": 3.319, + "pct_numpy": 30.1, + "status": "faster" + }, + { + "operation": "np.median(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.4686, + "numsharp_ms": 0.6988, + "ratio": 0.671, + "pct_numpy": 149.1, + "status": "close" + }, + { + "operation": "np.percentile(a, 50) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.7026, + "numsharp_ms": 0.7007, + "ratio": 1.003, + "pct_numpy": 99.7, + "status": "faster" + }, + { + "operation": "np.quantile(a, 0.5) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.6938, + "numsharp_ms": 0.7016, + "ratio": 0.989, + "pct_numpy": 101.1, + "status": "close" + }, + { + "operation": "np.average(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0177, + "numsharp_ms": 0.0032, + "ratio": 5.567, + "pct_numpy": 18.0, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0114, + "numsharp_ms": 0.008, + "ratio": 1.435, + "pct_numpy": 69.7, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.0438, + "numsharp_ms": 0.005, + "ratio": 8.686, + "pct_numpy": 11.5, + "status": "faster" + }, + { + "operation": "np.median(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.4653, + "numsharp_ms": 0.7089, + "ratio": 0.656, + "pct_numpy": 152.4, + "status": "close" + }, + { + "operation": "np.percentile(a, 50) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.7045, + "numsharp_ms": 0.7086, + "ratio": 0.994, + "pct_numpy": 100.6, + "status": "close" + }, + { + "operation": "np.quantile(a, 0.5) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.7004, + "numsharp_ms": 0.7083, + "ratio": 0.989, + "pct_numpy": 101.1, + "status": "close" + }, + { + "operation": "np.average(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0171, + "numsharp_ms": 0.004, + "ratio": 4.265, + "pct_numpy": 23.4, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.02, + "numsharp_ms": 0.0134, + "ratio": 1.49, + "pct_numpy": 67.1, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0376, + "numsharp_ms": 0.009, + "ratio": 4.188, + "pct_numpy": 23.9, + "status": "faster" + }, + { + "operation": "np.median(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 105.7899, + "numsharp_ms": 88.7294, + "ratio": 1.192, + "pct_numpy": 83.9, + "status": "faster" + }, + { + "operation": "np.percentile(a, 50) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 113.4806, + "numsharp_ms": 88.7652, + "ratio": 1.278, + "pct_numpy": 78.2, + "status": "faster" + }, + { + "operation": "np.quantile(a, 0.5) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 112.779, + "numsharp_ms": 88.6407, + "ratio": 1.272, + "pct_numpy": 78.6, + "status": "faster" + }, + { + "operation": "np.average(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 10.5817, + "numsharp_ms": 8.0311, + "ratio": 1.318, + "pct_numpy": 75.9, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 103.1114, + "numsharp_ms": 67.0357, + "ratio": 1.538, + "pct_numpy": 65.0, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float16)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float16", + "n": 10000000, + "numpy_ms": 15.7587, + "numsharp_ms": 4.3062, + "ratio": 3.66, + "pct_numpy": 27.3, + "status": "faster" + }, + { + "operation": "np.median(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 73.748, + "numsharp_ms": 79.7326, + "ratio": 0.925, + "pct_numpy": 108.1, + "status": "close" + }, + { + "operation": "np.percentile(a, 50) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 47.5374, + "numsharp_ms": 79.7748, + "ratio": 0.596, + "pct_numpy": 167.8, + "status": "close" + }, + { + "operation": "np.quantile(a, 0.5) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 47.6198, + "numsharp_ms": 79.7894, + "ratio": 0.597, + "pct_numpy": 167.6, + "status": "close" + }, + { + "operation": "np.average(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 2.8186, + "numsharp_ms": 0.9734, + "ratio": 2.896, + "pct_numpy": 34.5, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 2.6949, + "numsharp_ms": 2.4569, + "ratio": 1.097, + "pct_numpy": 91.2, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float32)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 4.2117, + "numsharp_ms": 1.6445, + "ratio": 2.561, + "pct_numpy": 39.0, + "status": "faster" + }, + { + "operation": "np.median(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 86.4309, + "numsharp_ms": 88.8375, + "ratio": 0.973, + "pct_numpy": 102.8, + "status": "close" + }, + { + "operation": "np.percentile(a, 50) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 58.5689, + "numsharp_ms": 88.9709, + "ratio": 0.658, + "pct_numpy": 151.9, + "status": "close" + }, + { + "operation": "np.quantile(a, 0.5) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 58.1853, + "numsharp_ms": 89.0162, + "ratio": 0.654, + "pct_numpy": 153.0, + "status": "close" + }, + { + "operation": "np.average(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 4.6529, + "numsharp_ms": 2.8474, + "ratio": 1.634, + "pct_numpy": 61.2, + "status": "faster" + }, + { + "operation": "np.ptp(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 6.9463, + "numsharp_ms": 6.225, + "ratio": 1.116, + "pct_numpy": 89.6, + "status": "faster" + }, + { + "operation": "np.count_nonzero(a) (float64)", + "suite": "Statistics", + "category": "Statistics", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 5.6444, + "numsharp_ms": 3.9133, + "ratio": 1.442, + "pct_numpy": 69.3, + "status": "faster" + }, + { + "operation": "np.argsort(a) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0113, + "numsharp_ms": 0.0221, + "ratio": 0.509, + "pct_numpy": 196.5, + "status": "close" + }, + { + "operation": "np.nonzero(a) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.0028, + "ratio": 0.612, + "pct_numpy": 163.5, + "status": "close" + }, + { + "operation": "np.searchsorted(a, v) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 1000, + "numpy_ms": 0.019, + "numsharp_ms": 0.0075, + "ratio": 2.543, + "pct_numpy": 39.3, + "status": "faster" + }, + { + "operation": "np.argsort(a) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0131, + "numsharp_ms": 0.0167, + "ratio": 0.784, + "pct_numpy": 127.6, + "status": "close" + }, + { + "operation": "np.nonzero(a) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0018, + "numsharp_ms": 0.0026, + "ratio": 0.693, + "pct_numpy": 144.3, + "status": "close" + }, + { + "operation": "np.searchsorted(a, v) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 1000, + "numpy_ms": 0.0186, + "numsharp_ms": 0.0071, + "ratio": 2.606, + "pct_numpy": 38.4, + "status": "faster" + }, + { + "operation": "np.argsort(a) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.012, + "numsharp_ms": 0.0223, + "ratio": 0.537, + "pct_numpy": 186.3, + "status": "close" + }, + { + "operation": "np.nonzero(a) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0027, + "numsharp_ms": 0.0021, + "ratio": 1.253, + "pct_numpy": 79.8, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 1000, + "numpy_ms": 0.0083, + "numsharp_ms": 0.0053, + "ratio": 1.565, + "pct_numpy": 63.9, + "status": "faster" + }, + { + "operation": "np.argsort(a) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0104, + "numsharp_ms": 0.0177, + "ratio": 0.586, + "pct_numpy": 170.6, + "status": "close" + }, + { + "operation": "np.nonzero(a) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0029, + "numsharp_ms": 0.002, + "ratio": 1.438, + "pct_numpy": 69.6, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0083, + "numsharp_ms": 0.0053, + "ratio": 1.564, + "pct_numpy": 63.9, + "status": "faster" + }, + { + "operation": "np.argsort(a) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.4031, + "numsharp_ms": 0.8504, + "ratio": 0.474, + "pct_numpy": 211.0, + "status": "slower" + }, + { + "operation": "np.nonzero(a) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 100000, + "numpy_ms": 0.1051, + "numsharp_ms": 0.1932, + "ratio": 0.544, + "pct_numpy": 183.8, + "status": "close" + }, + { + "operation": "np.searchsorted(a, v) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 100000, + "numpy_ms": 2.8983, + "numsharp_ms": 2.2559, + "ratio": 1.285, + "pct_numpy": 77.8, + "status": "faster" + }, + { + "operation": "np.argsort(a) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.4917, + "numsharp_ms": 2.2549, + "ratio": 0.218, + "pct_numpy": 458.6, + "status": "slower" + }, + { + "operation": "np.nonzero(a) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 100000, + "numpy_ms": 0.1073, + "numsharp_ms": 0.2034, + "ratio": 0.528, + "pct_numpy": 189.5, + "status": "close" + }, + { + "operation": "np.searchsorted(a, v) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 100000, + "numpy_ms": 2.9016, + "numsharp_ms": 2.2381, + "ratio": 1.296, + "pct_numpy": 77.1, + "status": "faster" + }, + { + "operation": "np.argsort(a) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 100000, + "numpy_ms": 1.5922, + "numsharp_ms": 1.0142, + "ratio": 1.57, + "pct_numpy": 63.7, + "status": "faster" + }, + { + "operation": "np.nonzero(a) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 100000, + "numpy_ms": 0.1988, + "numsharp_ms": 0.1946, + "ratio": 1.022, + "pct_numpy": 97.9, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 100000, + "numpy_ms": 2.0222, + "numsharp_ms": 1.7299, + "ratio": 1.169, + "pct_numpy": 85.5, + "status": "faster" + }, + { + "operation": "np.argsort(a) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 100000, + "numpy_ms": 1.428, + "numsharp_ms": 2.5193, + "ratio": 0.567, + "pct_numpy": 176.4, + "status": "close" + }, + { + "operation": "np.nonzero(a) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1923, + "numsharp_ms": 0.2002, + "ratio": 0.961, + "pct_numpy": 104.1, + "status": "close" + }, + { + "operation": "np.searchsorted(a, v) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 100000, + "numpy_ms": 2.0961, + "numsharp_ms": 1.7424, + "ratio": 1.203, + "pct_numpy": 83.1, + "status": "faster" + }, + { + "operation": "np.argsort(a) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 174.0979, + "numsharp_ms": 107.5057, + "ratio": 1.619, + "pct_numpy": 61.8, + "status": "faster" + }, + { + "operation": "np.nonzero(a) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 20.1149, + "numsharp_ms": 14.3503, + "ratio": 1.402, + "pct_numpy": 71.3, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (int32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int32", + "n": 10000000, + "numpy_ms": 390.1343, + "numsharp_ms": 243.3194, + "ratio": 1.603, + "pct_numpy": 62.4, + "status": "faster" + }, + { + "operation": "np.argsort(a) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 310.5208, + "numsharp_ms": 188.5734, + "ratio": 1.647, + "pct_numpy": 60.7, + "status": "faster" + }, + { + "operation": "np.nonzero(a) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 23.7474, + "numsharp_ms": 18.256, + "ratio": 1.301, + "pct_numpy": 76.9, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (int64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "int64", + "n": 10000000, + "numpy_ms": 568.2151, + "numsharp_ms": 243.9343, + "ratio": 2.329, + "pct_numpy": 42.9, + "status": "faster" + }, + { + "operation": "np.argsort(a) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 1348.273, + "numsharp_ms": 132.4664, + "ratio": 10.178, + "pct_numpy": 9.8, + "status": "faster" + }, + { + "operation": "np.nonzero(a) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 39.8712, + "numsharp_ms": 14.1945, + "ratio": 2.809, + "pct_numpy": 35.6, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (float32)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float32", + "n": 10000000, + "numpy_ms": 312.1823, + "numsharp_ms": 191.5647, + "ratio": 1.63, + "pct_numpy": 61.4, + "status": "faster" + }, + { + "operation": "np.argsort(a) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 1768.7035, + "numsharp_ms": 251.488, + "ratio": 7.033, + "pct_numpy": 14.2, + "status": "faster" + }, + { + "operation": "np.nonzero(a) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 42.6329, + "numsharp_ms": 17.6206, + "ratio": 2.419, + "pct_numpy": 41.3, + "status": "faster" + }, + { + "operation": "np.searchsorted(a, v) (float64)", + "suite": "Sorting", + "category": "Sorting", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 310.2307, + "numsharp_ms": 192.5449, + "ratio": 1.611, + "pct_numpy": 62.1, + "status": "faster" + }, + { + "operation": "np.dot(a, b) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0007, + "numsharp_ms": 0.0007, + "ratio": 1.06, + "pct_numpy": 94.3, + "status": "negligible" + }, + { + "operation": "np.outer(a, b) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0022, + "numsharp_ms": 0.0061, + "ratio": 0.352, + "pct_numpy": 284.4, + "status": "slower" + }, + { + "operation": "np.matmul(A, B) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0027, + "numsharp_ms": 0.006, + "ratio": 0.448, + "pct_numpy": 223.2, + "status": "slower" + }, + { + "operation": "np.dot(a, b) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.1123, + "numsharp_ms": 0.0093, + "ratio": 12.052, + "pct_numpy": 8.3, + "status": "faster" + }, + { + "operation": "np.outer(a, b) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.038, + "numsharp_ms": 0.0708, + "ratio": 0.537, + "pct_numpy": 186.1, + "status": "close" + }, + { + "operation": "np.matmul(A, B) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.5771, + "numsharp_ms": 2.7815, + "ratio": 0.207, + "pct_numpy": 482.0, + "status": "slower" + }, + { + "operation": "np.dot(a, b) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.869, + "numsharp_ms": 3.0303, + "ratio": 0.287, + "pct_numpy": 348.7, + "status": "slower" + }, + { + "operation": "np.outer(a, b) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 13.4954, + "numsharp_ms": 11.7542, + "ratio": 1.148, + "pct_numpy": 87.1, + "status": "faster" + }, + { + "operation": "np.matmul(A, B) (float64)", + "suite": "LinearAlgebra", + "category": "LinearAlgebra", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 0.6896, + "numsharp_ms": 4.4742, + "ratio": 0.154, + "pct_numpy": 648.8, + "status": "much_slower" + }, + { + "operation": "np.where(cond, a, b) (float64)", + "suite": "Selection", + "category": "Selection", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0017, + "numsharp_ms": 0.002, + "ratio": 0.855, + "pct_numpy": 116.9, + "status": "close" + }, + { + "operation": "np.where(cond) (float64)", + "suite": "Selection", + "category": "Selection", + "dtype": "float64", + "n": 1000, + "numpy_ms": 0.0009, + "numsharp_ms": 0.0014, + "ratio": 0.657, + "pct_numpy": 152.3, + "status": "negligible" + }, + { + "operation": "np.where(cond, a, b) (float64)", + "suite": "Selection", + "category": "Selection", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0399, + "numsharp_ms": 0.0688, + "ratio": 0.579, + "pct_numpy": 172.7, + "status": "close" + }, + { + "operation": "np.where(cond) (float64)", + "suite": "Selection", + "category": "Selection", + "dtype": "float64", + "n": 100000, + "numpy_ms": 0.0294, + "numsharp_ms": 0.0981, + "ratio": 0.3, + "pct_numpy": 333.2, + "status": "slower" + }, + { + "operation": "np.where(cond, a, b) (float64)", + "suite": "Selection", + "category": "Selection", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 17.1294, + "numsharp_ms": 14.8189, + "ratio": 1.156, + "pct_numpy": 86.5, + "status": "faster" + }, + { + "operation": "np.where(cond) (float64)", + "suite": "Selection", + "category": "Selection", + "dtype": "float64", + "n": 10000000, + "numpy_ms": 7.45, + "numsharp_ms": 6.9913, + "ratio": 1.066, + "pct_numpy": 93.8, + "status": "faster" + } +] \ No newline at end of file diff --git a/benchmark/history/2026-06-29_2d16f477/benchmark-report.md b/benchmark/history/2026-06-29_2d16f477/benchmark-report.md new file mode 100644 index 000000000..798922e3b --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/benchmark-report.md @@ -0,0 +1,2656 @@ +# NumSharp vs NumPy Performance + +**Baseline:** NumPy · measured across all array sizes (per-(op, dtype, N)) + +**Ratio** = NumPy ÷ NumSharp → Higher is better (>1.0× = NumSharp faster) + +**%NumPy🕐** = NumSharp ÷ NumPy × 100 = the share of NumPy's time NumSharp uses (30% = NumSharp takes only 30% of the time NumPy would; <100% = faster). + +| | Status | Ratio | %NumPy🕐 | Meaning | +|:-:|--------|:-----:|:------:|---------| +|✅| Faster | ≥1.0× | ≤100% | NumSharp ≥ NumPy speed | +|🟡| Close | 0.5–1.0× | 100–200% | within 2× slower | +|🟠| Slower | 0.2–0.5× | 200–500% | optimization target | +|🔴| Slow | <0.2× | >500% | priority fix | +|▫| Negligible | <1µs / >20× | — | too fast to compare — excluded from rankings | +|⚪| Pending | - | — | C# benchmark not run | + +--- + +**Summary:** 1851 ops | ✅ 838 | 🟡 329 | 🟠 183 | 🔴 50 | ▫ 388 | ⚪ 63 + +## Summary by size + +| N | ops | ✅ faster | 🟡 close | 🟠 slower | 🔴 much | ▫ negl | ⚪ n/a | geomean | %NP🕐 | +|---:|----:|--------:|--------:|---------:|------:|-----:|-----:|--------:|------:| +| 500 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - | +| 900 | 3 | 0 | 0 | 0 | 0 | 0 | 3 | - | - | +| 1,000 | 615 | 116 | 58 | 35 | 11 | 372 | 23 | 1.13x | 89% | +| 50,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - | +| 100,000 | 615 | 295 | 135 | 124 | 35 | 7 | 19 | 0.98x | 102% | +| 5,000,000 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | - | - | +| 10,000,000 | 615 | 427 | 136 | 24 | 4 | 9 | 15 | 1.39x | 72% | + +--- + +### 🏆 Top 15 Best (NumSharp fastest vs NumPy) + +_Ranked over 1400 credible comparisons (both sides ≥1µs, within 20×); 388 negligible rows excluded as non-comparable (▫). Ratio = NumPy ÷ NumSharp — above 1.0× = NumSharp faster · %NumPy🕐 = share of NumPy's time NumSharp uses._ + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|✅| np.prod (float64) | float64 | 100,000 | 2.331 | 0.170 | 13.71× | 7% | +|✅| np.nanprod(a) (float32) | float32 | 100,000 | 0.160 | 0.012 | 13.53× | 7% | +|✅| np.sum axis=1 (int8) | int8 | 10,000,000 | 3.511 | 0.264 | 13.30× | 8% | +|✅| np.nanvar(a) (float64) | float64 | 1,000 | 0.020 | 0.002 | 13.06× | 8% | +|✅| np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.028 | 0.002 | 12.60× | 8% | +|✅| np.nanstd(a) (float64) | float64 | 1,000 | 0.019 | 0.002 | 12.52× | 8% | +|✅| np.nanstd(a) (float16) | float16 | 1,000 | 0.034 | 0.003 | 12.26× | 8% | +|✅| np.prod axis=1 (float64) | float64 | 100,000 | 0.060 | 0.005 | 12.13× | 8% | +|✅| np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.206 | 0.265 | 12.11× | 8% | +|✅| np.mean (uint64) | uint64 | 100,000 | 0.054 | 0.004 | 12.08× | 8% | +|✅| np.dot(a, b) (float64) | float64 | 100,000 | 0.112 | 0.009 | 12.05× | 8% | +|✅| np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.027 | 0.002 | 11.99× | 8% | +|✅| np.nanstd(a) (float32) | float32 | 1,000 | 0.020 | 0.002 | 11.92× | 8% | +|✅| np.nanvar(a) (float16) | float16 | 1,000 | 0.032 | 0.003 | 11.72× | 8% | +|✅| np.sum axis=0 (uint8) | uint8 | 100,000 | 0.051 | 0.004 | 11.69× | 9% | + +### 🔻 Top 15 Worst (Optimization priorities) + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|🔴| np.zeros_like (int64) | int64 | 1,000 | 0.001 | 0.013 | 0.079× | 1261% | +|🔴| np.sum (float64) | float64 | 100,000 | 0.017 | 0.209 | 0.079× | 1260% | +|🔴| np.isnan(a) (float32) | float32 | 100,000 | 0.004 | 0.048 | 0.092× | 1091% | +|🔴| np.invert(a) (bool) | bool | 100,000 | 0.002 | 0.023 | 0.092× | 1083% | +|🔴| np.zeros_like (float64) | float64 | 1,000 | 0.001 | 0.013 | 0.092× | 1086% | +|🔴| a | b (bool) | bool | 100,000 | 0.003 | 0.023 | 0.11× | 912% | +|🔴| a + scalar (float64) | float64 | 100,000 | 0.012 | 0.104 | 0.11× | 902% | +|🔴| a * 2 (literal) (float64) | float64 | 100,000 | 0.012 | 0.106 | 0.11× | 887% | +|🔴| a + 5 (literal) (float64) | float64 | 100,000 | 0.012 | 0.103 | 0.11× | 884% | +|🔴| np.zeros_like (float32) | float32 | 1,000 | 0.001 | 0.009 | 0.12× | 861% | +|🔴| a * a (square) (float64) | float64 | 100,000 | 0.011 | 0.098 | 0.12× | 863% | +|🔴| a * scalar (float64) | float64 | 100,000 | 0.012 | 0.100 | 0.12× | 857% | +|🔴| np.right_shift(a, 2) (bool) | bool | 1,000 | 0.002 | 0.013 | 0.12× | 844% | +|🔴| np.left_shift(a, 2) (bool) | bool | 1,000 | 0.002 | 0.013 | 0.12× | 845% | +|🔴| np.zeros_like (int32) | int32 | 1,000 | 0.001 | 0.009 | 0.12× | 842% | + +--- + +### Arithmetic + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|🟡| a % 7 (literal) (float32) | float32 | 1,000 | 0.0143 | 0.0167 | 0.86× | 116% | +|🟡| a % 7 (literal) (float32) | float32 | 100,000 | 1.6323 | 1.8289 | 0.89× | 112% | +|🟡| a % 7 (literal) (float32) | float32 | 10,000,000 | 166.6333 | 176.1757 | 0.95× | 106% | +|🟡| a % 7 (literal) (float64) | float64 | 1,000 | 0.0112 | 0.0175 | 0.64× | 156% | +|🟡| a % 7 (literal) (float64) | float64 | 100,000 | 1.4461 | 1.6302 | 0.89× | 113% | +|🟡| a % 7 (literal) (float64) | float64 | 10,000,000 | 159.2176 | 162.5277 | 0.98× | 102% | +|🟡| a % 7 (literal) (int32) | int32 | 1,000 | 0.0022 | 0.0028 | 0.78× | 129% | +|🟡| a % 7 (literal) (int32) | int32 | 100,000 | 0.3957 | 0.6590 | 0.60× | 166% | +|🟡| a % 7 (literal) (int32) | int32 | 10,000,000 | 49.0203 | 66.9383 | 0.73× | 137% | +|🟡| a % 7 (literal) (int64) | int64 | 1,000 | 0.0044 | 0.0069 | 0.64× | 156% | +|🟡| a % 7 (literal) (int64) | int64 | 100,000 | 0.4155 | 0.6703 | 0.62× | 161% | +|🟡| a % 7 (literal) (int64) | int64 | 10,000,000 | 50.7135 | 75.8665 | 0.67× | 150% | +|✅| a % b (element-wise) (float32) | float32 | 1,000 | 0.0121 | 0.0108 | 1.12× | 90% | +|🟡| a % b (element-wise) (float32) | float32 | 100,000 | 1.5318 | 1.5713 | 0.97× | 103% | +|✅| a % b (element-wise) (float32) | float32 | 10,000,000 | 156.9058 | 152.7181 | 1.03× | 97% | +|✅| a % b (element-wise) (float64) | float64 | 1,000 | 0.0100 | 0.0090 | 1.12× | 89% | +|🟡| a % b (element-wise) (float64) | float64 | 100,000 | 1.2891 | 1.3568 | 0.95× | 105% | +|🟡| a % b (element-wise) (float64) | float64 | 10,000,000 | 143.9662 | 145.6373 | 0.99× | 101% | +|🟡| a % b (element-wise) (int32) | int32 | 1,000 | 0.0021 | 0.0028 | 0.76× | 132% | +|🟡| a % b (element-wise) (int32) | int32 | 100,000 | 0.3784 | 0.6093 | 0.62× | 161% | +|🟡| a % b (element-wise) (int32) | int32 | 10,000,000 | 47.9091 | 58.8577 | 0.81× | 123% | +|🟡| a % b (element-wise) (int64) | int64 | 1,000 | 0.0035 | 0.0040 | 0.88× | 114% | +|🟡| a % b (element-wise) (int64) | int64 | 100,000 | 0.3756 | 0.6058 | 0.62× | 161% | +|🟡| a % b (element-wise) (int64) | int64 | 10,000,000 | 49.5215 | 66.8191 | 0.74× | 135% | +|🟠| a * 2 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0045 | 0.25× | 402% | +|✅| a * 2 (literal) (complex128) | complex128 | 100,000 | 0.3633 | 0.3155 | 1.15× | 87% | +|🟡| a * 2 (literal) (complex128) | complex128 | 10,000,000 | 31.3365 | 57.0611 | 0.55× | 182% | +|🟡| a * 2 (literal) (float16) | float16 | 1,000 | 0.0066 | 0.0103 | 0.63× | 158% | +|🟠| a * 2 (literal) (float16) | float16 | 100,000 | 0.3439 | 0.8963 | 0.38× | 261% | +|🟠| a * 2 (literal) (float16) | float16 | 10,000,000 | 31.2284 | 86.0293 | 0.36× | 276% | +|▫| a * 2 (literal) (float32) | float32 | 1,000 | 0.0008 | 0.0053 | 0.14× | 691% | +|🔴| a * 2 (literal) (float32) | float32 | 100,000 | 0.0066 | 0.0516 | 0.13× | 780% | +|🟡| a * 2 (literal) (float32) | float32 | 10,000,000 | 7.8824 | 9.4240 | 0.84× | 120% | +|▫| a * 2 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0062 | 0.13× | 773% | +|🔴| a * 2 (literal) (float64) | float64 | 100,000 | 0.0119 | 0.1056 | 0.11× | 887% | +|🟡| a * 2 (literal) (float64) | float64 | 10,000,000 | 20.0350 | 22.1709 | 0.90× | 111% | +|▫| a * 2 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0058 | 0.17× | 589% | +|🟡| a * 2 (literal) (int16) | int16 | 100,000 | 0.0233 | 0.0306 | 0.76× | 131% | +|✅| a * 2 (literal) (int16) | int16 | 10,000,000 | 6.0238 | 4.4309 | 1.36× | 74% | +|🟠| a * 2 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0034 | 0.30× | 334% | +|🟠| a * 2 (literal) (int32) | int32 | 100,000 | 0.0230 | 0.0521 | 0.44× | 226% | +|✅| a * 2 (literal) (int32) | int32 | 10,000,000 | 12.3132 | 7.7215 | 1.59× | 63% | +|▫| a * 2 (literal) (int64) | int64 | 1,000 | 0.0009 | 0.0056 | 0.16× | 614% | +|🟠| a * 2 (literal) (int64) | int64 | 100,000 | 0.0216 | 0.1059 | 0.20× | 491% | +|🟡| a * 2 (literal) (int64) | int64 | 10,000,000 | 16.4530 | 31.0792 | 0.53× | 189% | +|▫| a * 2 (literal) (int8) | int8 | 1,000 | 0.0008 | 0.0036 | 0.23× | 425% | +|🟡| a * 2 (literal) (int8) | int8 | 100,000 | 0.0226 | 0.0233 | 0.97× | 103% | +|✅| a * 2 (literal) (int8) | int8 | 10,000,000 | 3.7464 | 2.1072 | 1.78× | 56% | +|🟠| a * 2 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0027 | 0.37× | 269% | +|🟡| a * 2 (literal) (uint16) | uint16 | 100,000 | 0.0229 | 0.0291 | 0.78× | 128% | +|✅| a * 2 (literal) (uint16) | uint16 | 10,000,000 | 6.6073 | 4.8579 | 1.36× | 74% | +|🔴| a * 2 (literal) (uint32) | uint32 | 1,000 | 0.0010 | 0.0054 | 0.19× | 520% | +|🟠| a * 2 (literal) (uint32) | uint32 | 100,000 | 0.0225 | 0.0519 | 0.43× | 231% | +|✅| a * 2 (literal) (uint32) | uint32 | 10,000,000 | 7.8930 | 7.6778 | 1.03× | 97% | +|▫| a * 2 (literal) (uint64) | uint64 | 1,000 | 0.0009 | 0.0030 | 0.31× | 323% | +|🟠| a * 2 (literal) (uint64) | uint64 | 100,000 | 0.0222 | 0.1066 | 0.21× | 481% | +|🟡| a * 2 (literal) (uint64) | uint64 | 10,000,000 | 15.0621 | 29.8983 | 0.50× | 198% | +|▫| a * 2 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0038 | 0.23× | 428% | +|✅| a * 2 (literal) (uint8) | uint8 | 100,000 | 0.0229 | 0.0216 | 1.06× | 95% | +|✅| a * 2 (literal) (uint8) | uint8 | 10,000,000 | 4.1643 | 2.1224 | 1.96× | 51% | +|▫| a * a (square) (complex128) | complex128 | 1,000 | 0.0008 | 0.0042 | 0.19× | 520% | +|🟡| a * a (square) (complex128) | complex128 | 100,000 | 0.3485 | 0.4268 | 0.82× | 122% | +|🟡| a * a (square) (complex128) | complex128 | 10,000,000 | 30.2303 | 43.0242 | 0.70× | 142% | +|🟡| a * a (square) (float16) | float16 | 1,000 | 0.0057 | 0.0093 | 0.61× | 162% | +|🟠| a * a (square) (float16) | float16 | 100,000 | 0.2934 | 0.8294 | 0.35× | 283% | +|🟠| a * a (square) (float16) | float16 | 10,000,000 | 30.7340 | 84.9605 | 0.36× | 276% | +|▫| a * a (square) (float32) | float32 | 1,000 | 0.0005 | 0.0019 | 0.28× | 356% | +|🔴| a * a (square) (float32) | float32 | 100,000 | 0.0059 | 0.0493 | 0.12× | 834% | +|🟡| a * a (square) (float32) | float32 | 10,000,000 | 7.8671 | 8.1233 | 0.97× | 103% | +|▫| a * a (square) (float64) | float64 | 1,000 | 0.0005 | 0.0027 | 0.20× | 506% | +|🔴| a * a (square) (float64) | float64 | 100,000 | 0.0113 | 0.0977 | 0.12× | 863% | +|🟡| a * a (square) (float64) | float64 | 10,000,000 | 19.3973 | 20.3482 | 0.95× | 105% | +|▫| a * a (square) (int16) | int16 | 1,000 | 0.0008 | 0.0018 | 0.41× | 242% | +|✅| a * a (square) (int16) | int16 | 100,000 | 0.0287 | 0.0251 | 1.14× | 88% | +|✅| a * a (square) (int16) | int16 | 10,000,000 | 7.2866 | 5.2338 | 1.39× | 72% | +|▫| a * a (square) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39× | 258% | +|🟡| a * a (square) (int32) | int32 | 100,000 | 0.0300 | 0.0553 | 0.54× | 184% | +|✅| a * a (square) (int32) | int32 | 10,000,000 | 12.7934 | 7.8908 | 1.62× | 62% | +|▫| a * a (square) (int64) | int64 | 1,000 | 0.0008 | 0.0029 | 0.27× | 376% | +|🟠| a * a (square) (int64) | int64 | 100,000 | 0.0289 | 0.1056 | 0.27× | 366% | +|🟡| a * a (square) (int64) | int64 | 10,000,000 | 15.6967 | 30.4188 | 0.52× | 194% | +|▫| a * a (square) (int8) | int8 | 1,000 | 0.0006 | 0.0015 | 0.42× | 239% | +|✅| a * a (square) (int8) | int8 | 100,000 | 0.0280 | 0.0158 | 1.77× | 57% | +|✅| a * a (square) (int8) | int8 | 10,000,000 | 4.4945 | 2.8519 | 1.58× | 64% | +|▫| a * a (square) (uint16) | uint16 | 1,000 | 0.0008 | 0.0017 | 0.45× | 223% | +|✅| a * a (square) (uint16) | uint16 | 100,000 | 0.0347 | 0.0258 | 1.34× | 74% | +|✅| a * a (square) (uint16) | uint16 | 10,000,000 | 7.9808 | 5.3188 | 1.50× | 67% | +|▫| a * a (square) (uint32) | uint32 | 1,000 | 0.0008 | 0.0021 | 0.37× | 269% | +|🟡| a * a (square) (uint32) | uint32 | 100,000 | 0.0285 | 0.0490 | 0.58× | 172% | +|🟡| a * a (square) (uint32) | uint32 | 10,000,000 | 7.9914 | 8.4603 | 0.94× | 106% | +|▫| a * a (square) (uint64) | uint64 | 1,000 | 0.0007 | 0.0028 | 0.26× | 384% | +|🟠| a * a (square) (uint64) | uint64 | 100,000 | 0.0293 | 0.1078 | 0.27× | 368% | +|🟡| a * a (square) (uint64) | uint64 | 10,000,000 | 15.1757 | 29.8093 | 0.51× | 196% | +|▫| a * a (square) (uint8) | uint8 | 1,000 | 0.0007 | 0.0014 | 0.46× | 216% | +|✅| a * a (square) (uint8) | uint8 | 100,000 | 0.0290 | 0.0155 | 1.88× | 53% | +|✅| a * a (square) (uint8) | uint8 | 10,000,000 | 4.8089 | 2.8618 | 1.68× | 60% | +|▫| a * b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0043 | 0.22× | 453% | +|🟡| a * b (element-wise) (complex128) | complex128 | 100,000 | 0.3579 | 0.4442 | 0.81× | 124% | +|🟠| a * b (element-wise) (complex128) | complex128 | 10,000,000 | 34.4053 | 73.3371 | 0.47× | 213% | +|🟠| a * b (element-wise) (float16) | float16 | 1,000 | 0.0034 | 0.0090 | 0.37× | 268% | +|🟠| a * b (element-wise) (float16) | float16 | 100,000 | 0.3186 | 0.8505 | 0.38× | 267% | +|🟠| a * b (element-wise) (float16) | float16 | 10,000,000 | 30.9166 | 88.9610 | 0.35× | 288% | +|▫| a * b (element-wise) (float32) | float32 | 1,000 | 0.0006 | 0.0019 | 0.30× | 336% | +|🔴| a * b (element-wise) (float32) | float32 | 100,000 | 0.0071 | 0.0514 | 0.14× | 722% | +|🟡| a * b (element-wise) (float32) | float32 | 10,000,000 | 8.4965 | 10.2234 | 0.83× | 120% | +|▫| a * b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.20× | 489% | +|🟠| a * b (element-wise) (float64) | float64 | 100,000 | 0.0274 | 0.1030 | 0.27× | 376% | +|🟡| a * b (element-wise) (float64) | float64 | 10,000,000 | 21.0075 | 33.0143 | 0.64× | 157% | +|▫| a * b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0019 | 0.41× | 241% | +|✅| a * b (element-wise) (int16) | int16 | 100,000 | 0.0282 | 0.0266 | 1.06× | 95% | +|✅| a * b (element-wise) (int16) | int16 | 10,000,000 | 7.7338 | 6.8196 | 1.13× | 88% | +|▫| a * b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.39× | 257% | +|🟡| a * b (element-wise) (int32) | int32 | 100,000 | 0.0287 | 0.0519 | 0.55× | 181% | +|✅| a * b (element-wise) (int32) | int32 | 10,000,000 | 13.0207 | 10.9911 | 1.19× | 84% | +|▫| a * b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0030 | 0.26× | 386% | +|🟠| a * b (element-wise) (int64) | int64 | 100,000 | 0.0386 | 0.1068 | 0.36× | 277% | +|🟠| a * b (element-wise) (int64) | int64 | 10,000,000 | 17.0533 | 38.5984 | 0.44× | 226% | +|▫| a * b (element-wise) (int8) | int8 | 1,000 | 0.0006 | 0.0016 | 0.39× | 255% | +|✅| a * b (element-wise) (int8) | int8 | 100,000 | 0.0282 | 0.0162 | 1.74× | 57% | +|✅| a * b (element-wise) (int8) | int8 | 10,000,000 | 5.3373 | 3.6339 | 1.47× | 68% | +|▫| a * b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.39× | 254% | +|✅| a * b (element-wise) (uint16) | uint16 | 100,000 | 0.0308 | 0.0267 | 1.15× | 87% | +|✅| a * b (element-wise) (uint16) | uint16 | 10,000,000 | 7.7433 | 6.7987 | 1.14× | 88% | +|▫| a * b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0020 | 0.40× | 250% | +|🟡| a * b (element-wise) (uint32) | uint32 | 100,000 | 0.0278 | 0.0486 | 0.57× | 175% | +|🟡| a * b (element-wise) (uint32) | uint32 | 10,000,000 | 9.8085 | 11.0138 | 0.89× | 112% | +|▫| a * b (element-wise) (uint64) | uint64 | 1,000 | 0.0007 | 0.0027 | 0.27× | 377% | +|🟠| a * b (element-wise) (uint64) | uint64 | 100,000 | 0.0361 | 0.1090 | 0.33× | 302% | +|🟠| a * b (element-wise) (uint64) | uint64 | 10,000,000 | 16.9583 | 37.9021 | 0.45× | 224% | +|▫| a * b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0017 | 0.39× | 257% | +|✅| a * b (element-wise) (uint8) | uint8 | 100,000 | 0.0295 | 0.0157 | 1.88× | 53% | +|✅| a * b (element-wise) (uint8) | uint8 | 10,000,000 | 4.5011 | 3.6771 | 1.22× | 82% | +|▫| a * scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0043 | 0.22× | 458% | +|✅| a * scalar (complex128) | complex128 | 100,000 | 0.3458 | 0.3076 | 1.12× | 89% | +|🟡| a * scalar (complex128) | complex128 | 10,000,000 | 30.9297 | 45.1226 | 0.69× | 146% | +|🟡| a * scalar (float16) | float16 | 1,000 | 0.0062 | 0.0092 | 0.68× | 148% | +|🟠| a * scalar (float16) | float16 | 100,000 | 0.3472 | 0.8794 | 0.40× | 253% | +|🟠| a * scalar (float16) | float16 | 10,000,000 | 35.1625 | 88.3826 | 0.40× | 251% | +|▫| a * scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.36× | 281% | +|🔴| a * scalar (float32) | float32 | 100,000 | 0.0068 | 0.0488 | 0.14× | 722% | +|🟡| a * scalar (float32) | float32 | 10,000,000 | 8.0629 | 8.9608 | 0.90× | 111% | +|▫| a * scalar (float64) | float64 | 1,000 | 0.0009 | 0.0028 | 0.31× | 325% | +|🔴| a * scalar (float64) | float64 | 100,000 | 0.0117 | 0.0999 | 0.12× | 857% | +|🟡| a * scalar (float64) | float64 | 10,000,000 | 19.9081 | 22.8588 | 0.87× | 115% | +|▫| a * scalar (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.50× | 201% | +|🟡| a * scalar (int16) | int16 | 100,000 | 0.0233 | 0.0262 | 0.89× | 112% | +|✅| a * scalar (int16) | int16 | 10,000,000 | 7.0592 | 4.6609 | 1.51× | 66% | +|▫| a * scalar (int32) | int32 | 1,000 | 0.0009 | 0.0019 | 0.46× | 217% | +|🟠| a * scalar (int32) | int32 | 100,000 | 0.0231 | 0.0508 | 0.46× | 220% | +|✅| a * scalar (int32) | int32 | 10,000,000 | 12.6141 | 9.1360 | 1.38× | 72% | +|▫| a * scalar (int64) | int64 | 1,000 | 0.0009 | 0.0029 | 0.30× | 332% | +|🟠| a * scalar (int64) | int64 | 100,000 | 0.0226 | 0.1076 | 0.21× | 476% | +|🟠| a * scalar (int64) | int64 | 10,000,000 | 15.4341 | 31.3975 | 0.49× | 203% | +|▫| a * scalar (int8) | int8 | 1,000 | 0.0007 | 0.0016 | 0.45× | 223% | +|✅| a * scalar (int8) | int8 | 100,000 | 0.0223 | 0.0161 | 1.39× | 72% | +|✅| a * scalar (int8) | int8 | 10,000,000 | 3.7610 | 2.0651 | 1.82× | 55% | +|▫| a * scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0018 | 0.47× | 213% | +|🟡| a * scalar (uint16) | uint16 | 100,000 | 0.0262 | 0.0269 | 0.97× | 103% | +|✅| a * scalar (uint16) | uint16 | 10,000,000 | 7.0635 | 4.6785 | 1.51× | 66% | +|▫| a * scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0020 | 0.46× | 219% | +|🟠| a * scalar (uint32) | uint32 | 100,000 | 0.0227 | 0.0507 | 0.45× | 223% | +|🟡| a * scalar (uint32) | uint32 | 10,000,000 | 7.8165 | 9.2370 | 0.85× | 118% | +|▫| a * scalar (uint64) | uint64 | 1,000 | 0.0008 | 0.0028 | 0.28× | 351% | +|🟠| a * scalar (uint64) | uint64 | 100,000 | 0.0222 | 0.1048 | 0.21× | 471% | +|🟡| a * scalar (uint64) | uint64 | 10,000,000 | 15.1079 | 30.0570 | 0.50× | 199% | +|▫| a * scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0016 | 0.47× | 210% | +|✅| a * scalar (uint8) | uint8 | 100,000 | 0.0238 | 0.0159 | 1.50× | 67% | +|✅| a * scalar (uint8) | uint8 | 10,000,000 | 4.0195 | 2.0901 | 1.92× | 52% | +|🔴| a + 5 (literal) (complex128) | complex128 | 1,000 | 0.0011 | 0.0076 | 0.14× | 691% | +|✅| a + 5 (literal) (complex128) | complex128 | 100,000 | 0.3558 | 0.3115 | 1.14× | 88% | +|✅| a + 5 (literal) (complex128) | complex128 | 10,000,000 | 42.7672 | 39.9933 | 1.07× | 94% | +|🟡| a + 5 (literal) (float16) | float16 | 1,000 | 0.0064 | 0.0106 | 0.60× | 166% | +|🟠| a + 5 (literal) (float16) | float16 | 100,000 | 0.3642 | 0.8592 | 0.42× | 236% | +|🟠| a + 5 (literal) (float16) | float16 | 10,000,000 | 31.0643 | 84.9236 | 0.37× | 273% | +|▫| a + 5 (literal) (float32) | float32 | 1,000 | 0.0009 | 0.0049 | 0.18× | 568% | +|🔴| a + 5 (literal) (float32) | float32 | 100,000 | 0.0065 | 0.0543 | 0.12× | 841% | +|🟡| a + 5 (literal) (float32) | float32 | 10,000,000 | 8.0704 | 8.3566 | 0.97× | 104% | +|▫| a + 5 (literal) (float64) | float64 | 1,000 | 0.0008 | 0.0056 | 0.14× | 708% | +|🔴| a + 5 (literal) (float64) | float64 | 100,000 | 0.0117 | 0.1033 | 0.11× | 884% | +|✅| a + 5 (literal) (float64) | float64 | 10,000,000 | 19.9822 | 19.3898 | 1.03× | 97% | +|🟠| a + 5 (literal) (int16) | int16 | 1,000 | 0.0010 | 0.0025 | 0.41× | 245% | +|🟡| a + 5 (literal) (int16) | int16 | 100,000 | 0.0256 | 0.0297 | 0.86× | 116% | +|✅| a + 5 (literal) (int16) | int16 | 10,000,000 | 6.8921 | 4.3178 | 1.60× | 63% | +|🟠| a + 5 (literal) (int32) | int32 | 1,000 | 0.0010 | 0.0033 | 0.31× | 321% | +|🟠| a + 5 (literal) (int32) | int32 | 100,000 | 0.0250 | 0.0530 | 0.47× | 212% | +|✅| a + 5 (literal) (int32) | int32 | 10,000,000 | 12.6603 | 8.4146 | 1.50× | 66% | +|▫| a + 5 (literal) (int64) | int64 | 1,000 | 0.0010 | 0.0058 | 0.17× | 598% | +|🟠| a + 5 (literal) (int64) | int64 | 100,000 | 0.0233 | 0.1024 | 0.23× | 439% | +|🟡| a + 5 (literal) (int64) | int64 | 10,000,000 | 15.3142 | 19.3520 | 0.79× | 126% | +|▫| a + 5 (literal) (int8) | int8 | 1,000 | 0.0009 | 0.0034 | 0.26× | 387% | +|✅| a + 5 (literal) (int8) | int8 | 100,000 | 0.0369 | 0.0230 | 1.60× | 62% | +|✅| a + 5 (literal) (int8) | int8 | 10,000,000 | 4.1932 | 1.9965 | 2.10× | 48% | +|🟠| a + 5 (literal) (uint16) | uint16 | 1,000 | 0.0010 | 0.0048 | 0.21× | 474% | +|🟡| a + 5 (literal) (uint16) | uint16 | 100,000 | 0.0250 | 0.0308 | 0.81× | 123% | +|✅| a + 5 (literal) (uint16) | uint16 | 10,000,000 | 6.9032 | 4.2530 | 1.62× | 62% | +|🔴| a + 5 (literal) (uint32) | uint32 | 1,000 | 0.0011 | 0.0056 | 0.19× | 530% | +|🟠| a + 5 (literal) (uint32) | uint32 | 100,000 | 0.0234 | 0.0493 | 0.47× | 211% | +|✅| a + 5 (literal) (uint32) | uint32 | 10,000,000 | 10.0916 | 8.5435 | 1.18× | 85% | +|🔴| a + 5 (literal) (uint64) | uint64 | 1,000 | 0.0010 | 0.0054 | 0.19× | 526% | +|🟠| a + 5 (literal) (uint64) | uint64 | 100,000 | 0.0236 | 0.1073 | 0.22× | 454% | +|🟡| a + 5 (literal) (uint64) | uint64 | 10,000,000 | 15.2161 | 20.0614 | 0.76× | 132% | +|▫| a + 5 (literal) (uint8) | uint8 | 1,000 | 0.0009 | 0.0036 | 0.26× | 390% | +|✅| a + 5 (literal) (uint8) | uint8 | 100,000 | 0.0248 | 0.0205 | 1.21× | 83% | +|✅| a + 5 (literal) (uint8) | uint8 | 10,000,000 | 4.1679 | 1.9455 | 2.14× | 47% | +|🟠| a + b (element-wise) (complex128) | complex128 | 1,000 | 0.0010 | 0.0046 | 0.23× | 442% | +|🟡| a + b (element-wise) (complex128) | complex128 | 100,000 | 0.3515 | 0.4716 | 0.74× | 134% | +|🟡| a + b (element-wise) (complex128) | complex128 | 10,000,000 | 42.3859 | 58.1610 | 0.73× | 137% | +|🟡| a + b (element-wise) (float16) | float16 | 1,000 | 0.0055 | 0.0091 | 0.60× | 165% | +|🟠| a + b (element-wise) (float16) | float16 | 100,000 | 0.2982 | 0.8560 | 0.35× | 287% | +|🟠| a + b (element-wise) (float16) | float16 | 10,000,000 | 31.3075 | 87.5987 | 0.36× | 280% | +|▫| a + b (element-wise) (float32) | float32 | 1,000 | 0.0007 | 0.0011 | 0.67× | 149% | +|🔴| a + b (element-wise) (float32) | float32 | 100,000 | 0.0069 | 0.0546 | 0.13× | 792% | +|🟡| a + b (element-wise) (float32) | float32 | 10,000,000 | 8.7877 | 10.3685 | 0.85× | 118% | +|▫| a + b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0018 | 0.28× | 358% | +|🟠| a + b (element-wise) (float64) | float64 | 100,000 | 0.0287 | 0.1183 | 0.24× | 413% | +|🟡| a + b (element-wise) (float64) | float64 | 10,000,000 | 17.1247 | 32.2672 | 0.53× | 188% | +|▫| a + b (element-wise) (int16) | int16 | 1,000 | 0.0009 | 0.0018 | 0.47× | 213% | +|🟡| a + b (element-wise) (int16) | int16 | 100,000 | 0.0306 | 0.0341 | 0.90× | 111% | +|✅| a + b (element-wise) (int16) | int16 | 10,000,000 | 7.6408 | 7.1288 | 1.07× | 93% | +|▫| a + b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0022 | 0.35× | 286% | +|🟡| a + b (element-wise) (int32) | int32 | 100,000 | 0.0296 | 0.0569 | 0.52× | 192% | +|✅| a + b (element-wise) (int32) | int32 | 10,000,000 | 13.4533 | 10.0724 | 1.34× | 75% | +|▫| a + b (element-wise) (int64) | int64 | 1,000 | 0.0010 | 0.0032 | 0.30× | 330% | +|🟠| a + b (element-wise) (int64) | int64 | 100,000 | 0.0351 | 0.1211 | 0.29× | 345% | +|🟡| a + b (element-wise) (int64) | int64 | 10,000,000 | 16.9982 | 32.1148 | 0.53× | 189% | +|▫| a + b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0017 | 0.39× | 256% | +|✅| a + b (element-wise) (int8) | int8 | 100,000 | 0.0289 | 0.0158 | 1.83× | 55% | +|✅| a + b (element-wise) (int8) | int8 | 10,000,000 | 4.7377 | 3.2841 | 1.44× | 69% | +|▫| a + b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0021 | 0.39× | 256% | +|✅| a + b (element-wise) (uint16) | uint16 | 100,000 | 0.0305 | 0.0303 | 1.00× | 100% | +|✅| a + b (element-wise) (uint16) | uint16 | 10,000,000 | 7.7579 | 7.1286 | 1.09× | 92% | +|🟡| a + b (element-wise) (uint32) | uint32 | 1,000 | 0.0011 | 0.0017 | 0.68× | 148% | +|🟡| a + b (element-wise) (uint32) | uint32 | 100,000 | 0.0292 | 0.0565 | 0.52× | 194% | +|✅| a + b (element-wise) (uint32) | uint32 | 10,000,000 | 13.4492 | 9.8607 | 1.36× | 73% | +|▫| a + b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0027 | 0.29× | 348% | +|🟠| a + b (element-wise) (uint64) | uint64 | 100,000 | 0.0529 | 0.1072 | 0.49× | 203% | +|🟠| a + b (element-wise) (uint64) | uint64 | 10,000,000 | 17.2194 | 35.4223 | 0.49× | 206% | +|▫| a + b (element-wise) (uint8) | uint8 | 1,000 | 0.0008 | 0.0019 | 0.43× | 232% | +|✅| a + b (element-wise) (uint8) | uint8 | 100,000 | 0.0305 | 0.0154 | 1.98× | 50% | +|✅| a + b (element-wise) (uint8) | uint8 | 10,000,000 | 4.9889 | 3.3759 | 1.48× | 68% | +|▫| a + scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0042 | 0.23× | 442% | +|✅| a + scalar (complex128) | complex128 | 100,000 | 0.3392 | 0.3087 | 1.10× | 91% | +|🟡| a + scalar (complex128) | complex128 | 10,000,000 | 39.4817 | 41.1306 | 0.96× | 104% | +|🟡| a + scalar (float16) | float16 | 1,000 | 0.0066 | 0.0091 | 0.73× | 138% | +|🟠| a + scalar (float16) | float16 | 100,000 | 0.3632 | 0.8631 | 0.42× | 238% | +|🟠| a + scalar (float16) | float16 | 10,000,000 | 30.8505 | 85.6472 | 0.36× | 278% | +|▫| a + scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.35× | 283% | +|🔴| a + scalar (float32) | float32 | 100,000 | 0.0062 | 0.0514 | 0.12× | 829% | +|🟡| a + scalar (float32) | float32 | 10,000,000 | 7.9325 | 8.3761 | 0.95× | 106% | +|▫| a + scalar (float64) | float64 | 1,000 | 0.0007 | 0.0027 | 0.24× | 416% | +|🔴| a + scalar (float64) | float64 | 100,000 | 0.0116 | 0.1045 | 0.11× | 902% | +|🟡| a + scalar (float64) | float64 | 10,000,000 | 19.7762 | 20.4638 | 0.97× | 104% | +|▫| a + scalar (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51× | 196% | +|🟡| a + scalar (int16) | int16 | 100,000 | 0.0249 | 0.0262 | 0.95× | 105% | +|✅| a + scalar (int16) | int16 | 10,000,000 | 7.1782 | 4.4382 | 1.62× | 62% | +|▫| a + scalar (int32) | int32 | 1,000 | 0.0009 | 0.0019 | 0.46× | 217% | +|🟠| a + scalar (int32) | int32 | 100,000 | 0.0245 | 0.0532 | 0.46× | 217% | +|✅| a + scalar (int32) | int32 | 10,000,000 | 12.6205 | 8.3589 | 1.51× | 66% | +|▫| a + scalar (int64) | int64 | 1,000 | 0.0009 | 0.0027 | 0.33× | 304% | +|🟠| a + scalar (int64) | int64 | 100,000 | 0.0236 | 0.1014 | 0.23× | 429% | +|🟡| a + scalar (int64) | int64 | 10,000,000 | 14.8466 | 19.9072 | 0.75× | 134% | +|▫| a + scalar (int8) | int8 | 1,000 | 0.0008 | 0.0016 | 0.49× | 203% | +|✅| a + scalar (int8) | int8 | 100,000 | 0.0251 | 0.0149 | 1.69× | 59% | +|✅| a + scalar (int8) | int8 | 10,000,000 | 4.2152 | 1.9671 | 2.14× | 47% | +|▫| a + scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0017 | 0.54× | 187% | +|🟡| a + scalar (uint16) | uint16 | 100,000 | 0.0245 | 0.0256 | 0.96× | 105% | +|✅| a + scalar (uint16) | uint16 | 10,000,000 | 6.9794 | 4.3583 | 1.60× | 62% | +|▫| a + scalar (uint32) | uint32 | 1,000 | 0.0009 | 0.0019 | 0.49× | 205% | +|🟠| a + scalar (uint32) | uint32 | 100,000 | 0.0247 | 0.0503 | 0.49× | 204% | +|✅| a + scalar (uint32) | uint32 | 10,000,000 | 10.8927 | 8.4266 | 1.29× | 77% | +|▫| a + scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0025 | 0.37× | 273% | +|🟠| a + scalar (uint64) | uint64 | 100,000 | 0.0235 | 0.1018 | 0.23× | 433% | +|🟡| a + scalar (uint64) | uint64 | 10,000,000 | 15.0579 | 20.0299 | 0.75× | 133% | +|▫| a + scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0015 | 0.50× | 202% | +|✅| a + scalar (uint8) | uint8 | 100,000 | 0.0248 | 0.0148 | 1.67× | 60% | +|✅| a + scalar (uint8) | uint8 | 10,000,000 | 4.4127 | 1.9329 | 2.28× | 44% | +|▫| a - b (element-wise) (complex128) | complex128 | 1,000 | 0.0009 | 0.0040 | 0.22× | 458% | +|✅| a - b (element-wise) (complex128) | complex128 | 100,000 | 0.3505 | 0.2610 | 1.34× | 74% | +|✅| a - b (element-wise) (complex128) | complex128 | 10,000,000 | 41.6707 | 35.7057 | 1.17× | 86% | +|🟠| a - b (element-wise) (float16) | float16 | 1,000 | 0.0041 | 0.0092 | 0.44× | 225% | +|🟡| a - b (element-wise) (float16) | float16 | 100,000 | 0.3042 | 0.4791 | 0.64× | 158% | +|🟡| a - b (element-wise) (float16) | float16 | 10,000,000 | 31.1711 | 48.4343 | 0.64× | 155% | +|▫| a - b (element-wise) (float32) | float32 | 1,000 | 0.0006 | 0.0020 | 0.28× | 359% | +|🔴| a - b (element-wise) (float32) | float32 | 100,000 | 0.0069 | 0.0482 | 0.14× | 698% | +|✅| a - b (element-wise) (float32) | float32 | 10,000,000 | 8.6157 | 5.6899 | 1.51× | 66% | +|▫| a - b (element-wise) (float64) | float64 | 1,000 | 0.0005 | 0.0018 | 0.29× | 340% | +|🟠| a - b (element-wise) (float64) | float64 | 100,000 | 0.0331 | 0.1072 | 0.31× | 324% | +|✅| a - b (element-wise) (float64) | float64 | 10,000,000 | 21.1427 | 16.8826 | 1.25× | 80% | +|▫| a - b (element-wise) (int16) | int16 | 1,000 | 0.0008 | 0.0017 | 0.45× | 222% | +|✅| a - b (element-wise) (int16) | int16 | 100,000 | 0.0293 | 0.0250 | 1.17× | 85% | +|✅| a - b (element-wise) (int16) | int16 | 10,000,000 | 7.8362 | 3.1173 | 2.51× | 40% | +|▫| a - b (element-wise) (int32) | int32 | 1,000 | 0.0008 | 0.0020 | 0.40× | 253% | +|🟡| a - b (element-wise) (int32) | int32 | 100,000 | 0.0287 | 0.0524 | 0.55× | 182% | +|✅| a - b (element-wise) (int32) | int32 | 10,000,000 | 13.7810 | 6.3717 | 2.16× | 46% | +|▫| a - b (element-wise) (int64) | int64 | 1,000 | 0.0008 | 0.0028 | 0.27× | 367% | +|🟠| a - b (element-wise) (int64) | int64 | 100,000 | 0.0352 | 0.1044 | 0.34× | 297% | +|🟡| a - b (element-wise) (int64) | int64 | 10,000,000 | 16.8594 | 20.7569 | 0.81× | 123% | +|▫| a - b (element-wise) (int8) | int8 | 1,000 | 0.0007 | 0.0014 | 0.46× | 219% | +|✅| a - b (element-wise) (int8) | int8 | 100,000 | 0.0355 | 0.0155 | 2.29× | 44% | +|✅| a - b (element-wise) (int8) | int8 | 10,000,000 | 4.7577 | 1.7145 | 2.77× | 36% | +|▫| a - b (element-wise) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.45× | 222% | +|✅| a - b (element-wise) (uint16) | uint16 | 100,000 | 0.0299 | 0.0263 | 1.14× | 88% | +|✅| a - b (element-wise) (uint16) | uint16 | 10,000,000 | 8.2884 | 3.1096 | 2.67× | 38% | +|▫| a - b (element-wise) (uint32) | uint32 | 1,000 | 0.0008 | 0.0020 | 0.41× | 242% | +|🟡| a - b (element-wise) (uint32) | uint32 | 100,000 | 0.0294 | 0.0506 | 0.58× | 172% | +|✅| a - b (element-wise) (uint32) | uint32 | 10,000,000 | 10.8540 | 6.0006 | 1.81× | 55% | +|▫| a - b (element-wise) (uint64) | uint64 | 1,000 | 0.0008 | 0.0029 | 0.26× | 385% | +|🟠| a - b (element-wise) (uint64) | uint64 | 100,000 | 0.0385 | 0.1017 | 0.38× | 264% | +|🟡| a - b (element-wise) (uint64) | uint64 | 10,000,000 | 16.7811 | 20.9601 | 0.80× | 125% | +|▫| a - b (element-wise) (uint8) | uint8 | 1,000 | 0.0007 | 0.0015 | 0.45× | 224% | +|✅| a - b (element-wise) (uint8) | uint8 | 100,000 | 0.0288 | 0.0152 | 1.90× | 53% | +|✅| a - b (element-wise) (uint8) | uint8 | 10,000,000 | 5.0513 | 1.6363 | 3.09× | 32% | +|▫| a - scalar (complex128) | complex128 | 1,000 | 0.0009 | 0.0030 | 0.31× | 319% | +|✅| a - scalar (complex128) | complex128 | 100,000 | 0.3509 | 0.2223 | 1.58× | 63% | +|✅| a - scalar (complex128) | complex128 | 10,000,000 | 39.6368 | 25.1620 | 1.57× | 64% | +|✅| a - scalar (float16) | float16 | 1,000 | 0.0061 | 0.0052 | 1.18× | 85% | +|🟡| a - scalar (float16) | float16 | 100,000 | 0.2950 | 0.4792 | 0.62× | 162% | +|🟡| a - scalar (float16) | float16 | 10,000,000 | 31.0622 | 48.9935 | 0.63× | 158% | +|▫| a - scalar (float32) | float32 | 1,000 | 0.0007 | 0.0013 | 0.53× | 190% | +|🟠| a - scalar (float32) | float32 | 100,000 | 0.0070 | 0.0293 | 0.24× | 417% | +|✅| a - scalar (float32) | float32 | 10,000,000 | 8.0175 | 5.3684 | 1.49× | 67% | +|▫| a - scalar (float64) | float64 | 1,000 | 0.0006 | 0.0019 | 0.33× | 302% | +|🔴| a - scalar (float64) | float64 | 100,000 | 0.0118 | 0.0691 | 0.17× | 586% | +|✅| a - scalar (float64) | float64 | 10,000,000 | 19.9346 | 14.0728 | 1.42× | 71% | +|▫| a - scalar (int16) | int16 | 1,000 | 0.0009 | 0.0013 | 0.70× | 142% | +|✅| a - scalar (int16) | int16 | 100,000 | 0.0239 | 0.0141 | 1.70× | 59% | +|✅| a - scalar (int16) | int16 | 10,000,000 | 7.1495 | 2.7330 | 2.62× | 38% | +|▫| a - scalar (int32) | int32 | 1,000 | 0.0009 | 0.0016 | 0.58× | 173% | +|🟡| a - scalar (int32) | int32 | 100,000 | 0.0237 | 0.0278 | 0.85× | 117% | +|✅| a - scalar (int32) | int32 | 10,000,000 | 13.2645 | 5.2875 | 2.51× | 40% | +|▫| a - scalar (int64) | int64 | 1,000 | 0.0009 | 0.0015 | 0.62× | 162% | +|🟠| a - scalar (int64) | int64 | 100,000 | 0.0241 | 0.0677 | 0.36× | 280% | +|✅| a - scalar (int64) | int64 | 10,000,000 | 15.1015 | 14.4570 | 1.04× | 96% | +|▫| a - scalar (int8) | int8 | 1,000 | 0.0008 | 0.0011 | 0.68× | 147% | +|✅| a - scalar (int8) | int8 | 100,000 | 0.0319 | 0.0079 | 4.02× | 25% | +|✅| a - scalar (int8) | int8 | 10,000,000 | 4.4975 | 1.3821 | 3.25× | 31% | +|▫| a - scalar (uint16) | uint16 | 1,000 | 0.0009 | 0.0012 | 0.77× | 130% | +|✅| a - scalar (uint16) | uint16 | 100,000 | 0.0244 | 0.0148 | 1.65× | 61% | +|✅| a - scalar (uint16) | uint16 | 10,000,000 | 6.7651 | 2.6065 | 2.60× | 38% | +|🟡| a - scalar (uint32) | uint32 | 1,000 | 0.0011 | 0.0012 | 0.88× | 114% | +|🟡| a - scalar (uint32) | uint32 | 100,000 | 0.0233 | 0.0264 | 0.89× | 113% | +|✅| a - scalar (uint32) | uint32 | 10,000,000 | 10.2434 | 5.3189 | 1.93× | 52% | +|▫| a - scalar (uint64) | uint64 | 1,000 | 0.0009 | 0.0016 | 0.56× | 177% | +|🟠| a - scalar (uint64) | uint64 | 100,000 | 0.0241 | 0.0652 | 0.37× | 271% | +|✅| a - scalar (uint64) | uint64 | 10,000,000 | 15.1815 | 14.5668 | 1.04× | 96% | +|▫| a - scalar (uint8) | uint8 | 1,000 | 0.0008 | 0.0008 | 0.95× | 105% | +|✅| a - scalar (uint8) | uint8 | 100,000 | 0.0374 | 0.0079 | 4.71× | 21% | +|✅| a - scalar (uint8) | uint8 | 10,000,000 | 4.1241 | 1.3972 | 2.95× | 34% | +|▫| a / b (element-wise) (float32) | float32 | 1,000 | 0.0005 | 0.0023 | 0.22× | 458% | +|🟠| a / b (element-wise) (float32) | float32 | 100,000 | 0.0134 | 0.0623 | 0.21× | 466% | +|🟡| a / b (element-wise) (float32) | float32 | 10,000,000 | 8.4590 | 10.2825 | 0.82× | 122% | +|▫| a / b (element-wise) (float64) | float64 | 1,000 | 0.0007 | 0.0034 | 0.22× | 452% | +|🟠| a / b (element-wise) (float64) | float64 | 100,000 | 0.0382 | 0.1801 | 0.21× | 472% | +|🟡| a / b (element-wise) (float64) | float64 | 10,000,000 | 20.4780 | 25.4700 | 0.80× | 124% | +|🟠| a / b (element-wise) (int32) | int32 | 1,000 | 0.0024 | 0.0053 | 0.47× | 215% | +|🟠| a / b (element-wise) (int32) | int32 | 100,000 | 0.0909 | 0.1953 | 0.47× | 215% | +|✅| a / b (element-wise) (int32) | int32 | 10,000,000 | 31.1185 | 23.9718 | 1.30× | 77% | +|🟠| a / b (element-wise) (int64) | int64 | 1,000 | 0.0019 | 0.0055 | 0.35× | 289% | +|🟠| a / b (element-wise) (int64) | int64 | 100,000 | 0.0785 | 0.1896 | 0.41× | 242% | +|🟡| a / b (element-wise) (int64) | int64 | 10,000,000 | 24.7535 | 40.7339 | 0.61× | 165% | +|▫| a / scalar (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.32× | 308% | +|🟠| a / scalar (float32) | float32 | 100,000 | 0.0123 | 0.0595 | 0.21× | 484% | +|🟡| a / scalar (float32) | float32 | 10,000,000 | 7.8511 | 8.8399 | 0.89× | 113% | +|▫| a / scalar (float64) | float64 | 1,000 | 0.0009 | 0.0034 | 0.27× | 376% | +|🟠| a / scalar (float64) | float64 | 100,000 | 0.0372 | 0.1696 | 0.22× | 456% | +|🟡| a / scalar (float64) | float64 | 10,000,000 | 19.0548 | 23.8037 | 0.80× | 125% | +|🟠| a / scalar (int32) | int32 | 1,000 | 0.0018 | 0.0041 | 0.43× | 234% | +|🟠| a / scalar (int32) | int32 | 100,000 | 0.0622 | 0.1883 | 0.33× | 302% | +|✅| a / scalar (int32) | int32 | 10,000,000 | 26.4799 | 23.0389 | 1.15× | 87% | +|🟠| a / scalar (int64) | int64 | 1,000 | 0.0017 | 0.0074 | 0.23× | 436% | +|🟠| a / scalar (int64) | int64 | 100,000 | 0.0575 | 0.1885 | 0.30× | 328% | +|🟡| a / scalar (int64) | int64 | 10,000,000 | 20.5211 | 29.8992 | 0.69× | 146% | +|▫| np.add(a, b) (complex128) | complex128 | 1,000 | 0.0008 | 0.0046 | 0.17× | 572% | +|🟡| np.add(a, b) (complex128) | complex128 | 100,000 | 0.3569 | 0.4892 | 0.73× | 137% | +|🟡| np.add(a, b) (complex128) | complex128 | 10,000,000 | 41.8396 | 58.6023 | 0.71× | 140% | +|🟡| np.add(a, b) (float16) | float16 | 1,000 | 0.0057 | 0.0088 | 0.65× | 155% | +|🟠| np.add(a, b) (float16) | float16 | 100,000 | 0.2995 | 0.8369 | 0.36× | 280% | +|🟠| np.add(a, b) (float16) | float16 | 10,000,000 | 31.2511 | 85.9844 | 0.36× | 275% | +|▫| np.add(a, b) (float32) | float32 | 1,000 | 0.0008 | 0.0019 | 0.41× | 245% | +|🔴| np.add(a, b) (float32) | float32 | 100,000 | 0.0068 | 0.0542 | 0.12× | 798% | +|🟡| np.add(a, b) (float32) | float32 | 10,000,000 | 8.6159 | 10.2348 | 0.84× | 119% | +|▫| np.add(a, b) (float64) | float64 | 1,000 | 0.0005 | 0.0025 | 0.21× | 475% | +|🟠| np.add(a, b) (float64) | float64 | 100,000 | 0.0287 | 0.1135 | 0.25× | 396% | +|🟡| np.add(a, b) (float64) | float64 | 10,000,000 | 23.3169 | 25.7561 | 0.91× | 110% | +|▫| np.add(a, b) (int16) | int16 | 1,000 | 0.0009 | 0.0017 | 0.51× | 196% | +|✅| np.add(a, b) (int16) | int16 | 100,000 | 0.0312 | 0.0273 | 1.14× | 87% | +|✅| np.add(a, b) (int16) | int16 | 10,000,000 | 7.8320 | 7.1303 | 1.10× | 91% | +|▫| np.add(a, b) (int32) | int32 | 1,000 | 0.0008 | 0.0019 | 0.42× | 238% | +|🟡| np.add(a, b) (int32) | int32 | 100,000 | 0.0299 | 0.0546 | 0.55× | 183% | +|✅| np.add(a, b) (int32) | int32 | 10,000,000 | 14.4326 | 12.7485 | 1.13× | 88% | +|▫| np.add(a, b) (int64) | int64 | 1,000 | 0.0008 | 0.0028 | 0.29× | 341% | +|🟠| np.add(a, b) (int64) | int64 | 100,000 | 0.0359 | 0.1337 | 0.27× | 372% | +|🟠| np.add(a, b) (int64) | int64 | 10,000,000 | 17.0171 | 34.3239 | 0.50× | 202% | +|▫| np.add(a, b) (int8) | int8 | 1,000 | 0.0007 | 0.0017 | 0.39× | 257% | +|✅| np.add(a, b) (int8) | int8 | 100,000 | 0.0293 | 0.0152 | 1.93× | 52% | +|✅| np.add(a, b) (int8) | int8 | 10,000,000 | 4.8360 | 3.1341 | 1.54× | 65% | +|▫| np.add(a, b) (uint16) | uint16 | 1,000 | 0.0008 | 0.0018 | 0.42× | 235% | +|🟡| np.add(a, b) (uint16) | uint16 | 100,000 | 0.0294 | 0.0296 | 0.99× | 101% | +|✅| np.add(a, b) (uint16) | uint16 | 10,000,000 | 8.1075 | 6.8350 | 1.19× | 84% | +|▫| np.add(a, b) (uint32) | uint32 | 1,000 | 0.0010 | 0.0019 | 0.51× | 195% | +|🟡| np.add(a, b) (uint32) | uint32 | 100,000 | 0.0324 | 0.0542 | 0.60× | 167% | +|✅| np.add(a, b) (uint32) | uint32 | 10,000,000 | 10.4639 | 9.8564 | 1.06× | 94% | +|▫| np.add(a, b) (uint64) | uint64 | 1,000 | 0.0008 | 0.0028 | 0.30× | 330% | +|🟠| np.add(a, b) (uint64) | uint64 | 100,000 | 0.0405 | 0.1101 | 0.37× | 272% | +|🟠| np.add(a, b) (uint64) | uint64 | 10,000,000 | 16.7988 | 34.5621 | 0.49× | 206% | +|▫| np.add(a, b) (uint8) | uint8 | 1,000 | 0.0007 | 0.0019 | 0.36× | 276% | +|✅| np.add(a, b) (uint8) | uint8 | 100,000 | 0.0287 | 0.0154 | 1.86× | 54% | +|✅| np.add(a, b) (uint8) | uint8 | 10,000,000 | 4.7543 | 3.2277 | 1.47× | 68% | +|▫| scalar - a (complex128) | complex128 | 1,000 | 0.0010 | 0.0027 | 0.36× | 280% | +|✅| scalar - a (complex128) | complex128 | 100,000 | 0.3545 | 0.2210 | 1.60× | 62% | +|✅| scalar - a (complex128) | complex128 | 10,000,000 | 37.5427 | 25.1481 | 1.49× | 67% | +|✅| scalar - a (float16) | float16 | 1,000 | 0.0054 | 0.0051 | 1.05× | 95% | +|🟡| scalar - a (float16) | float16 | 100,000 | 0.3008 | 0.4746 | 0.63× | 158% | +|🟡| scalar - a (float16) | float16 | 10,000,000 | 31.1065 | 47.0491 | 0.66× | 151% | +|▫| scalar - a (float32) | float32 | 1,000 | 0.0007 | 0.0014 | 0.52× | 191% | +|🟠| scalar - a (float32) | float32 | 100,000 | 0.0067 | 0.0325 | 0.20× | 487% | +|✅| scalar - a (float32) | float32 | 10,000,000 | 7.8766 | 5.3211 | 1.48× | 68% | +|▫| scalar - a (float64) | float64 | 1,000 | 0.0007 | 0.0020 | 0.33× | 300% | +|🟠| scalar - a (float64) | float64 | 100,000 | 0.0138 | 0.0582 | 0.24× | 422% | +|✅| scalar - a (float64) | float64 | 10,000,000 | 20.1742 | 14.0006 | 1.44× | 69% | +|▫| scalar - a (int16) | int16 | 1,000 | 0.0009 | 0.0012 | 0.78× | 128% | +|✅| scalar - a (int16) | int16 | 100,000 | 0.0243 | 0.0148 | 1.64× | 61% | +|✅| scalar - a (int16) | int16 | 10,000,000 | 7.1811 | 2.7354 | 2.62× | 38% | +|▫| scalar - a (int32) | int32 | 1,000 | 0.0009 | 0.0013 | 0.72× | 139% | +|🟡| scalar - a (int32) | int32 | 100,000 | 0.0240 | 0.0290 | 0.83× | 121% | +|✅| scalar - a (int32) | int32 | 10,000,000 | 13.3685 | 5.4031 | 2.47× | 40% | +|🟡| scalar - a (int64) | int64 | 1,000 | 0.0011 | 0.0018 | 0.63× | 159% | +|🟠| scalar - a (int64) | int64 | 100,000 | 0.0250 | 0.0667 | 0.38× | 267% | +|✅| scalar - a (int64) | int64 | 10,000,000 | 15.5954 | 14.9929 | 1.04× | 96% | +|▫| scalar - a (int8) | int8 | 1,000 | 0.0008 | 0.0009 | 0.90× | 111% | +|✅| scalar - a (int8) | int8 | 100,000 | 0.0254 | 0.0080 | 3.18× | 31% | +|✅| scalar - a (int8) | int8 | 10,000,000 | 4.5431 | 1.3785 | 3.30× | 30% | +|▫| scalar - a (uint16) | uint16 | 1,000 | 0.0009 | 0.0011 | 0.85× | 118% | +|✅| scalar - a (uint16) | uint16 | 100,000 | 0.0313 | 0.0147 | 2.12× | 47% | +|✅| scalar - a (uint16) | uint16 | 10,000,000 | 7.1706 | 2.6431 | 2.71× | 37% | +|▫| scalar - a (uint32) | uint32 | 1,000 | 0.0009 | 0.0012 | 0.80× | 124% | +|🟡| scalar - a (uint32) | uint32 | 100,000 | 0.0239 | 0.0299 | 0.80× | 125% | +|✅| scalar - a (uint32) | uint32 | 10,000,000 | 9.9808 | 5.3724 | 1.86× | 54% | +|▫| scalar - a (uint64) | uint64 | 1,000 | 0.0009 | 0.0018 | 0.51× | 198% | +|🟠| scalar - a (uint64) | uint64 | 100,000 | 0.0246 | 0.0594 | 0.41× | 242% | +|🟡| scalar - a (uint64) | uint64 | 10,000,000 | 14.8288 | 14.8342 | 1.00× | 100% | +|▫| scalar - a (uint8) | uint8 | 1,000 | 0.0008 | 0.0009 | 0.84× | 119% | +|✅| scalar - a (uint8) | uint8 | 100,000 | 0.0243 | 0.0082 | 2.98× | 34% | +|✅| scalar - a (uint8) | uint8 | 10,000,000 | 4.0556 | 1.4050 | 2.89× | 35% | +|▫| scalar / a (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.33× | 301% | +|🟠| scalar / a (float32) | float32 | 100,000 | 0.0127 | 0.0612 | 0.21× | 483% | +|✅| scalar / a (float32) | float32 | 10,000,000 | 7.9570 | 7.2244 | 1.10× | 91% | +|▫| scalar / a (float64) | float64 | 1,000 | 0.0009 | 0.0035 | 0.26× | 385% | +|🟠| scalar / a (float64) | float64 | 100,000 | 0.0372 | 0.1857 | 0.20× | 499% | +|🟡| scalar / a (float64) | float64 | 10,000,000 | 19.3997 | 22.5621 | 0.86× | 116% | +|🟠| scalar / a (int32) | int32 | 1,000 | 0.0018 | 0.0070 | 0.26× | 391% | +|🟠| scalar / a (int32) | int32 | 100,000 | 0.0638 | 0.1794 | 0.35× | 281% | +|🟡| scalar / a (int32) | int32 | 10,000,000 | 22.0961 | 25.4827 | 0.87× | 115% | +|🟠| scalar / a (int64) | int64 | 1,000 | 0.0018 | 0.0069 | 0.26× | 383% | +|🟠| scalar / a (int64) | int64 | 100,000 | 0.0627 | 0.1881 | 0.33× | 300% | +|🟡| scalar / a (int64) | int64 | 10,000,000 | 19.6435 | 30.8085 | 0.64× | 157% | + +### Unary + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|▫| np.abs (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.54× | 184% | +|✅| np.abs (float16) | float16 | 100,000 | 0.0264 | 0.0234 | 1.13× | 89% | +|✅| np.abs (float16) | float16 | 10,000,000 | 4.7982 | 2.9688 | 1.62× | 62% | +|▫| np.abs (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.34× | 291% | +|🔴| np.abs (float32) | float32 | 100,000 | 0.0064 | 0.0352 | 0.18× | 553% | +|✅| np.abs (float32) | float32 | 10,000,000 | 7.1189 | 4.2161 | 1.69× | 59% | +|▫| np.abs (float64) | float64 | 1,000 | 0.0006 | 0.0028 | 0.20× | 503% | +|🔴| np.abs (float64) | float64 | 100,000 | 0.0112 | 0.0686 | 0.16× | 612% | +|✅| np.abs (float64) | float64 | 10,000,000 | 14.6849 | 13.9245 | 1.05× | 95% | +|🟡| np.cbrt(a) (float16) | float16 | 1,000 | 0.0101 | 0.0111 | 0.91× | 110% | +|🟡| np.cbrt(a) (float16) | float16 | 100,000 | 1.1991 | 1.3766 | 0.87× | 115% | +|🟡| np.cbrt(a) (float16) | float16 | 10,000,000 | 121.4253 | 136.3973 | 0.89× | 112% | +|✅| np.cbrt(a) (float32) | float32 | 1,000 | 0.0066 | 0.0060 | 1.10× | 91% | +|✅| np.cbrt(a) (float32) | float32 | 100,000 | 0.8943 | 0.8882 | 1.01× | 99% | +|✅| np.cbrt(a) (float32) | float32 | 10,000,000 | 94.5195 | 86.5058 | 1.09× | 92% | +|✅| np.cbrt(a) (float64) | float64 | 1,000 | 0.0098 | 0.0093 | 1.05× | 95% | +|✅| np.cbrt(a) (float64) | float64 | 100,000 | 1.0970 | 1.0793 | 1.02× | 98% | +|✅| np.cbrt(a) (float64) | float64 | 10,000,000 | 115.3869 | 109.5524 | 1.05× | 95% | +|✅| np.ceil (float16) | float16 | 1,000 | 0.0050 | 0.0040 | 1.26× | 79% | +|✅| np.ceil (float16) | float16 | 100,000 | 0.4660 | 0.3448 | 1.35× | 74% | +|✅| np.ceil (float16) | float16 | 10,000,000 | 43.5339 | 33.7644 | 1.29× | 78% | +|▫| np.ceil (float32) | float32 | 1,000 | 0.0005 | 0.0014 | 0.38× | 263% | +|🟠| np.ceil (float32) | float32 | 100,000 | 0.0066 | 0.0305 | 0.22× | 460% | +|✅| np.ceil (float32) | float32 | 10,000,000 | 7.2732 | 4.4002 | 1.65× | 60% | +|🟠| np.ceil (float64) | float64 | 1,000 | 0.0014 | 0.0036 | 0.37× | 270% | +|🔴| np.ceil (float64) | float64 | 100,000 | 0.0120 | 0.0606 | 0.20× | 503% | +|🟡| np.ceil (float64) | float64 | 10,000,000 | 14.6298 | 16.0489 | 0.91× | 110% | +|✅| np.clip(a, -10, 10) (float16) | float16 | 1,000 | 0.0087 | 0.0059 | 1.47× | 68% | +|✅| np.clip(a, -10, 10) (float16) | float16 | 100,000 | 0.9296 | 0.7061 | 1.32× | 76% | +|✅| np.clip(a, -10, 10) (float16) | float16 | 10,000,000 | 93.7915 | 68.7791 | 1.36× | 73% | +|🟠| np.clip(a, -10, 10) (float32) | float32 | 1,000 | 0.0021 | 0.0064 | 0.32× | 308% | +|🟠| np.clip(a, -10, 10) (float32) | float32 | 100,000 | 0.0082 | 0.0345 | 0.24× | 421% | +|✅| np.clip(a, -10, 10) (float32) | float32 | 10,000,000 | 7.5158 | 4.1400 | 1.81× | 55% | +|🟠| np.clip(a, -10, 10) (float64) | float64 | 1,000 | 0.0019 | 0.0047 | 0.40× | 252% | +|🟠| np.clip(a, -10, 10) (float64) | float64 | 100,000 | 0.0166 | 0.0700 | 0.24× | 421% | +|✅| np.clip(a, -10, 10) (float64) | float64 | 10,000,000 | 18.6971 | 13.3810 | 1.40× | 72% | +|🟡| np.cos (float16) | float16 | 1,000 | 0.0051 | 0.0081 | 0.63× | 158% | +|🟡| np.cos (float16) | float16 | 100,000 | 0.7102 | 1.1049 | 0.64× | 156% | +|🟡| np.cos (float16) | float16 | 10,000,000 | 80.1757 | 109.6838 | 0.73× | 137% | +|✅| np.cos (float32) | float32 | 1,000 | 0.0051 | 0.0038 | 1.35× | 74% | +|🟡| np.cos (float32) | float32 | 100,000 | 0.7030 | 0.7111 | 0.99× | 101% | +|✅| np.cos (float32) | float32 | 10,000,000 | 82.6791 | 69.0830 | 1.20× | 84% | +|✅| np.cos (float64) | float64 | 1,000 | 0.0050 | 0.0040 | 1.22× | 82% | +|🟡| np.cos (float64) | float64 | 100,000 | 0.6990 | 0.7313 | 0.96× | 105% | +|✅| np.cos (float64) | float64 | 10,000,000 | 81.9906 | 77.3710 | 1.06× | 94% | +|🟡| np.exp (float16) | float16 | 1,000 | 0.0052 | 0.0066 | 0.79× | 127% | +|🟡| np.exp (float16) | float16 | 100,000 | 0.4392 | 0.6077 | 0.72× | 138% | +|🟡| np.exp (float16) | float16 | 10,000,000 | 44.3829 | 58.6632 | 0.76× | 132% | +|🔴| np.exp (float32) | float32 | 1,000 | 0.0010 | 0.0056 | 0.19× | 539% | +|🟠| np.exp (float32) | float32 | 100,000 | 0.0553 | 0.1841 | 0.30× | 333% | +|🟡| np.exp (float32) | float32 | 10,000,000 | 10.4285 | 17.6747 | 0.59× | 170% | +|🟡| np.exp (float64) | float64 | 1,000 | 0.0030 | 0.0040 | 0.75× | 134% | +|🟡| np.exp (float64) | float64 | 100,000 | 0.2581 | 0.2792 | 0.93× | 108% | +|✅| np.exp (float64) | float64 | 10,000,000 | 33.4427 | 31.7361 | 1.05× | 95% | +|🟠| np.exp2 (float16) | float16 | 1,000 | 0.0047 | 0.0099 | 0.48× | 210% | +|🟠| np.exp2 (float16) | float16 | 100,000 | 0.4598 | 0.9896 | 0.47× | 215% | +|🟠| np.exp2 (float16) | float16 | 10,000,000 | 48.1931 | 97.0656 | 0.50× | 201% | +|🟠| np.exp2 (float32) | float32 | 1,000 | 0.0022 | 0.0100 | 0.22× | 461% | +|🔴| np.exp2 (float32) | float32 | 100,000 | 0.1760 | 0.8987 | 0.20× | 511% | +|🟠| np.exp2 (float32) | float32 | 10,000,000 | 22.9673 | 90.4267 | 0.25× | 394% | +|🟠| np.exp2 (float64) | float64 | 1,000 | 0.0025 | 0.0096 | 0.26× | 389% | +|🟠| np.exp2 (float64) | float64 | 100,000 | 0.2137 | 0.8559 | 0.25× | 400% | +|🟠| np.exp2 (float64) | float64 | 10,000,000 | 37.0195 | 90.0413 | 0.41× | 243% | +|🟡| np.expm1 (float16) | float16 | 1,000 | 0.0058 | 0.0091 | 0.64× | 157% | +|🟡| np.expm1 (float16) | float16 | 100,000 | 0.5474 | 0.8722 | 0.63× | 159% | +|🟡| np.expm1 (float16) | float16 | 10,000,000 | 55.0439 | 85.4215 | 0.64× | 155% | +|🟡| np.expm1 (float32) | float32 | 1,000 | 0.0032 | 0.0046 | 0.70× | 142% | +|✅| np.expm1 (float32) | float32 | 100,000 | 0.2728 | 0.1902 | 1.43× | 70% | +|✅| np.expm1 (float32) | float32 | 10,000,000 | 31.7384 | 18.4160 | 1.72× | 58% | +|🟡| np.expm1 (float64) | float64 | 1,000 | 0.0038 | 0.0040 | 0.95× | 106% | +|✅| np.expm1 (float64) | float64 | 100,000 | 0.3590 | 0.2864 | 1.25× | 80% | +|✅| np.expm1 (float64) | float64 | 10,000,000 | 47.0453 | 33.2374 | 1.42× | 71% | +|✅| np.floor (float16) | float16 | 1,000 | 0.0051 | 0.0039 | 1.30× | 77% | +|✅| np.floor (float16) | float16 | 100,000 | 0.4407 | 0.3400 | 1.30× | 77% | +|✅| np.floor (float16) | float16 | 10,000,000 | 43.3912 | 33.7248 | 1.29× | 78% | +|▫| np.floor (float32) | float32 | 1,000 | 0.0006 | 0.0015 | 0.38× | 267% | +|🔴| np.floor (float32) | float32 | 100,000 | 0.0064 | 0.0319 | 0.20× | 501% | +|✅| np.floor (float32) | float32 | 10,000,000 | 7.3030 | 5.1858 | 1.41× | 71% | +|▫| np.floor (float64) | float64 | 1,000 | 0.0006 | 0.0032 | 0.17× | 575% | +|🟠| np.floor (float64) | float64 | 100,000 | 0.0151 | 0.0632 | 0.24× | 419% | +|🟡| np.floor (float64) | float64 | 10,000,000 | 14.8331 | 19.6220 | 0.76× | 132% | +|🟡| np.log (float16) | float16 | 1,000 | 0.0049 | 0.0069 | 0.71× | 141% | +|🟡| np.log (float16) | float16 | 100,000 | 0.4263 | 0.6316 | 0.68× | 148% | +|🟡| np.log (float16) | float16 | 10,000,000 | 46.0282 | 63.6713 | 0.72× | 138% | +|🟠| np.log (float32) | float32 | 1,000 | 0.0013 | 0.0051 | 0.26× | 384% | +|🟠| np.log (float32) | float32 | 100,000 | 0.0869 | 0.2148 | 0.40× | 247% | +|🟡| np.log (float32) | float32 | 10,000,000 | 13.1800 | 20.9525 | 0.63× | 159% | +|🟡| np.log (float64) | float64 | 1,000 | 0.0028 | 0.0038 | 0.73× | 136% | +|🟡| np.log (float64) | float64 | 100,000 | 0.2424 | 0.2668 | 0.91× | 110% | +|✅| np.log (float64) | float64 | 10,000,000 | 31.9128 | 30.1149 | 1.06× | 94% | +|🟡| np.log10 (float16) | float16 | 1,000 | 0.0052 | 0.0070 | 0.74× | 135% | +|🟡| np.log10 (float16) | float16 | 100,000 | 0.4465 | 0.6426 | 0.69× | 144% | +|🟡| np.log10 (float16) | float16 | 10,000,000 | 47.8418 | 62.9499 | 0.76× | 132% | +|🟡| np.log10 (float32) | float32 | 1,000 | 0.0035 | 0.0050 | 0.70× | 143% | +|🟡| np.log10 (float32) | float32 | 100,000 | 0.1985 | 0.2140 | 0.93× | 108% | +|✅| np.log10 (float32) | float32 | 10,000,000 | 23.5444 | 20.6616 | 1.14× | 88% | +|🟡| np.log10 (float64) | float64 | 1,000 | 0.0029 | 0.0040 | 0.73× | 138% | +|🟡| np.log10 (float64) | float64 | 100,000 | 0.2625 | 0.2698 | 0.97× | 103% | +|✅| np.log10 (float64) | float64 | 10,000,000 | 32.9855 | 30.7610 | 1.07× | 93% | +|🟡| np.log1p (float16) | float16 | 1,000 | 0.0062 | 0.0086 | 0.72× | 139% | +|🟡| np.log1p (float16) | float16 | 100,000 | 0.5885 | 0.7878 | 0.75× | 134% | +|🟡| np.log1p (float16) | float16 | 10,000,000 | 60.5869 | 77.8953 | 0.78× | 129% | +|🟡| np.log1p (float32) | float32 | 1,000 | 0.0039 | 0.0040 | 0.98× | 102% | +|✅| np.log1p (float32) | float32 | 100,000 | 0.3058 | 0.2337 | 1.31× | 76% | +|✅| np.log1p (float32) | float32 | 10,000,000 | 33.3514 | 22.3477 | 1.49× | 67% | +|✅| np.log1p (float64) | float64 | 1,000 | 0.0039 | 0.0033 | 1.19× | 84% | +|✅| np.log1p (float64) | float64 | 100,000 | 0.3412 | 0.2752 | 1.24× | 81% | +|✅| np.log1p (float64) | float64 | 10,000,000 | 48.2083 | 31.5835 | 1.53× | 66% | +|🟡| np.log2 (float16) | float16 | 1,000 | 0.0050 | 0.0070 | 0.72× | 139% | +|🟡| np.log2 (float16) | float16 | 100,000 | 0.4545 | 0.6414 | 0.71× | 141% | +|🟡| np.log2 (float16) | float16 | 10,000,000 | 48.9339 | 62.7084 | 0.78× | 128% | +|🟡| np.log2 (float32) | float32 | 1,000 | 0.0027 | 0.0052 | 0.51× | 195% | +|✅| np.log2 (float32) | float32 | 100,000 | 0.2008 | 0.2006 | 1.00× | 100% | +|✅| np.log2 (float32) | float32 | 10,000,000 | 23.4387 | 19.2540 | 1.22× | 82% | +|🟡| np.log2 (float64) | float64 | 1,000 | 0.0042 | 0.0044 | 0.95× | 106% | +|🟡| np.log2 (float64) | float64 | 100,000 | 0.3739 | 0.3882 | 0.96× | 104% | +|✅| np.log2 (float64) | float64 | 10,000,000 | 50.1019 | 42.1909 | 1.19× | 84% | +|▫| np.negative(a) (float16) | float16 | 1,000 | 0.0007 | 0.0014 | 0.54× | 185% | +|✅| np.negative(a) (float16) | float16 | 100,000 | 0.0278 | 0.0234 | 1.19× | 84% | +|✅| np.negative(a) (float16) | float16 | 10,000,000 | 4.7690 | 2.8837 | 1.65× | 60% | +|▫| np.negative(a) (float32) | float32 | 1,000 | 0.0005 | 0.0015 | 0.35× | 289% | +|🟠| np.negative(a) (float32) | float32 | 100,000 | 0.0066 | 0.0261 | 0.25× | 394% | +|✅| np.negative(a) (float32) | float32 | 10,000,000 | 7.7826 | 4.1048 | 1.90× | 53% | +|▫| np.negative(a) (float64) | float64 | 1,000 | 0.0005 | 0.0036 | 0.15× | 679% | +|🟠| np.negative(a) (float64) | float64 | 100,000 | 0.0121 | 0.0539 | 0.22× | 447% | +|✅| np.negative(a) (float64) | float64 | 10,000,000 | 16.0651 | 13.8831 | 1.16× | 86% | +|▫| np.positive(a) (float16) | float16 | 1,000 | 0.0007 | 0.0010 | 0.69× | 144% | +|✅| np.positive(a) (float16) | float16 | 100,000 | 0.0217 | 0.0130 | 1.67× | 60% | +|✅| np.positive(a) (float16) | float16 | 10,000,000 | 4.2319 | 1.6180 | 2.62× | 38% | +|▫| np.positive(a) (float32) | float32 | 1,000 | 0.0007 | 0.0020 | 0.32× | 310% | +|🟡| np.positive(a) (float32) | float32 | 100,000 | 0.0194 | 0.0250 | 0.78× | 129% | +|✅| np.positive(a) (float32) | float32 | 10,000,000 | 7.7620 | 3.3803 | 2.30× | 44% | +|▫| np.positive(a) (float64) | float64 | 1,000 | 0.0007 | 0.0028 | 0.24× | 409% | +|🟠| np.positive(a) (float64) | float64 | 100,000 | 0.0206 | 0.0520 | 0.40× | 252% | +|✅| np.positive(a) (float64) | float64 | 10,000,000 | 15.1241 | 10.8534 | 1.39× | 72% | +|✅| np.power(a, 0.5) (float16) | float16 | 1,000 | 0.0092 | 0.0057 | 1.62× | 62% | +|✅| np.power(a, 0.5) (float16) | float16 | 100,000 | 0.8324 | 0.3398 | 2.45× | 41% | +|✅| np.power(a, 0.5) (float16) | float16 | 10,000,000 | 84.2019 | 32.9557 | 2.56× | 39% | +|✅| np.power(a, 0.5) (float32) | float32 | 1,000 | 0.0020 | 0.0019 | 1.06× | 94% | +|✅| np.power(a, 0.5) (float32) | float32 | 100,000 | 0.1267 | 0.0285 | 4.45× | 22% | +|✅| np.power(a, 0.5) (float32) | float32 | 10,000,000 | 16.0019 | 4.1327 | 3.87× | 26% | +|🟡| np.power(a, 0.5) (float64) | float64 | 1,000 | 0.0018 | 0.0032 | 0.55× | 181% | +|✅| np.power(a, 0.5) (float64) | float64 | 100,000 | 0.1231 | 0.0638 | 1.93× | 52% | +|✅| np.power(a, 0.5) (float64) | float64 | 10,000,000 | 25.4013 | 13.6356 | 1.86× | 54% | +|✅| np.power(a, 2) (float16) | float16 | 1,000 | 0.0103 | 0.0054 | 1.90× | 53% | +|✅| np.power(a, 2) (float16) | float16 | 100,000 | 1.0690 | 0.4762 | 2.25× | 44% | +|✅| np.power(a, 2) (float16) | float16 | 10,000,000 | 106.8632 | 46.7294 | 2.29× | 44% | +|✅| np.power(a, 2) (float32) | float32 | 1,000 | 0.0024 | 0.0017 | 1.36× | 73% | +|✅| np.power(a, 2) (float32) | float32 | 100,000 | 0.1544 | 0.0283 | 5.46× | 18% | +|✅| np.power(a, 2) (float32) | float32 | 10,000,000 | 18.9400 | 4.1649 | 4.55× | 22% | +|🟡| np.power(a, 2) (float64) | float64 | 1,000 | 0.0022 | 0.0031 | 0.71× | 141% | +|✅| np.power(a, 2) (float64) | float64 | 100,000 | 0.1542 | 0.0590 | 2.62× | 38% | +|✅| np.power(a, 2) (float64) | float64 | 10,000,000 | 28.4405 | 13.5219 | 2.10× | 48% | +|🟡| np.power(a, 3) (float16) | float16 | 1,000 | 0.0126 | 0.0176 | 0.72× | 140% | +|🟡| np.power(a, 3) (float16) | float16 | 100,000 | 1.5343 | 2.4828 | 0.62× | 162% | +|🟡| np.power(a, 3) (float16) | float16 | 10,000,000 | 150.3564 | 250.3069 | 0.60× | 166% | +|🟡| np.power(a, 3) (float32) | float32 | 1,000 | 0.0059 | 0.0082 | 0.73× | 137% | +|🟡| np.power(a, 3) (float32) | float32 | 100,000 | 0.6578 | 0.6780 | 0.97× | 103% | +|✅| np.power(a, 3) (float32) | float32 | 10,000,000 | 72.0628 | 66.4589 | 1.08× | 92% | +|🟡| np.power(a, 3) (float64) | float64 | 1,000 | 0.0098 | 0.0121 | 0.81× | 123% | +|🟡| np.power(a, 3) (float64) | float64 | 100,000 | 1.0724 | 1.0959 | 0.98× | 102% | +|✅| np.power(a, 3) (float64) | float64 | 10,000,000 | 124.6532 | 111.9286 | 1.11× | 90% | +|🟡| np.reciprocal(a) (float16) | float16 | 1,000 | 0.0036 | 0.0045 | 0.79× | 127% | +|🟡| np.reciprocal(a) (float16) | float16 | 100,000 | 0.2193 | 0.4080 | 0.54× | 186% | +|🟡| np.reciprocal(a) (float16) | float16 | 10,000,000 | 23.1324 | 40.0357 | 0.58× | 173% | +|▫| np.reciprocal(a) (float32) | float32 | 1,000 | 0.0006 | 0.0014 | 0.44× | 225% | +|🟡| np.reciprocal(a) (float32) | float32 | 100,000 | 0.0143 | 0.0263 | 0.54× | 184% | +|✅| np.reciprocal(a) (float32) | float32 | 10,000,000 | 7.1620 | 4.0578 | 1.76× | 57% | +|▫| np.reciprocal(a) (float64) | float64 | 1,000 | 0.0008 | 0.0019 | 0.42× | 237% | +|🟡| np.reciprocal(a) (float64) | float64 | 100,000 | 0.0421 | 0.0535 | 0.79× | 127% | +|✅| np.reciprocal(a) (float64) | float64 | 10,000,000 | 14.7266 | 13.7636 | 1.07× | 94% | +|✅| np.round (float16) | float16 | 1,000 | 0.0058 | 0.0046 | 1.24× | 81% | +|✅| np.round (float16) | float16 | 100,000 | 0.4702 | 0.4240 | 1.11× | 90% | +|✅| np.round (float16) | float16 | 10,000,000 | 42.8027 | 40.9331 | 1.05× | 96% | +|🟡| np.round (float32) | float32 | 1,000 | 0.0011 | 0.0015 | 0.73× | 136% | +|🟠| np.round (float32) | float32 | 100,000 | 0.0070 | 0.0281 | 0.25× | 403% | +|✅| np.round (float32) | float32 | 10,000,000 | 7.3586 | 4.6823 | 1.57× | 64% | +|🟠| np.round (float64) | float64 | 1,000 | 0.0012 | 0.0024 | 0.49× | 204% | +|🟠| np.round (float64) | float64 | 100,000 | 0.0128 | 0.0572 | 0.22× | 447% | +|🟡| np.round (float64) | float64 | 10,000,000 | 15.0627 | 15.7393 | 0.96× | 104% | +|🟠| np.sign (float16) | float16 | 1,000 | 0.0014 | 0.0042 | 0.33× | 304% | +|🔴| np.sign (float16) | float16 | 100,000 | 0.0887 | 0.6603 | 0.13× | 744% | +|🔴| np.sign (float16) | float16 | 10,000,000 | 10.5588 | 63.8912 | 0.17× | 605% | +|🟠| np.sign (float32) | float32 | 1,000 | 0.0011 | 0.0038 | 0.29× | 339% | +|🟡| np.sign (float32) | float32 | 100,000 | 0.2971 | 0.4006 | 0.74× | 135% | +|🟡| np.sign (float32) | float32 | 10,000,000 | 36.0421 | 39.7051 | 0.91× | 110% | +|🟠| np.sign (float64) | float64 | 1,000 | 0.0010 | 0.0047 | 0.22× | 448% | +|🟡| np.sign (float64) | float64 | 100,000 | 0.2936 | 0.4000 | 0.73× | 136% | +|🟡| np.sign (float64) | float64 | 10,000,000 | 40.6151 | 45.1700 | 0.90× | 111% | +|🟡| np.sin (float16) | float16 | 1,000 | 0.0057 | 0.0080 | 0.72× | 139% | +|🟡| np.sin (float16) | float16 | 100,000 | 0.7108 | 1.1057 | 0.64× | 156% | +|🟡| np.sin (float16) | float16 | 10,000,000 | 79.6291 | 110.4160 | 0.72× | 139% | +|✅| np.sin (float32) | float32 | 1,000 | 0.0060 | 0.0038 | 1.57× | 64% | +|✅| np.sin (float32) | float32 | 100,000 | 0.7167 | 0.7077 | 1.01× | 99% | +|✅| np.sin (float32) | float32 | 10,000,000 | 80.7643 | 70.4978 | 1.15× | 87% | +|✅| np.sin (float64) | float64 | 1,000 | 0.0049 | 0.0040 | 1.22× | 82% | +|🟡| np.sin (float64) | float64 | 100,000 | 0.7140 | 0.7415 | 0.96× | 104% | +|✅| np.sin (float64) | float64 | 10,000,000 | 82.0560 | 78.2388 | 1.05× | 95% | +|✅| np.sqrt (float16) | float16 | 1,000 | 0.0046 | 0.0039 | 1.18× | 85% | +|✅| np.sqrt (float16) | float16 | 100,000 | 0.4264 | 0.3413 | 1.25× | 80% | +|✅| np.sqrt (float16) | float16 | 10,000,000 | 40.8006 | 33.6967 | 1.21× | 83% | +|▫| np.sqrt (float32) | float32 | 1,000 | 0.0006 | 0.0015 | 0.42× | 238% | +|🟡| np.sqrt (float32) | float32 | 100,000 | 0.0149 | 0.0291 | 0.51× | 195% | +|✅| np.sqrt (float32) | float32 | 10,000,000 | 7.0955 | 4.2557 | 1.67× | 60% | +|🟠| np.sqrt (float64) | float64 | 1,000 | 0.0012 | 0.0025 | 0.47× | 214% | +|🟡| np.sqrt (float64) | float64 | 100,000 | 0.0557 | 0.0656 | 0.85× | 118% | +|✅| np.sqrt (float64) | float64 | 10,000,000 | 15.1785 | 13.7551 | 1.10× | 91% | +|🟡| np.square(a) (float16) | float16 | 1,000 | 0.0034 | 0.0048 | 0.71× | 141% | +|🟠| np.square(a) (float16) | float16 | 100,000 | 0.2122 | 0.4399 | 0.48× | 207% | +|🟡| np.square(a) (float16) | float16 | 10,000,000 | 23.1199 | 42.7721 | 0.54× | 185% | +|▫| np.square(a) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.39× | 258% | +|🟠| np.square(a) (float32) | float32 | 100,000 | 0.0058 | 0.0262 | 0.22× | 448% | +|✅| np.square(a) (float32) | float32 | 10,000,000 | 7.1833 | 4.0587 | 1.77× | 56% | +|▫| np.square(a) (float64) | float64 | 1,000 | 0.0005 | 0.0030 | 0.17× | 596% | +|🟠| np.square(a) (float64) | float64 | 100,000 | 0.0122 | 0.0533 | 0.23× | 436% | +|✅| np.square(a) (float64) | float64 | 10,000,000 | 14.9158 | 13.8405 | 1.08× | 93% | +|🟡| np.tan (float16) | float16 | 1,000 | 0.0045 | 0.0083 | 0.55× | 183% | +|🟡| np.tan (float16) | float16 | 100,000 | 0.8245 | 1.1120 | 0.74× | 135% | +|🟡| np.tan (float16) | float16 | 10,000,000 | 92.5062 | 110.2014 | 0.84× | 119% | +|✅| np.tan (float32) | float32 | 1,000 | 0.0047 | 0.0038 | 1.24× | 81% | +|✅| np.tan (float32) | float32 | 100,000 | 0.8414 | 0.6851 | 1.23× | 81% | +|✅| np.tan (float32) | float32 | 10,000,000 | 92.7529 | 67.5651 | 1.37× | 73% | +|🟡| np.tan (float64) | float64 | 1,000 | 0.0050 | 0.0050 | 0.99× | 101% | +|🟡| np.tan (float64) | float64 | 100,000 | 0.8055 | 0.8447 | 0.95× | 105% | +|✅| np.tan (float64) | float64 | 10,000,000 | 94.5311 | 88.7915 | 1.06× | 94% | +|✅| np.trunc(a) (float16) | float16 | 1,000 | 0.0054 | 0.0038 | 1.40× | 71% | +|✅| np.trunc(a) (float16) | float16 | 100,000 | 0.4827 | 0.3346 | 1.44× | 69% | +|✅| np.trunc(a) (float16) | float16 | 10,000,000 | 42.0396 | 32.4934 | 1.29× | 77% | +|▫| np.trunc(a) (float32) | float32 | 1,000 | 0.0005 | 0.0016 | 0.34× | 290% | +|🟠| np.trunc(a) (float32) | float32 | 100,000 | 0.0058 | 0.0257 | 0.22× | 445% | +|✅| np.trunc(a) (float32) | float32 | 10,000,000 | 7.1817 | 4.0632 | 1.77× | 57% | +|▫| np.trunc(a) (float64) | float64 | 1,000 | 0.0005 | 0.0020 | 0.27× | 373% | +|🟠| np.trunc(a) (float64) | float64 | 100,000 | 0.0115 | 0.0513 | 0.22× | 446% | +|✅| np.trunc(a) (float64) | float64 | 10,000,000 | 14.6674 | 13.6305 | 1.08× | 93% | + +### Reduction + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|✅| np.amax (complex128) | complex128 | 1,000 | 0.0030 | 0.0018 | 1.64× | 61% | +|✅| np.amax (complex128) | complex128 | 100,000 | 0.1573 | 0.1142 | 1.38× | 73% | +|✅| np.amax (complex128) | complex128 | 10,000,000 | 16.6240 | 13.6265 | 1.22× | 82% | +|✅| np.amax (float16) | float16 | 1,000 | 0.0037 | 0.0011 | 3.48× | 29% | +|✅| np.amax (float16) | float16 | 100,000 | 0.5066 | 0.3200 | 1.58× | 63% | +|✅| np.amax (float16) | float16 | 10,000,000 | 50.6659 | 33.1861 | 1.53× | 66% | +|▫| np.amax (float32) | float32 | 1,000 | 0.0017 | 0.0006 | 2.73× | 37% | +|✅| np.amax (float32) | float32 | 100,000 | 0.0059 | 0.0038 | 1.54× | 65% | +|✅| np.amax (float32) | float32 | 10,000,000 | 1.5947 | 1.2905 | 1.24× | 81% | +|▫| np.amax (float64) | float64 | 1,000 | 0.0018 | 0.0008 | 2.34× | 43% | +|✅| np.amax (float64) | float64 | 100,000 | 0.0099 | 0.0062 | 1.60× | 62% | +|✅| np.amax (float64) | float64 | 10,000,000 | 3.3475 | 3.2005 | 1.05× | 96% | +|▫| np.amax (int16) | int16 | 1,000 | 0.0015 | 0.0007 | 2.14× | 47% | +|✅| np.amax (int16) | int16 | 100,000 | 0.0031 | 0.0015 | 2.04× | 49% | +|✅| np.amax (int16) | int16 | 10,000,000 | 0.4359 | 0.3359 | 1.30× | 77% | +|▫| np.amax (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.28× | 44% | +|✅| np.amax (int32) | int32 | 100,000 | 0.0044 | 0.0023 | 1.94× | 52% | +|✅| np.amax (int32) | int32 | 10,000,000 | 1.2908 | 1.0195 | 1.27× | 79% | +|▫| np.amax (int64) | int64 | 1,000 | 0.0017 | 0.0006 | 2.62× | 38% | +|✅| np.amax (int64) | int64 | 100,000 | 0.0089 | 0.0078 | 1.14× | 88% | +|🟡| np.amax (int64) | int64 | 10,000,000 | 3.4074 | 3.5508 | 0.96× | 104% | +|▫| np.amax (int8) | int8 | 1,000 | 0.0016 | 0.0007 | 2.08× | 48% | +|✅| np.amax (int8) | int8 | 100,000 | 0.0024 | 0.0012 | 2.00× | 50% | +|✅| np.amax (int8) | int8 | 10,000,000 | 0.1508 | 0.1463 | 1.03× | 97% | +|▫| np.amax (uint16) | uint16 | 1,000 | 0.0016 | 0.0008 | 2.12× | 47% | +|✅| np.amax (uint16) | uint16 | 100,000 | 0.0032 | 0.0015 | 2.13× | 47% | +|🟡| np.amax (uint16) | uint16 | 10,000,000 | 0.2938 | 0.3342 | 0.88× | 114% | +|▫| np.amax (uint32) | uint32 | 1,000 | 0.0016 | 0.0007 | 2.21× | 45% | +|✅| np.amax (uint32) | uint32 | 100,000 | 0.0049 | 0.0032 | 1.53× | 65% | +|✅| np.amax (uint32) | uint32 | 10,000,000 | 1.4205 | 1.0043 | 1.41× | 71% | +|▫| np.amax (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.14× | 47% | +|✅| np.amax (uint64) | uint64 | 100,000 | 0.0129 | 0.0100 | 1.29× | 78% | +|🟡| np.amax (uint64) | uint64 | 10,000,000 | 3.6692 | 3.6868 | 0.99× | 100% | +|▫| np.amax (uint8) | uint8 | 1,000 | 0.0016 | 0.0008 | 2.06× | 49% | +|✅| np.amax (uint8) | uint8 | 100,000 | 0.0024 | 0.0012 | 2.06× | 49% | +|🟡| np.amax (uint8) | uint8 | 10,000,000 | 0.1351 | 0.1468 | 0.92× | 109% | +|✅| np.amax axis=0 (complex128) | complex128 | 1,000 | 0.0030 | 0.0030 | 1.00× | 100% | +|✅| np.amax axis=0 (complex128) | complex128 | 100,000 | 0.1550 | 0.1176 | 1.32× | 76% | +|✅| np.amax axis=0 (complex128) | complex128 | 10,000,000 | 16.0042 | 13.0433 | 1.23× | 82% | +|✅| np.amax axis=0 (float16) | float16 | 1,000 | 0.0042 | 0.0019 | 2.18× | 46% | +|✅| np.amax axis=0 (float16) | float16 | 100,000 | 0.5075 | 0.5048 | 1.00× | 100% | +|🟡| np.amax axis=0 (float16) | float16 | 10,000,000 | 49.7420 | 78.1538 | 0.64× | 157% | +|▫| np.amax axis=0 (float32) | float32 | 1,000 | 0.0021 | 0.0008 | 2.66× | 38% | +|🟡| np.amax axis=0 (float32) | float32 | 100,000 | 0.0091 | 0.0100 | 0.92× | 109% | +|🟡| np.amax axis=0 (float32) | float32 | 10,000,000 | 1.6926 | 1.8598 | 0.91× | 110% | +|▫| np.amax axis=0 (float64) | float64 | 1,000 | 0.0021 | 0.0009 | 2.33× | 43% | +|🟡| np.amax axis=0 (float64) | float64 | 100,000 | 0.0145 | 0.0175 | 0.83× | 120% | +|🟡| np.amax axis=0 (float64) | float64 | 10,000,000 | 3.9104 | 4.2597 | 0.92× | 109% | +|▫| np.amax axis=0 (int16) | int16 | 1,000 | 0.0020 | 0.0007 | 2.94× | 34% | +|✅| np.amax axis=0 (int16) | int16 | 100,000 | 0.0063 | 0.0037 | 1.73× | 58% | +|✅| np.amax axis=0 (int16) | int16 | 10,000,000 | 0.5073 | 0.3767 | 1.35× | 74% | +|▫| np.amax axis=0 (int32) | int32 | 1,000 | 0.0020 | 0.0007 | 2.84× | 35% | +|✅| np.amax axis=0 (int32) | int32 | 100,000 | 0.0082 | 0.0055 | 1.48× | 67% | +|✅| np.amax axis=0 (int32) | int32 | 10,000,000 | 1.7469 | 1.3193 | 1.32× | 76% | +|▫| np.amax axis=0 (int64) | int64 | 1,000 | 0.0021 | 0.0008 | 2.62× | 38% | +|✅| np.amax axis=0 (int64) | int64 | 100,000 | 0.0153 | 0.0118 | 1.30× | 77% | +|✅| np.amax axis=0 (int64) | int64 | 10,000,000 | 4.1410 | 3.6647 | 1.13× | 88% | +|▫| np.amax axis=0 (int8) | int8 | 1,000 | 0.0020 | 0.0007 | 2.79× | 36% | +|✅| np.amax axis=0 (int8) | int8 | 100,000 | 0.0076 | 0.0039 | 1.96× | 51% | +|✅| np.amax axis=0 (int8) | int8 | 10,000,000 | 0.3964 | 0.1724 | 2.30× | 44% | +|▫| np.amax axis=0 (uint16) | uint16 | 1,000 | 0.0020 | 0.0007 | 2.97× | 34% | +|✅| np.amax axis=0 (uint16) | uint16 | 100,000 | 0.0065 | 0.0036 | 1.79× | 56% | +|✅| np.amax axis=0 (uint16) | uint16 | 10,000,000 | 0.4804 | 0.3808 | 1.26× | 79% | +|▫| np.amax axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.81× | 36% | +|✅| np.amax axis=0 (uint32) | uint32 | 100,000 | 0.0082 | 0.0055 | 1.49× | 67% | +|✅| np.amax axis=0 (uint32) | uint32 | 10,000,000 | 1.6177 | 1.2662 | 1.28× | 78% | +|▫| np.amax axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0009 | 2.24× | 45% | +|✅| np.amax axis=0 (uint64) | uint64 | 100,000 | 0.0185 | 0.0138 | 1.34× | 74% | +|✅| np.amax axis=0 (uint64) | uint64 | 10,000,000 | 4.3907 | 3.8229 | 1.15× | 87% | +|▫| np.amax axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.85× | 35% | +|✅| np.amax axis=0 (uint8) | uint8 | 100,000 | 0.0081 | 0.0031 | 2.65× | 38% | +|✅| np.amax axis=0 (uint8) | uint8 | 10,000,000 | 0.2207 | 0.1718 | 1.28× | 78% | +|✅| np.amin (complex128) | complex128 | 1,000 | 0.0031 | 0.0016 | 1.93× | 52% | +|✅| np.amin (complex128) | complex128 | 100,000 | 0.1527 | 0.1141 | 1.34× | 75% | +|✅| np.amin (complex128) | complex128 | 10,000,000 | 16.4378 | 13.5639 | 1.21× | 82% | +|✅| np.amin (float16) | float16 | 1,000 | 0.0041 | 0.0012 | 3.53× | 28% | +|✅| np.amin (float16) | float16 | 100,000 | 0.5120 | 0.3020 | 1.70× | 59% | +|✅| np.amin (float16) | float16 | 10,000,000 | 51.8815 | 31.4161 | 1.65× | 61% | +|▫| np.amin (float32) | float32 | 1,000 | 0.0023 | 0.0008 | 2.97× | 34% | +|✅| np.amin (float32) | float32 | 100,000 | 0.0058 | 0.0035 | 1.68× | 60% | +|✅| np.amin (float32) | float32 | 10,000,000 | 1.4447 | 1.3328 | 1.08× | 92% | +|▫| np.amin (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.21× | 45% | +|✅| np.amin (float64) | float64 | 100,000 | 0.0104 | 0.0073 | 1.42× | 70% | +|✅| np.amin (float64) | float64 | 10,000,000 | 3.3498 | 3.2187 | 1.04× | 96% | +|▫| np.amin (int16) | int16 | 1,000 | 0.0016 | 0.0007 | 2.27× | 44% | +|✅| np.amin (int16) | int16 | 100,000 | 0.0035 | 0.0015 | 2.34× | 43% | +|✅| np.amin (int16) | int16 | 10,000,000 | 0.7445 | 0.3330 | 2.24× | 45% | +|▫| np.amin (int32) | int32 | 1,000 | 0.0016 | 0.0007 | 2.25× | 44% | +|✅| np.amin (int32) | int32 | 100,000 | 0.0045 | 0.0023 | 1.98× | 50% | +|✅| np.amin (int32) | int32 | 10,000,000 | 1.2150 | 1.0174 | 1.19× | 84% | +|▫| np.amin (int64) | int64 | 1,000 | 0.0017 | 0.0008 | 2.13× | 47% | +|✅| np.amin (int64) | int64 | 100,000 | 0.0106 | 0.0074 | 1.44× | 70% | +|🟡| np.amin (int64) | int64 | 10,000,000 | 3.3282 | 3.5000 | 0.95× | 105% | +|▫| np.amin (int8) | int8 | 1,000 | 0.0017 | 0.0007 | 2.30× | 44% | +|✅| np.amin (int8) | int8 | 100,000 | 0.0028 | 0.0012 | 2.38× | 42% | +|🟡| np.amin (int8) | int8 | 10,000,000 | 0.1435 | 0.1467 | 0.98× | 102% | +|▫| np.amin (uint16) | uint16 | 1,000 | 0.0016 | 0.0007 | 2.16× | 46% | +|✅| np.amin (uint16) | uint16 | 100,000 | 0.0033 | 0.0015 | 2.21× | 45% | +|🟡| np.amin (uint16) | uint16 | 10,000,000 | 0.3225 | 0.3309 | 0.97× | 103% | +|▫| np.amin (uint32) | uint32 | 1,000 | 0.0016 | 0.0007 | 2.30× | 44% | +|✅| np.amin (uint32) | uint32 | 100,000 | 0.0044 | 0.0032 | 1.36× | 74% | +|✅| np.amin (uint32) | uint32 | 10,000,000 | 1.0859 | 1.0190 | 1.07× | 94% | +|▫| np.amin (uint64) | uint64 | 1,000 | 0.0017 | 0.0008 | 2.12× | 47% | +|✅| np.amin (uint64) | uint64 | 100,000 | 0.0126 | 0.0097 | 1.29× | 77% | +|🟡| np.amin (uint64) | uint64 | 10,000,000 | 3.6037 | 3.7516 | 0.96× | 104% | +|▫| np.amin (uint8) | uint8 | 1,000 | 0.0016 | 0.0007 | 2.26× | 44% | +|✅| np.amin (uint8) | uint8 | 100,000 | 0.0028 | 0.0012 | 2.41× | 42% | +|🟡| np.amin (uint8) | uint8 | 10,000,000 | 0.1350 | 0.1465 | 0.92× | 108% | +|🟡| np.amin axis=0 (complex128) | complex128 | 1,000 | 0.0029 | 0.0030 | 0.99× | 101% | +|🟡| np.amin axis=0 (complex128) | complex128 | 100,000 | 0.1409 | 0.1480 | 0.95× | 105% | +|✅| np.amin axis=0 (complex128) | complex128 | 10,000,000 | 15.7182 | 15.2730 | 1.03× | 97% | +|✅| np.amin axis=0 (float16) | float16 | 1,000 | 0.0040 | 0.0019 | 2.11× | 47% | +|🟡| np.amin axis=0 (float16) | float16 | 100,000 | 0.4771 | 0.5006 | 0.95× | 105% | +|🟡| np.amin axis=0 (float16) | float16 | 10,000,000 | 47.3591 | 77.6081 | 0.61× | 164% | +|▫| np.amin axis=0 (float32) | float32 | 1,000 | 0.0021 | 0.0008 | 2.67× | 37% | +|✅| np.amin axis=0 (float32) | float32 | 100,000 | 0.0116 | 0.0098 | 1.18× | 85% | +|🟡| np.amin axis=0 (float32) | float32 | 10,000,000 | 1.7252 | 1.8255 | 0.94× | 106% | +|▫| np.amin axis=0 (float64) | float64 | 1,000 | 0.0021 | 0.0009 | 2.41× | 42% | +|🟡| np.amin axis=0 (float64) | float64 | 100,000 | 0.0157 | 0.0165 | 0.95× | 105% | +|🟡| np.amin axis=0 (float64) | float64 | 10,000,000 | 4.0124 | 4.1873 | 0.96× | 104% | +|▫| np.amin axis=0 (int16) | int16 | 1,000 | 0.0020 | 0.0007 | 2.90× | 34% | +|✅| np.amin axis=0 (int16) | int16 | 100,000 | 0.0065 | 0.0037 | 1.74× | 58% | +|✅| np.amin axis=0 (int16) | int16 | 10,000,000 | 0.5065 | 0.3754 | 1.35× | 74% | +|▫| np.amin axis=0 (int32) | int32 | 1,000 | 0.0023 | 0.0007 | 3.32× | 30% | +|✅| np.amin axis=0 (int32) | int32 | 100,000 | 0.0088 | 0.0055 | 1.60× | 62% | +|✅| np.amin axis=0 (int32) | int32 | 10,000,000 | 2.0366 | 1.2825 | 1.59× | 63% | +|▫| np.amin axis=0 (int64) | int64 | 1,000 | 0.0027 | 0.0008 | 3.32× | 30% | +|✅| np.amin axis=0 (int64) | int64 | 100,000 | 0.0193 | 0.0118 | 1.63× | 61% | +|✅| np.amin axis=0 (int64) | int64 | 10,000,000 | 4.3888 | 3.6438 | 1.20× | 83% | +|▫| np.amin axis=0 (int8) | int8 | 1,000 | 0.0019 | 0.0006 | 2.99× | 33% | +|✅| np.amin axis=0 (int8) | int8 | 100,000 | 0.0077 | 0.0041 | 1.88× | 53% | +|✅| np.amin axis=0 (int8) | int8 | 10,000,000 | 0.2767 | 0.1726 | 1.60× | 62% | +|▫| np.amin axis=0 (uint16) | uint16 | 1,000 | 0.0020 | 0.0007 | 2.98× | 34% | +|✅| np.amin axis=0 (uint16) | uint16 | 100,000 | 0.0065 | 0.0036 | 1.79× | 56% | +|✅| np.amin axis=0 (uint16) | uint16 | 10,000,000 | 0.4421 | 0.3803 | 1.16× | 86% | +|▫| np.amin axis=0 (uint32) | uint32 | 1,000 | 0.0019 | 0.0007 | 2.77× | 36% | +|✅| np.amin axis=0 (uint32) | uint32 | 100,000 | 0.0084 | 0.0055 | 1.53× | 65% | +|✅| np.amin axis=0 (uint32) | uint32 | 10,000,000 | 1.8904 | 1.2875 | 1.47× | 68% | +|▫| np.amin axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0008 | 2.38× | 42% | +|✅| np.amin axis=0 (uint64) | uint64 | 100,000 | 0.0177 | 0.0137 | 1.29× | 77% | +|✅| np.amin axis=0 (uint64) | uint64 | 10,000,000 | 4.4047 | 3.8707 | 1.14× | 88% | +|▫| np.amin axis=0 (uint8) | uint8 | 1,000 | 0.0019 | 0.0007 | 2.86× | 35% | +|✅| np.amin axis=0 (uint8) | uint8 | 100,000 | 0.0076 | 0.0051 | 1.49× | 67% | +|✅| np.amin axis=0 (uint8) | uint8 | 10,000,000 | 0.2090 | 0.1721 | 1.22× | 82% | +|✅| np.argmax (complex128) | complex128 | 1,000 | 0.0020 | 0.0018 | 1.14× | 88% | +|🟡| np.argmax (complex128) | complex128 | 100,000 | 0.1132 | 0.1141 | 0.99× | 101% | +|✅| np.argmax (complex128) | complex128 | 10,000,000 | 14.1968 | 13.5590 | 1.05× | 96% | +|✅| np.argmax (float16) | float16 | 1,000 | 0.0029 | 0.0021 | 1.41× | 71% | +|✅| np.argmax (float16) | float16 | 100,000 | 0.4331 | 0.1412 | 3.07× | 33% | +|✅| np.argmax (float16) | float16 | 10,000,000 | 43.8538 | 14.1652 | 3.10× | 32% | +|▫| np.argmax (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.78× | 129% | +|🔴| np.argmax (float32) | float32 | 100,000 | 0.0087 | 0.0564 | 0.15× | 648% | +|🟠| np.argmax (float32) | float32 | 10,000,000 | 2.3137 | 5.7594 | 0.40× | 249% | +|▫| np.argmax (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.82× | 122% | +|🟠| np.argmax (float64) | float64 | 100,000 | 0.0193 | 0.0568 | 0.34× | 294% | +|🟡| np.argmax (float64) | float64 | 10,000,000 | 4.1180 | 6.8003 | 0.61× | 165% | +|▫| np.argmax (int16) | int16 | 1,000 | 0.0009 | 0.0007 | 1.23× | 82% | +|✅| np.argmax (int16) | int16 | 100,000 | 0.0034 | 0.0017 | 2.02× | 50% | +|✅| np.argmax (int16) | int16 | 10,000,000 | 0.6951 | 0.3548 | 1.96× | 51% | +|▫| np.argmax (int32) | int32 | 1,000 | 0.0009 | 0.0007 | 1.23× | 82% | +|✅| np.argmax (int32) | int32 | 100,000 | 0.0056 | 0.0027 | 2.10× | 48% | +|✅| np.argmax (int32) | int32 | 10,000,000 | 1.8979 | 1.2026 | 1.58× | 63% | +|▫| np.argmax (int64) | int64 | 1,000 | 0.0010 | 0.0009 | 1.11× | 90% | +|🟡| np.argmax (int64) | int64 | 100,000 | 0.0146 | 0.0284 | 0.51× | 195% | +|🟡| np.argmax (int64) | int64 | 10,000,000 | 4.1056 | 4.5513 | 0.90× | 111% | +|▫| np.argmax (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.25× | 80% | +|✅| np.argmax (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.88× | 53% | +|✅| np.argmax (int8) | int8 | 10,000,000 | 0.1717 | 0.1469 | 1.17× | 86% | +|▫| np.argmax (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.27× | 79% | +|✅| np.argmax (uint16) | uint16 | 100,000 | 0.0049 | 0.0017 | 2.96× | 34% | +|✅| np.argmax (uint16) | uint16 | 10,000,000 | 0.5085 | 0.3549 | 1.43× | 70% | +|▫| np.argmax (uint32) | uint32 | 1,000 | 0.0009 | 0.0007 | 1.30× | 77% | +|✅| np.argmax (uint32) | uint32 | 100,000 | 0.0104 | 0.0036 | 2.91× | 34% | +|✅| np.argmax (uint32) | uint32 | 10,000,000 | 1.8851 | 1.2169 | 1.55× | 65% | +|▫| np.argmax (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.04× | 96% | +|🟡| np.argmax (uint64) | uint64 | 100,000 | 0.0171 | 0.0332 | 0.52× | 194% | +|🟡| np.argmax (uint64) | uint64 | 10,000,000 | 4.3878 | 4.9463 | 0.89× | 113% | +|▫| np.argmax (uint8) | uint8 | 1,000 | 0.0013 | 0.0007 | 1.95× | 51% | +|✅| np.argmax (uint8) | uint8 | 100,000 | 0.0032 | 0.0012 | 2.60× | 38% | +|✅| np.argmax (uint8) | uint8 | 10,000,000 | 0.2246 | 0.1465 | 1.53× | 65% | +|✅| np.argmin (complex128) | complex128 | 1,000 | 0.0019 | 0.0015 | 1.25× | 80% | +|🟡| np.argmin (complex128) | complex128 | 100,000 | 0.1139 | 0.1141 | 1.00× | 100% | +|✅| np.argmin (complex128) | complex128 | 10,000,000 | 13.8711 | 13.6034 | 1.02× | 98% | +|✅| np.argmin (float16) | float16 | 1,000 | 0.0029 | 0.0020 | 1.42× | 70% | +|✅| np.argmin (float16) | float16 | 100,000 | 0.4248 | 0.1413 | 3.01× | 33% | +|✅| np.argmin (float16) | float16 | 10,000,000 | 42.5861 | 14.1619 | 3.01× | 33% | +|▫| np.argmin (float32) | float32 | 1,000 | 0.0009 | 0.0012 | 0.80× | 125% | +|🔴| np.argmin (float32) | float32 | 100,000 | 0.0087 | 0.0564 | 0.15× | 650% | +|🟠| np.argmin (float32) | float32 | 10,000,000 | 2.7401 | 5.7656 | 0.47× | 210% | +|▫| np.argmin (float64) | float64 | 1,000 | 0.0010 | 0.0012 | 0.83× | 121% | +|🟠| np.argmin (float64) | float64 | 100,000 | 0.0276 | 0.0569 | 0.48× | 206% | +|🟡| np.argmin (float64) | float64 | 10,000,000 | 4.2847 | 6.7686 | 0.63× | 158% | +|▫| np.argmin (int16) | int16 | 1,000 | 0.0011 | 0.0007 | 1.52× | 66% | +|✅| np.argmin (int16) | int16 | 100,000 | 0.0034 | 0.0016 | 2.06× | 48% | +|✅| np.argmin (int16) | int16 | 10,000,000 | 0.7167 | 0.3613 | 1.98× | 50% | +|▫| np.argmin (int32) | int32 | 1,000 | 0.0010 | 0.0007 | 1.38× | 73% | +|✅| np.argmin (int32) | int32 | 100,000 | 0.0055 | 0.0026 | 2.09× | 48% | +|✅| np.argmin (int32) | int32 | 10,000,000 | 1.7646 | 1.1707 | 1.51× | 66% | +|▫| np.argmin (int64) | int64 | 1,000 | 0.0010 | 0.0009 | 1.11× | 90% | +|🟡| np.argmin (int64) | int64 | 100,000 | 0.0142 | 0.0283 | 0.50× | 199% | +|🟡| np.argmin (int64) | int64 | 10,000,000 | 4.0644 | 4.5666 | 0.89× | 112% | +|▫| np.argmin (int8) | int8 | 1,000 | 0.0009 | 0.0007 | 1.28× | 78% | +|✅| np.argmin (int8) | int8 | 100,000 | 0.0023 | 0.0012 | 1.86× | 54% | +|✅| np.argmin (int8) | int8 | 10,000,000 | 0.1626 | 0.1468 | 1.11× | 90% | +|▫| np.argmin (uint16) | uint16 | 1,000 | 0.0009 | 0.0007 | 1.32× | 76% | +|✅| np.argmin (uint16) | uint16 | 100,000 | 0.0050 | 0.0016 | 3.04× | 33% | +|✅| np.argmin (uint16) | uint16 | 10,000,000 | 0.5632 | 0.3583 | 1.57× | 64% | +|▫| np.argmin (uint32) | uint32 | 1,000 | 0.0010 | 0.0007 | 1.36× | 73% | +|✅| np.argmin (uint32) | uint32 | 100,000 | 0.0101 | 0.0035 | 2.86× | 35% | +|✅| np.argmin (uint32) | uint32 | 10,000,000 | 1.8480 | 1.1772 | 1.57× | 64% | +|▫| np.argmin (uint64) | uint64 | 1,000 | 0.0010 | 0.0009 | 1.03× | 97% | +|🟡| np.argmin (uint64) | uint64 | 100,000 | 0.0180 | 0.0331 | 0.54× | 184% | +|🟡| np.argmin (uint64) | uint64 | 10,000,000 | 4.2831 | 4.9246 | 0.87× | 115% | +|▫| np.argmin (uint8) | uint8 | 1,000 | 0.0009 | 0.0007 | 1.28× | 78% | +|✅| np.argmin (uint8) | uint8 | 100,000 | 0.0033 | 0.0012 | 2.70× | 37% | +|✅| np.argmin (uint8) | uint8 | 10,000,000 | 0.2237 | 0.1465 | 1.53× | 66% | +|🟡| np.cumprod(a) (float16) | float16 | 1,000 | 0.0061 | 0.0097 | 0.63× | 159% | +|🟠| np.cumprod(a) (float16) | float16 | 100,000 | 0.4103 | 0.9506 | 0.43× | 232% | +|🟠| np.cumprod(a) (float16) | float16 | 10,000,000 | 43.5457 | 94.2260 | 0.46× | 216% | +|✅| np.cumprod(a) (float32) | float32 | 1,000 | 0.0046 | 0.0028 | 1.65× | 61% | +|✅| np.cumprod(a) (float32) | float32 | 100,000 | 0.1700 | 0.1114 | 1.53× | 66% | +|✅| np.cumprod(a) (float32) | float32 | 10,000,000 | 20.8437 | 10.1707 | 2.05× | 49% | +|✅| np.cumprod(a) (float64) | float64 | 1,000 | 0.0046 | 0.0034 | 1.33× | 75% | +|✅| np.cumprod(a) (float64) | float64 | 100,000 | 0.1694 | 0.1446 | 1.17× | 85% | +|✅| np.cumprod(a) (float64) | float64 | 10,000,000 | 25.4983 | 14.0728 | 1.81× | 55% | +|🟡| np.cumsum (complex128) | complex128 | 1,000 | 0.0030 | 0.0037 | 0.82× | 122% | +|✅| np.cumsum (complex128) | complex128 | 100,000 | 0.3769 | 0.2333 | 1.61× | 62% | +|✅| np.cumsum (complex128) | complex128 | 10,000,000 | 41.3487 | 24.9780 | 1.66× | 60% | +|🟡| np.cumsum (float16) | float16 | 1,000 | 0.0071 | 0.0094 | 0.75× | 134% | +|🟡| np.cumsum (float16) | float16 | 100,000 | 0.4728 | 0.9144 | 0.52× | 193% | +|🟡| np.cumsum (float16) | float16 | 10,000,000 | 49.3071 | 90.7463 | 0.54× | 184% | +|✅| np.cumsum (float32) | float32 | 1,000 | 0.0029 | 0.0018 | 1.65× | 61% | +|✅| np.cumsum (float32) | float32 | 100,000 | 0.1656 | 0.0789 | 2.10× | 48% | +|✅| np.cumsum (float32) | float32 | 10,000,000 | 20.1855 | 7.3471 | 2.75× | 36% | +|✅| np.cumsum (float64) | float64 | 1,000 | 0.0028 | 0.0022 | 1.31× | 76% | +|✅| np.cumsum (float64) | float64 | 100,000 | 0.1698 | 0.1249 | 1.36× | 74% | +|✅| np.cumsum (float64) | float64 | 10,000,000 | 24.6822 | 13.3431 | 1.85× | 54% | +|✅| np.cumsum (int16) | int16 | 1,000 | 0.0025 | 0.0020 | 1.23× | 81% | +|✅| np.cumsum (int16) | int16 | 100,000 | 0.3253 | 0.1209 | 2.69× | 37% | +|✅| np.cumsum (int16) | int16 | 10,000,000 | 48.4266 | 10.6129 | 4.56× | 22% | +|✅| np.cumsum (int32) | int32 | 1,000 | 0.0024 | 0.0019 | 1.27× | 79% | +|✅| np.cumsum (int32) | int32 | 100,000 | 0.3303 | 0.1226 | 2.69× | 37% | +|✅| np.cumsum (int32) | int32 | 10,000,000 | 32.3880 | 11.1306 | 2.91× | 34% | +|🟡| np.cumsum (int64) | int64 | 1,000 | 0.0017 | 0.0019 | 0.92× | 109% | +|🟠| np.cumsum (int64) | int64 | 100,000 | 0.0315 | 0.1231 | 0.26× | 391% | +|✅| np.cumsum (int64) | int64 | 10,000,000 | 16.3798 | 12.7464 | 1.28× | 78% | +|✅| np.cumsum (int8) | int8 | 1,000 | 0.0025 | 0.0017 | 1.49× | 67% | +|✅| np.cumsum (int8) | int8 | 100,000 | 0.3124 | 0.1187 | 2.63× | 38% | +|✅| np.cumsum (int8) | int8 | 10,000,000 | 41.0555 | 10.2543 | 4.00× | 25% | +|✅| np.cumsum (uint16) | uint16 | 1,000 | 0.0026 | 0.0020 | 1.26× | 80% | +|✅| np.cumsum (uint16) | uint16 | 100,000 | 0.3256 | 0.1199 | 2.72× | 37% | +|✅| np.cumsum (uint16) | uint16 | 10,000,000 | 34.5917 | 10.5051 | 3.29× | 30% | +|✅| np.cumsum (uint32) | uint32 | 1,000 | 0.0024 | 0.0021 | 1.17× | 85% | +|✅| np.cumsum (uint32) | uint32 | 100,000 | 0.3374 | 0.1227 | 2.75× | 36% | +|✅| np.cumsum (uint32) | uint32 | 10,000,000 | 29.7223 | 11.0895 | 2.68× | 37% | +|🟡| np.cumsum (uint64) | uint64 | 1,000 | 0.0017 | 0.0020 | 0.82× | 121% | +|🟠| np.cumsum (uint64) | uint64 | 100,000 | 0.0312 | 0.1218 | 0.26× | 391% | +|✅| np.cumsum (uint64) | uint64 | 10,000,000 | 16.2415 | 12.7570 | 1.27× | 78% | +|✅| np.cumsum (uint8) | uint8 | 1,000 | 0.0025 | 0.0019 | 1.27× | 79% | +|✅| np.cumsum (uint8) | uint8 | 100,000 | 0.3198 | 0.1205 | 2.65× | 38% | +|✅| np.cumsum (uint8) | uint8 | 10,000,000 | 28.9566 | 10.2799 | 2.82× | 36% | +|▫| np.mean (complex128) | complex128 | 1,000 | 0.0027 | 0.0009 | 2.85× | 35% | +|✅| np.mean (complex128) | complex128 | 100,000 | 0.0305 | 0.0101 | 3.01× | 33% | +|✅| np.mean (complex128) | complex128 | 10,000,000 | 8.5581 | 6.4565 | 1.33× | 75% | +|✅| np.mean (float16) | float16 | 1,000 | 0.0047 | 0.0012 | 3.86× | 26% | +|✅| np.mean (float16) | float16 | 100,000 | 0.1088 | 0.0802 | 1.36× | 74% | +|✅| np.mean (float16) | float16 | 10,000,000 | 10.4935 | 8.0190 | 1.31× | 76% | +|▫| np.mean (float32) | float32 | 1,000 | 0.0040 | 0.0007 | 5.42× | 18% | +|✅| np.mean (float32) | float32 | 100,000 | 0.0178 | 0.0032 | 5.55× | 18% | +|✅| np.mean (float32) | float32 | 10,000,000 | 3.6083 | 1.0039 | 3.59× | 28% | +|▫| np.mean (float64) | float64 | 1,000 | 0.0024 | 0.0007 | 3.25× | 31% | +|✅| np.mean (float64) | float64 | 100,000 | 0.0169 | 0.0040 | 4.21× | 24% | +|✅| np.mean (float64) | float64 | 10,000,000 | 4.6544 | 2.7943 | 1.67× | 60% | +|▫| np.mean (int16) | int16 | 1,000 | 0.0031 | 0.0008 | 3.92× | 26% | +|✅| np.mean (int16) | int16 | 100,000 | 0.0532 | 0.0189 | 2.81× | 36% | +|✅| np.mean (int16) | int16 | 10,000,000 | 6.3750 | 1.9609 | 3.25× | 31% | +|▫| np.mean (int32) | int32 | 1,000 | 0.0030 | 0.0008 | 3.71× | 27% | +|✅| np.mean (int32) | int32 | 100,000 | 0.0429 | 0.0191 | 2.24× | 45% | +|✅| np.mean (int32) | int32 | 10,000,000 | 4.9575 | 2.6752 | 1.85× | 54% | +|▫| np.mean (int64) | int64 | 1,000 | 0.0029 | 0.0008 | 3.71× | 27% | +|✅| np.mean (int64) | int64 | 100,000 | 0.0344 | 0.0045 | 7.72× | 13% | +|✅| np.mean (int64) | int64 | 10,000,000 | 6.3414 | 2.7730 | 2.29× | 44% | +|▫| np.mean (int8) | int8 | 1,000 | 0.0030 | 0.0008 | 3.58× | 28% | +|✅| np.mean (int8) | int8 | 100,000 | 0.0567 | 0.0186 | 3.04× | 33% | +|✅| np.mean (int8) | int8 | 10,000,000 | 5.6945 | 1.8461 | 3.08× | 32% | +|▫| np.mean (uint16) | uint16 | 1,000 | 0.0031 | 0.0008 | 3.90× | 26% | +|✅| np.mean (uint16) | uint16 | 100,000 | 0.0526 | 0.0189 | 2.78× | 36% | +|✅| np.mean (uint16) | uint16 | 10,000,000 | 5.1914 | 1.9498 | 2.66× | 38% | +|▫| np.mean (uint32) | uint32 | 1,000 | 0.0030 | 0.0008 | 3.70× | 27% | +|✅| np.mean (uint32) | uint32 | 100,000 | 0.0402 | 0.0191 | 2.11× | 47% | +|✅| np.mean (uint32) | uint32 | 10,000,000 | 4.6035 | 2.6686 | 1.73× | 58% | +|▫| np.mean (uint64) | uint64 | 1,000 | 0.0032 | 0.0008 | 4.16× | 24% | +|✅| np.mean (uint64) | uint64 | 100,000 | 0.0539 | 0.0045 | 12.08× | 8% | +|✅| np.mean (uint64) | uint64 | 10,000,000 | 7.3769 | 2.7725 | 2.66× | 38% | +|▫| np.mean (uint8) | uint8 | 1,000 | 0.0031 | 0.0008 | 3.81× | 26% | +|✅| np.mean (uint8) | uint8 | 100,000 | 0.0541 | 0.0187 | 2.90× | 34% | +|✅| np.mean (uint8) | uint8 | 10,000,000 | 5.0561 | 1.8459 | 2.74× | 36% | +|✅| np.mean axis=0 (complex128) | complex128 | 1,000 | 0.0033 | 0.0025 | 1.30× | 77% | +|✅| np.mean axis=0 (complex128) | complex128 | 100,000 | 0.0286 | 0.0241 | 1.19× | 84% | +|✅| np.mean axis=0 (complex128) | complex128 | 10,000,000 | 7.5298 | 7.0381 | 1.07× | 94% | +|✅| np.mean axis=0 (float16) | float16 | 1,000 | 0.0061 | 0.0035 | 1.75× | 57% | +|🟡| np.mean axis=0 (float16) | float16 | 100,000 | 0.0790 | 0.1492 | 0.53× | 189% | +|🟡| np.mean axis=0 (float16) | float16 | 10,000,000 | 7.3133 | 14.1963 | 0.52× | 194% | +|✅| np.mean axis=0 (float32) | float32 | 1,000 | 0.0039 | 0.0022 | 1.82× | 55% | +|🟡| np.mean axis=0 (float32) | float32 | 100,000 | 0.0086 | 0.0099 | 0.87× | 115% | +|✅| np.mean axis=0 (float32) | float32 | 10,000,000 | 1.4901 | 1.3911 | 1.07× | 93% | +|✅| np.mean axis=0 (float64) | float64 | 1,000 | 0.0030 | 0.0023 | 1.29× | 78% | +|✅| np.mean axis=0 (float64) | float64 | 100,000 | 0.0166 | 0.0148 | 1.12× | 89% | +|🟡| np.mean axis=0 (float64) | float64 | 10,000,000 | 3.3836 | 3.4775 | 0.97× | 103% | +|▫| np.mean axis=0 (int16) | int16 | 1,000 | 0.0038 | 0.0008 | 4.83× | 21% | +|✅| np.mean axis=0 (int16) | int16 | 100,000 | 0.0550 | 0.0084 | 6.53× | 15% | +|✅| np.mean axis=0 (int16) | int16 | 10,000,000 | 5.3822 | 0.9630 | 5.59× | 18% | +|▫| np.mean axis=0 (int32) | int32 | 1,000 | 0.0044 | 0.0008 | 5.78× | 17% | +|✅| np.mean axis=0 (int32) | int32 | 100,000 | 0.0359 | 0.0078 | 4.60× | 22% | +|✅| np.mean axis=0 (int32) | int32 | 10,000,000 | 4.5299 | 1.7225 | 2.63× | 38% | +|✅| np.mean axis=0 (int64) | int64 | 1,000 | 0.0043 | 0.0013 | 3.25× | 31% | +|🟡| np.mean axis=0 (int64) | int64 | 100,000 | 0.0320 | 0.0609 | 0.53× | 190% | +|🔴| np.mean axis=0 (int64) | int64 | 10,000,000 | 5.9854 | 37.4022 | 0.16× | 625% | +|▫| np.mean axis=0 (int8) | int8 | 1,000 | 0.0038 | 0.0008 | 4.56× | 22% | +|✅| np.mean axis=0 (int8) | int8 | 100,000 | 0.0534 | 0.0082 | 6.49× | 15% | +|✅| np.mean axis=0 (int8) | int8 | 10,000,000 | 6.4497 | 0.8079 | 7.98× | 12% | +|▫| np.mean axis=0 (uint16) | uint16 | 1,000 | 0.0037 | 0.0007 | 5.00× | 20% | +|✅| np.mean axis=0 (uint16) | uint16 | 100,000 | 0.0516 | 0.0084 | 6.10× | 16% | +|✅| np.mean axis=0 (uint16) | uint16 | 10,000,000 | 5.8879 | 0.9392 | 6.27× | 16% | +|▫| np.mean axis=0 (uint32) | uint32 | 1,000 | 0.0044 | 0.0008 | 5.64× | 18% | +|✅| np.mean axis=0 (uint32) | uint32 | 100,000 | 0.0471 | 0.0093 | 5.04× | 20% | +|✅| np.mean axis=0 (uint32) | uint32 | 10,000,000 | 4.9815 | 2.0165 | 2.47× | 40% | +|✅| np.mean axis=0 (uint64) | uint64 | 1,000 | 0.0037 | 0.0017 | 2.20× | 46% | +|🟡| np.mean axis=0 (uint64) | uint64 | 100,000 | 0.0479 | 0.0887 | 0.54× | 185% | +|🔴| np.mean axis=0 (uint64) | uint64 | 10,000,000 | 7.1495 | 43.0435 | 0.17× | 602% | +|▫| np.mean axis=0 (uint8) | uint8 | 1,000 | 0.0039 | 0.0007 | 5.20× | 19% | +|✅| np.mean axis=0 (uint8) | uint8 | 100,000 | 0.0545 | 0.0082 | 6.63× | 15% | +|✅| np.mean axis=0 (uint8) | uint8 | 10,000,000 | 5.3637 | 0.7883 | 6.80× | 15% | +|✅| np.mean axis=1 (complex128) | complex128 | 1,000 | 0.0032 | 0.0025 | 1.24× | 81% | +|✅| np.mean axis=1 (complex128) | complex128 | 100,000 | 0.0443 | 0.0348 | 1.27× | 79% | +|✅| np.mean axis=1 (complex128) | complex128 | 10,000,000 | 8.4055 | 8.0660 | 1.04× | 96% | +|✅| np.mean axis=1 (float16) | float16 | 1,000 | 0.0052 | 0.0039 | 1.31× | 76% | +|🟡| np.mean axis=1 (float16) | float16 | 100,000 | 0.0952 | 0.1325 | 0.72× | 139% | +|🟡| np.mean axis=1 (float16) | float16 | 10,000,000 | 7.9626 | 12.5326 | 0.64× | 157% | +|✅| np.mean axis=1 (float32) | float32 | 1,000 | 0.0036 | 0.0022 | 1.67× | 60% | +|✅| np.mean axis=1 (float32) | float32 | 100,000 | 0.0183 | 0.0127 | 1.45× | 69% | +|✅| np.mean axis=1 (float32) | float32 | 10,000,000 | 2.9697 | 1.9066 | 1.56× | 64% | +|✅| np.mean axis=1 (float64) | float64 | 1,000 | 0.0029 | 0.0022 | 1.33× | 75% | +|✅| np.mean axis=1 (float64) | float64 | 100,000 | 0.0198 | 0.0144 | 1.37× | 73% | +|✅| np.mean axis=1 (float64) | float64 | 10,000,000 | 5.1086 | 3.6854 | 1.39× | 72% | +|▫| np.mean axis=1 (int16) | int16 | 1,000 | 0.0037 | 0.0008 | 4.55× | 22% | +|✅| np.mean axis=1 (int16) | int16 | 100,000 | 0.0573 | 0.0080 | 7.19× | 14% | +|✅| np.mean axis=1 (int16) | int16 | 10,000,000 | 6.0592 | 0.8322 | 7.28× | 14% | +|▫| np.mean axis=1 (int32) | int32 | 1,000 | 0.0037 | 0.0007 | 5.00× | 20% | +|✅| np.mean axis=1 (int32) | int32 | 100,000 | 0.0428 | 0.0049 | 8.79× | 11% | +|✅| np.mean axis=1 (int32) | int32 | 10,000,000 | 4.8185 | 1.4394 | 3.35× | 30% | +|✅| np.mean axis=1 (int64) | int64 | 1,000 | 0.0034 | 0.0013 | 2.55× | 39% | +|🟡| np.mean axis=1 (int64) | int64 | 100,000 | 0.0394 | 0.0596 | 0.66× | 151% | +|🟡| np.mean axis=1 (int64) | int64 | 10,000,000 | 6.3625 | 6.9185 | 0.92× | 109% | +|▫| np.mean axis=1 (int8) | int8 | 1,000 | 0.0036 | 0.0008 | 4.50× | 22% | +|✅| np.mean axis=1 (int8) | int8 | 100,000 | 0.0571 | 0.0079 | 7.21× | 14% | +|✅| np.mean axis=1 (int8) | int8 | 10,000,000 | 5.5023 | 0.7110 | 7.74× | 13% | +|▫| np.mean axis=1 (uint16) | uint16 | 1,000 | 0.0038 | 0.0008 | 4.68× | 21% | +|✅| np.mean axis=1 (uint16) | uint16 | 100,000 | 0.0629 | 0.0080 | 7.90× | 13% | +|✅| np.mean axis=1 (uint16) | uint16 | 10,000,000 | 5.4615 | 0.8406 | 6.50× | 15% | +|▫| np.mean axis=1 (uint32) | uint32 | 1,000 | 0.0034 | 0.0008 | 4.12× | 24% | +|✅| np.mean axis=1 (uint32) | uint32 | 100,000 | 0.0467 | 0.0091 | 5.12× | 20% | +|✅| np.mean axis=1 (uint32) | uint32 | 10,000,000 | 4.9555 | 1.8041 | 2.75× | 36% | +|✅| np.mean axis=1 (uint64) | uint64 | 1,000 | 0.0037 | 0.0016 | 2.23× | 45% | +|🟡| np.mean axis=1 (uint64) | uint64 | 100,000 | 0.0569 | 0.0860 | 0.66× | 151% | +|🟡| np.mean axis=1 (uint64) | uint64 | 10,000,000 | 7.3817 | 9.0110 | 0.82× | 122% | +|▫| np.mean axis=1 (uint8) | uint8 | 1,000 | 0.0035 | 0.0008 | 4.50× | 22% | +|✅| np.mean axis=1 (uint8) | uint8 | 100,000 | 0.0587 | 0.0079 | 7.42× | 14% | +|✅| np.mean axis=1 (uint8) | uint8 | 10,000,000 | 5.2924 | 0.7077 | 7.48× | 13% | +|✅| np.nanmax(a) (float16) | float16 | 1,000 | 0.0054 | 0.0011 | 4.87× | 21% | +|✅| np.nanmax(a) (float16) | float16 | 100,000 | 0.5409 | 0.3172 | 1.71× | 59% | +|✅| np.nanmax(a) (float16) | float16 | 10,000,000 | 51.2440 | 32.5673 | 1.57× | 64% | +|▫| np.nanmax(a) (float32) | float32 | 1,000 | 0.0030 | 0.0009 | 3.29× | 30% | +|🟠| np.nanmax(a) (float32) | float32 | 100,000 | 0.0081 | 0.0287 | 0.28× | 356% | +|🟠| np.nanmax(a) (float32) | float32 | 10,000,000 | 1.5124 | 3.2798 | 0.46× | 217% | +|✅| np.nanmax(a) (float64) | float64 | 1,000 | 0.0030 | 0.0012 | 2.52× | 40% | +|🔴| np.nanmax(a) (float64) | float64 | 100,000 | 0.0115 | 0.0590 | 0.20× | 512% | +|🟡| np.nanmax(a) (float64) | float64 | 10,000,000 | 3.5081 | 6.8740 | 0.51× | 196% | +|✅| np.nanmean(a) (float16) | float16 | 1,000 | 0.0127 | 0.0017 | 7.37× | 14% | +|✅| np.nanmean(a) (float16) | float16 | 100,000 | 0.3723 | 0.1054 | 3.53× | 28% | +|✅| np.nanmean(a) (float16) | float16 | 10,000,000 | 37.8624 | 10.5382 | 3.59× | 28% | +|▫| np.nanmean(a) (float32) | float32 | 1,000 | 0.0102 | 0.0008 | 12.61× | 8% | +|✅| np.nanmean(a) (float32) | float32 | 100,000 | 0.0751 | 0.0383 | 1.96× | 51% | +|✅| np.nanmean(a) (float32) | float32 | 10,000,000 | 19.3182 | 4.1701 | 4.63× | 22% | +|✅| np.nanmean(a) (float64) | float64 | 1,000 | 0.0088 | 0.0012 | 7.49× | 13% | +|✅| np.nanmean(a) (float64) | float64 | 100,000 | 0.3101 | 0.0378 | 8.21× | 12% | +|✅| np.nanmean(a) (float64) | float64 | 10,000,000 | 29.7719 | 5.5602 | 5.35× | 19% | +|✅| np.nanmedian(a) (float16) | float16 | 1,000 | 0.0171 | 0.0043 | 3.93× | 26% | +|🟡| np.nanmedian(a) (float16) | float16 | 100,000 | 0.9889 | 1.3085 | 0.76× | 132% | +|✅| np.nanmedian(a) (float16) | float16 | 10,000,000 | 114.7082 | 92.8901 | 1.24× | 81% | +|✅| np.nanmedian(a) (float32) | float32 | 1,000 | 0.0132 | 0.0022 | 5.94× | 17% | +|🟡| np.nanmedian(a) (float32) | float32 | 100,000 | 0.4888 | 0.6965 | 0.70× | 142% | +|🟡| np.nanmedian(a) (float32) | float32 | 10,000,000 | 77.3793 | 80.5553 | 0.96× | 104% | +|✅| np.nanmedian(a) (float64) | float64 | 1,000 | 0.0127 | 0.0023 | 5.54× | 18% | +|🟡| np.nanmedian(a) (float64) | float64 | 100,000 | 0.5210 | 0.7022 | 0.74× | 135% | +|✅| np.nanmedian(a) (float64) | float64 | 10,000,000 | 92.4864 | 89.4458 | 1.03× | 97% | +|✅| np.nanmin(a) (float16) | float16 | 1,000 | 0.0053 | 0.0011 | 4.77× | 21% | +|✅| np.nanmin(a) (float16) | float16 | 100,000 | 0.5322 | 0.3019 | 1.76× | 57% | +|✅| np.nanmin(a) (float16) | float16 | 10,000,000 | 51.4324 | 31.1142 | 1.65× | 60% | +|▫| np.nanmin(a) (float32) | float32 | 1,000 | 0.0030 | 0.0009 | 3.24× | 31% | +|🟠| np.nanmin(a) (float32) | float32 | 100,000 | 0.0072 | 0.0287 | 0.25× | 400% | +|🟠| np.nanmin(a) (float32) | float32 | 10,000,000 | 1.5001 | 3.3155 | 0.45× | 221% | +|▫| np.nanmin(a) (float64) | float64 | 1,000 | 0.0042 | 0.0009 | 4.51× | 22% | +|🔴| np.nanmin(a) (float64) | float64 | 100,000 | 0.0114 | 0.0589 | 0.19× | 519% | +|🟡| np.nanmin(a) (float64) | float64 | 10,000,000 | 3.6863 | 6.8141 | 0.54× | 185% | +|✅| np.nanpercentile(a, 50) (float16) | float16 | 1,000 | 0.0365 | 0.0043 | 8.45× | 12% | +|✅| np.nanpercentile(a, 50) (float16) | float16 | 100,000 | 1.8857 | 1.3044 | 1.45× | 69% | +|✅| np.nanpercentile(a, 50) (float16) | float16 | 10,000,000 | 120.9498 | 92.9097 | 1.30× | 77% | +|✅| np.nanpercentile(a, 50) (float32) | float32 | 1,000 | 0.0267 | 0.0022 | 11.99× | 8% | +|✅| np.nanpercentile(a, 50) (float32) | float32 | 100,000 | 0.7602 | 0.6960 | 1.09× | 92% | +|🟡| np.nanpercentile(a, 50) (float32) | float32 | 10,000,000 | 51.8789 | 80.6571 | 0.64× | 156% | +|✅| np.nanpercentile(a, 50) (float64) | float64 | 1,000 | 0.0265 | 0.0023 | 11.56× | 9% | +|✅| np.nanpercentile(a, 50) (float64) | float64 | 100,000 | 0.7628 | 0.7034 | 1.08× | 92% | +|🟡| np.nanpercentile(a, 50) (float64) | float64 | 10,000,000 | 63.5626 | 89.5666 | 0.71× | 141% | +|✅| np.nanprod(a) (float16) | float16 | 1,000 | 0.0061 | 0.0013 | 4.73× | 21% | +|✅| np.nanprod(a) (float16) | float16 | 100,000 | 0.1701 | 0.0886 | 1.92× | 52% | +|✅| np.nanprod(a) (float16) | float16 | 10,000,000 | 20.5179 | 8.9271 | 2.30× | 44% | +|▫| np.nanprod(a) (float32) | float32 | 1,000 | 0.0052 | 0.0008 | 6.31× | 16% | +|✅| np.nanprod(a) (float32) | float32 | 100,000 | 0.1604 | 0.0119 | 13.53× | 7% | +|✅| np.nanprod(a) (float32) | float32 | 10,000,000 | 18.0353 | 1.7540 | 10.28× | 10% | +|▫| np.nanprod(a) (float64) | float64 | 1,000 | 0.0055 | 0.0008 | 6.96× | 14% | +|✅| np.nanprod(a) (float64) | float64 | 100,000 | 0.1079 | 0.0235 | 4.60× | 22% | +|✅| np.nanprod(a) (float64) | float64 | 10,000,000 | 28.6688 | 3.9531 | 7.25× | 14% | +|✅| np.nanquantile(a, 0.5) (float16) | float16 | 1,000 | 0.0336 | 0.0043 | 7.73× | 13% | +|✅| np.nanquantile(a, 0.5) (float16) | float16 | 100,000 | 1.8626 | 1.3071 | 1.43× | 70% | +|✅| np.nanquantile(a, 0.5) (float16) | float16 | 10,000,000 | 121.1817 | 92.8534 | 1.30× | 77% | +|✅| np.nanquantile(a, 0.5) (float32) | float32 | 1,000 | 0.0280 | 0.0022 | 12.60× | 8% | +|✅| np.nanquantile(a, 0.5) (float32) | float32 | 100,000 | 0.7231 | 0.6973 | 1.04× | 96% | +|🟡| np.nanquantile(a, 0.5) (float32) | float32 | 10,000,000 | 51.1057 | 80.6773 | 0.63× | 158% | +|✅| np.nanquantile(a, 0.5) (float64) | float64 | 1,000 | 0.0257 | 0.0023 | 11.24× | 9% | +|✅| np.nanquantile(a, 0.5) (float64) | float64 | 100,000 | 0.7484 | 0.7037 | 1.06× | 94% | +|🟡| np.nanquantile(a, 0.5) (float64) | float64 | 10,000,000 | 64.0584 | 89.4386 | 0.72× | 140% | +|✅| np.nanstd(a) (float16) | float16 | 1,000 | 0.0341 | 0.0028 | 12.26× | 8% | +|✅| np.nanstd(a) (float16) | float16 | 100,000 | 1.2279 | 0.2159 | 5.69× | 18% | +|✅| np.nanstd(a) (float16) | float16 | 10,000,000 | 119.9407 | 21.6231 | 5.55× | 18% | +|✅| np.nanstd(a) (float32) | float32 | 1,000 | 0.0202 | 0.0017 | 11.92× | 8% | +|✅| np.nanstd(a) (float32) | float32 | 100,000 | 0.1683 | 0.0864 | 1.95× | 51% | +|✅| np.nanstd(a) (float32) | float32 | 10,000,000 | 31.9536 | 9.2060 | 3.47× | 29% | +|✅| np.nanstd(a) (float64) | float64 | 1,000 | 0.0190 | 0.0015 | 12.52× | 8% | +|✅| np.nanstd(a) (float64) | float64 | 100,000 | 0.4497 | 0.0761 | 5.91× | 17% | +|✅| np.nanstd(a) (float64) | float64 | 10,000,000 | 49.6062 | 11.3264 | 4.38× | 23% | +|✅| np.nansum(a) (float16) | float16 | 1,000 | 0.0063 | 0.0013 | 4.84× | 21% | +|✅| np.nansum(a) (float16) | float16 | 100,000 | 0.2885 | 0.0901 | 3.20× | 31% | +|✅| np.nansum(a) (float16) | float16 | 10,000,000 | 31.6077 | 8.9086 | 3.55× | 28% | +|▫| np.nansum(a) (float32) | float32 | 1,000 | 0.0037 | 0.0008 | 4.83× | 21% | +|✅| np.nansum(a) (float32) | float32 | 100,000 | 0.0321 | 0.0049 | 6.51× | 15% | +|✅| np.nansum(a) (float32) | float32 | 10,000,000 | 13.3987 | 1.4131 | 9.48× | 10% | +|▫| np.nansum(a) (float64) | float64 | 1,000 | 0.0037 | 0.0008 | 4.61× | 22% | +|✅| np.nansum(a) (float64) | float64 | 100,000 | 0.0471 | 0.0097 | 4.88× | 20% | +|✅| np.nansum(a) (float64) | float64 | 10,000,000 | 23.8754 | 3.4851 | 6.85× | 15% | +|✅| np.nanvar(a) (float16) | float16 | 1,000 | 0.0324 | 0.0028 | 11.72× | 8% | +|✅| np.nanvar(a) (float16) | float16 | 100,000 | 1.2270 | 0.2160 | 5.68× | 18% | +|✅| np.nanvar(a) (float16) | float16 | 10,000,000 | 120.0573 | 21.5187 | 5.58× | 18% | +|✅| np.nanvar(a) (float32) | float32 | 1,000 | 0.0195 | 0.0017 | 11.49× | 9% | +|✅| np.nanvar(a) (float32) | float32 | 100,000 | 0.1645 | 0.0864 | 1.90× | 52% | +|✅| np.nanvar(a) (float32) | float32 | 10,000,000 | 32.0612 | 9.2119 | 3.48× | 29% | +|✅| np.nanvar(a) (float64) | float64 | 1,000 | 0.0198 | 0.0015 | 13.06× | 8% | +|✅| np.nanvar(a) (float64) | float64 | 100,000 | 0.4356 | 0.0762 | 5.72× | 18% | +|✅| np.nanvar(a) (float64) | float64 | 10,000,000 | 51.1759 | 11.2532 | 4.55× | 22% | +|▫| np.prod (float64) | float64 | 1,000 | 0.0022 | 0.0008 | 2.89× | 35% | +|✅| np.prod (float64) | float64 | 100,000 | 2.3310 | 0.1700 | 13.71× | 7% | +|✅| np.prod (float64) | float64 | 10,000,000 | 239.6474 | 60.4092 | 3.97× | 25% | +|▫| np.prod (int64) | int64 | 1,000 | 0.0021 | 0.0007 | 2.87× | 35% | +|✅| np.prod (int64) | int64 | 100,000 | 0.0572 | 0.0143 | 4.00× | 25% | +|✅| np.prod (int64) | int64 | 10,000,000 | 6.3161 | 3.8044 | 1.66× | 60% | +|▫| np.prod axis=0 (float64) | float64 | 1,000 | 0.0019 | 0.0007 | 2.75× | 36% | +|✅| np.prod axis=0 (float64) | float64 | 100,000 | 0.0136 | 0.0089 | 1.54× | 65% | +|🟡| np.prod axis=0 (float64) | float64 | 10,000,000 | 19.8072 | 19.8419 | 1.00× | 100% | +|▫| np.prod axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0009 | 2.24× | 45% | +|✅| np.prod axis=0 (int64) | int64 | 100,000 | 0.0272 | 0.0152 | 1.79× | 56% | +|✅| np.prod axis=0 (int64) | int64 | 10,000,000 | 5.0107 | 4.1147 | 1.22× | 82% | +|▫| np.prod axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0008 | 2.47× | 40% | +|✅| np.prod axis=1 (float64) | float64 | 100,000 | 0.0601 | 0.0050 | 12.13× | 8% | +|▫| np.prod axis=1 (float64) | float64 | 10,000,000 | 69.9249 | 3.0274 | 23.10× | 4% | +|▫| np.prod axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0010 | 1.96× | 51% | +|✅| np.prod axis=1 (int64) | int64 | 100,000 | 0.0458 | 0.0171 | 2.68× | 37% | +|✅| np.prod axis=1 (int64) | int64 | 10,000,000 | 6.2759 | 3.9188 | 1.60× | 62% | +|✅| np.std (float16) | float16 | 1,000 | 0.0203 | 0.0021 | 9.63× | 10% | +|✅| np.std (float16) | float16 | 100,000 | 0.9085 | 0.1830 | 4.96× | 20% | +|✅| np.std (float16) | float16 | 10,000,000 | 90.8149 | 18.0508 | 5.03× | 20% | +|▫| np.std (float32) | float32 | 1,000 | 0.0086 | 0.0007 | 12.74× | 8% | +|✅| np.std (float32) | float32 | 100,000 | 0.0450 | 0.0096 | 4.67× | 21% | +|✅| np.std (float32) | float32 | 10,000,000 | 17.8322 | 2.6281 | 6.79× | 15% | +|▫| np.std (float64) | float64 | 1,000 | 0.0068 | 0.0004 | 15.61× | 6% | +|✅| np.std (float64) | float64 | 100,000 | 0.0570 | 0.0190 | 3.00× | 33% | +|✅| np.std (float64) | float64 | 10,000,000 | 30.3403 | 6.6087 | 4.59× | 22% | +|✅| np.std axis=0 (float16) | float16 | 1,000 | 0.0214 | 0.0045 | 4.78× | 21% | +|✅| np.std axis=0 (float16) | float16 | 100,000 | 1.1043 | 0.3567 | 3.10× | 32% | +|✅| np.std axis=0 (float16) | float16 | 10,000,000 | 110.0006 | 83.8826 | 1.31× | 76% | +|✅| np.std axis=0 (float32) | float32 | 1,000 | 0.0087 | 0.0016 | 5.57× | 18% | +|✅| np.std axis=0 (float32) | float32 | 100,000 | 0.0377 | 0.0231 | 1.63× | 61% | +|✅| np.std axis=0 (float32) | float32 | 10,000,000 | 14.2545 | 4.6258 | 3.08× | 32% | +|▫| np.std axis=0 (float64) | float64 | 1,000 | 0.0076 | 0.0009 | 8.36× | 12% | +|✅| np.std axis=0 (float64) | float64 | 100,000 | 0.0637 | 0.0263 | 2.42× | 41% | +|✅| np.std axis=0 (float64) | float64 | 10,000,000 | 30.0409 | 7.5189 | 4.00× | 25% | +|▫| np.sum (complex128) | complex128 | 1,000 | 0.0018 | 0.0009 | 2.02× | 50% | +|✅| np.sum (complex128) | complex128 | 100,000 | 0.0294 | 0.0101 | 2.91× | 34% | +|✅| np.sum (complex128) | complex128 | 10,000,000 | 8.9925 | 6.4940 | 1.39× | 72% | +|✅| np.sum (float16) | float16 | 1,000 | 0.0040 | 0.0012 | 3.33× | 30% | +|✅| np.sum (float16) | float16 | 100,000 | 0.1981 | 0.0802 | 2.47× | 40% | +|✅| np.sum (float16) | float16 | 10,000,000 | 19.9449 | 8.0365 | 2.48× | 40% | +|▫| np.sum (float32) | float32 | 1,000 | 0.0017 | 0.0008 | 2.26× | 44% | +|✅| np.sum (float32) | float32 | 100,000 | 0.0171 | 0.0032 | 5.40× | 18% | +|✅| np.sum (float32) | float32 | 10,000,000 | 3.0579 | 1.0257 | 2.98× | 34% | +|▫| np.sum (float64) | float64 | 1,000 | 0.0017 | 0.0008 | 2.24× | 45% | +|🔴| np.sum (float64) | float64 | 100,000 | 0.0166 | 0.2090 | 0.079× | 1260% | +|✅| np.sum (float64) | float64 | 10,000,000 | 4.8117 | 2.8908 | 1.66× | 60% | +|▫| np.sum (int16) | int16 | 1,000 | 0.0020 | 0.0008 | 2.55× | 39% | +|✅| np.sum (int16) | int16 | 100,000 | 0.0339 | 0.0189 | 1.79× | 56% | +|✅| np.sum (int16) | int16 | 10,000,000 | 3.5547 | 1.9468 | 1.83× | 55% | +|▫| np.sum (int32) | int32 | 1,000 | 0.0023 | 0.0008 | 2.85× | 35% | +|✅| np.sum (int32) | int32 | 100,000 | 0.0345 | 0.0190 | 1.82× | 55% | +|✅| np.sum (int32) | int32 | 10,000,000 | 4.7348 | 2.6909 | 1.76× | 57% | +|▫| np.sum (int64) | int64 | 1,000 | 0.0018 | 0.0008 | 2.27× | 44% | +|✅| np.sum (int64) | int64 | 100,000 | 0.0153 | 0.0045 | 3.42× | 29% | +|✅| np.sum (int64) | int64 | 10,000,000 | 4.1490 | 2.8310 | 1.47× | 68% | +|▫| np.sum (int8) | int8 | 1,000 | 0.0022 | 0.0008 | 2.77× | 36% | +|✅| np.sum (int8) | int8 | 100,000 | 0.0342 | 0.0186 | 1.84× | 54% | +|✅| np.sum (int8) | int8 | 10,000,000 | 3.2333 | 1.8404 | 1.76× | 57% | +|▫| np.sum (uint16) | uint16 | 1,000 | 0.0022 | 0.0008 | 2.84× | 35% | +|✅| np.sum (uint16) | uint16 | 100,000 | 0.0334 | 0.0189 | 1.77× | 57% | +|✅| np.sum (uint16) | uint16 | 10,000,000 | 3.7579 | 1.9368 | 1.94× | 52% | +|▫| np.sum (uint32) | uint32 | 1,000 | 0.0023 | 0.0008 | 2.83× | 35% | +|✅| np.sum (uint32) | uint32 | 100,000 | 0.0332 | 0.0190 | 1.75× | 57% | +|✅| np.sum (uint32) | uint32 | 10,000,000 | 4.0560 | 2.6922 | 1.51× | 66% | +|▫| np.sum (uint64) | uint64 | 1,000 | 0.0018 | 0.0008 | 2.28× | 44% | +|✅| np.sum (uint64) | uint64 | 100,000 | 0.0200 | 0.0044 | 4.52× | 22% | +|✅| np.sum (uint64) | uint64 | 10,000,000 | 4.2549 | 2.9226 | 1.46× | 69% | +|▫| np.sum (uint8) | uint8 | 1,000 | 0.0024 | 0.0008 | 3.07× | 32% | +|✅| np.sum (uint8) | uint8 | 100,000 | 0.0348 | 0.0186 | 1.87× | 54% | +|✅| np.sum (uint8) | uint8 | 10,000,000 | 3.2589 | 1.8460 | 1.76× | 57% | +|✅| np.sum axis=0 (complex128) | complex128 | 1,000 | 0.0020 | 0.0017 | 1.16× | 86% | +|✅| np.sum axis=0 (complex128) | complex128 | 100,000 | 0.0309 | 0.0204 | 1.51× | 66% | +|✅| np.sum axis=0 (complex128) | complex128 | 10,000,000 | 7.4501 | 7.3478 | 1.01× | 99% | +|✅| np.sum axis=0 (float16) | float16 | 1,000 | 0.0053 | 0.0040 | 1.32× | 76% | +|✅| np.sum axis=0 (float16) | float16 | 100,000 | 0.2950 | 0.1473 | 2.00× | 50% | +|✅| np.sum axis=0 (float16) | float16 | 10,000,000 | 29.0440 | 14.1979 | 2.05× | 49% | +|✅| np.sum axis=0 (float32) | float32 | 1,000 | 0.0022 | 0.0019 | 1.18× | 85% | +|✅| np.sum axis=0 (float32) | float32 | 100,000 | 0.0083 | 0.0080 | 1.04× | 96% | +|✅| np.sum axis=0 (float32) | float32 | 10,000,000 | 1.8895 | 1.3370 | 1.41× | 71% | +|✅| np.sum axis=0 (float64) | float64 | 1,000 | 0.0020 | 0.0019 | 1.03× | 97% | +|✅| np.sum axis=0 (float64) | float64 | 100,000 | 0.0142 | 0.0115 | 1.23× | 81% | +|✅| np.sum axis=0 (float64) | float64 | 10,000,000 | 3.4762 | 3.4200 | 1.02× | 98% | +|▫| np.sum axis=0 (int16) | int16 | 1,000 | 0.0025 | 0.0009 | 2.70× | 37% | +|✅| np.sum axis=0 (int16) | int16 | 100,000 | 0.0474 | 0.0047 | 10.08× | 10% | +|✅| np.sum axis=0 (int16) | int16 | 10,000,000 | 5.0614 | 0.5369 | 9.43× | 11% | +|▫| np.sum axis=0 (int32) | int32 | 1,000 | 0.0028 | 0.0007 | 3.80× | 26% | +|✅| np.sum axis=0 (int32) | int32 | 100,000 | 0.0485 | 0.0086 | 5.62× | 18% | +|✅| np.sum axis=0 (int32) | int32 | 10,000,000 | 5.6694 | 1.8929 | 3.00× | 33% | +|▫| np.sum axis=0 (int64) | int64 | 1,000 | 0.0020 | 0.0007 | 2.74× | 36% | +|✅| np.sum axis=0 (int64) | int64 | 100,000 | 0.0278 | 0.0104 | 2.67× | 37% | +|✅| np.sum axis=0 (int64) | int64 | 10,000,000 | 5.6011 | 3.2402 | 1.73× | 58% | +|▫| np.sum axis=0 (int8) | int8 | 1,000 | 0.0024 | 0.0009 | 2.52× | 40% | +|✅| np.sum axis=0 (int8) | int8 | 100,000 | 0.0474 | 0.0044 | 10.75× | 9% | +|✅| np.sum axis=0 (int8) | int8 | 10,000,000 | 4.6440 | 0.5247 | 8.85× | 11% | +|▫| np.sum axis=0 (uint16) | uint16 | 1,000 | 0.0025 | 0.0009 | 2.71× | 37% | +|✅| np.sum axis=0 (uint16) | uint16 | 100,000 | 0.0479 | 0.0053 | 9.02× | 11% | +|✅| np.sum axis=0 (uint16) | uint16 | 10,000,000 | 4.7415 | 0.6972 | 6.80× | 15% | +|▫| np.sum axis=0 (uint32) | uint32 | 1,000 | 0.0028 | 0.0007 | 3.86× | 26% | +|✅| np.sum axis=0 (uint32) | uint32 | 100,000 | 0.0506 | 0.0086 | 5.87× | 17% | +|✅| np.sum axis=0 (uint32) | uint32 | 10,000,000 | 5.5471 | 1.7971 | 3.09× | 32% | +|▫| np.sum axis=0 (uint64) | uint64 | 1,000 | 0.0020 | 0.0007 | 2.73× | 37% | +|✅| np.sum axis=0 (uint64) | uint64 | 100,000 | 0.0274 | 0.0104 | 2.64× | 38% | +|✅| np.sum axis=0 (uint64) | uint64 | 10,000,000 | 5.1406 | 3.2350 | 1.59× | 63% | +|▫| np.sum axis=0 (uint8) | uint8 | 1,000 | 0.0026 | 0.0009 | 2.85× | 35% | +|✅| np.sum axis=0 (uint8) | uint8 | 100,000 | 0.0513 | 0.0044 | 11.69× | 9% | +|✅| np.sum axis=0 (uint8) | uint8 | 10,000,000 | 4.5577 | 0.5260 | 8.66× | 12% | +|✅| np.sum axis=1 (complex128) | complex128 | 1,000 | 0.0021 | 0.0018 | 1.17× | 86% | +|✅| np.sum axis=1 (complex128) | complex128 | 100,000 | 0.0340 | 0.0306 | 1.11× | 90% | +|✅| np.sum axis=1 (complex128) | complex128 | 10,000,000 | 9.2453 | 8.6134 | 1.07× | 93% | +|✅| np.sum axis=1 (float16) | float16 | 1,000 | 0.0039 | 0.0038 | 1.04× | 96% | +|✅| np.sum axis=1 (float16) | float16 | 100,000 | 0.1987 | 0.1303 | 1.52× | 66% | +|✅| np.sum axis=1 (float16) | float16 | 10,000,000 | 19.7912 | 12.4799 | 1.59× | 63% | +|✅| np.sum axis=1 (float32) | float32 | 1,000 | 0.0030 | 0.0019 | 1.53× | 65% | +|✅| np.sum axis=1 (float32) | float32 | 100,000 | 0.0162 | 0.0104 | 1.55× | 64% | +|✅| np.sum axis=1 (float32) | float32 | 10,000,000 | 3.3850 | 1.8916 | 1.79× | 56% | +|✅| np.sum axis=1 (float64) | float64 | 1,000 | 0.0019 | 0.0016 | 1.21× | 83% | +|✅| np.sum axis=1 (float64) | float64 | 100,000 | 0.0200 | 0.0127 | 1.58× | 63% | +|✅| np.sum axis=1 (float64) | float64 | 10,000,000 | 5.1036 | 3.6624 | 1.39× | 72% | +|▫| np.sum axis=1 (int16) | int16 | 1,000 | 0.0023 | 0.0007 | 3.51× | 28% | +|✅| np.sum axis=1 (int16) | int16 | 100,000 | 0.0376 | 0.0038 | 9.79× | 10% | +|✅| np.sum axis=1 (int16) | int16 | 10,000,000 | 3.6422 | 0.4546 | 8.01× | 12% | +|▫| np.sum axis=1 (int32) | int32 | 1,000 | 0.0025 | 0.0007 | 3.66× | 27% | +|✅| np.sum axis=1 (int32) | int32 | 100,000 | 0.0396 | 0.0053 | 7.49× | 13% | +|✅| np.sum axis=1 (int32) | int32 | 10,000,000 | 4.2337 | 1.6246 | 2.61× | 38% | +|▫| np.sum axis=1 (int64) | int64 | 1,000 | 0.0019 | 0.0007 | 2.60× | 38% | +|✅| np.sum axis=1 (int64) | int64 | 100,000 | 0.0175 | 0.0075 | 2.33× | 43% | +|✅| np.sum axis=1 (int64) | int64 | 10,000,000 | 4.7220 | 2.8722 | 1.64× | 61% | +|▫| np.sum axis=1 (int8) | int8 | 1,000 | 0.0023 | 0.0007 | 3.54× | 28% | +|✅| np.sum axis=1 (int8) | int8 | 100,000 | 0.0379 | 0.0039 | 9.63× | 10% | +|✅| np.sum axis=1 (int8) | int8 | 10,000,000 | 3.5111 | 0.2640 | 13.30× | 8% | +|▫| np.sum axis=1 (uint16) | uint16 | 1,000 | 0.0027 | 0.0008 | 3.44× | 29% | +|✅| np.sum axis=1 (uint16) | uint16 | 100,000 | 0.0375 | 0.0037 | 10.00× | 10% | +|✅| np.sum axis=1 (uint16) | uint16 | 10,000,000 | 3.8775 | 0.4583 | 8.46× | 12% | +|▫| np.sum axis=1 (uint32) | uint32 | 1,000 | 0.0026 | 0.0007 | 3.63× | 28% | +|✅| np.sum axis=1 (uint32) | uint32 | 100,000 | 0.0413 | 0.0053 | 7.79× | 13% | +|✅| np.sum axis=1 (uint32) | uint32 | 10,000,000 | 4.2817 | 1.6385 | 2.61× | 38% | +|▫| np.sum axis=1 (uint64) | uint64 | 1,000 | 0.0019 | 0.0007 | 2.69× | 37% | +|✅| np.sum axis=1 (uint64) | uint64 | 100,000 | 0.0173 | 0.0075 | 2.30× | 44% | +|✅| np.sum axis=1 (uint64) | uint64 | 10,000,000 | 4.6457 | 2.8809 | 1.61× | 62% | +|▫| np.sum axis=1 (uint8) | uint8 | 1,000 | 0.0025 | 0.0007 | 3.81× | 26% | +|✅| np.sum axis=1 (uint8) | uint8 | 100,000 | 0.0402 | 0.0038 | 10.47× | 10% | +|✅| np.sum axis=1 (uint8) | uint8 | 10,000,000 | 3.2063 | 0.2647 | 12.11× | 8% | +|✅| np.var (float16) | float16 | 1,000 | 0.0200 | 0.0021 | 9.51× | 10% | +|✅| np.var (float16) | float16 | 100,000 | 0.9060 | 0.1822 | 4.97× | 20% | +|✅| np.var (float16) | float16 | 10,000,000 | 91.4660 | 18.1038 | 5.05× | 20% | +|▫| np.var (float32) | float32 | 1,000 | 0.0083 | 0.0007 | 11.92× | 8% | +|✅| np.var (float32) | float32 | 100,000 | 0.0451 | 0.0096 | 4.69× | 21% | +|✅| np.var (float32) | float32 | 10,000,000 | 17.1259 | 2.6208 | 6.54× | 15% | +|▫| np.var (float64) | float64 | 1,000 | 0.0067 | 0.0008 | 8.40× | 12% | +|✅| np.var (float64) | float64 | 100,000 | 0.0573 | 0.0191 | 3.00× | 33% | +|✅| np.var (float64) | float64 | 10,000,000 | 30.5902 | 6.6728 | 4.58× | 22% | +|✅| np.var axis=0 (float16) | float16 | 1,000 | 0.0200 | 0.0044 | 4.51× | 22% | +|✅| np.var axis=0 (float16) | float16 | 100,000 | 1.1366 | 0.3566 | 3.19× | 31% | +|✅| np.var axis=0 (float16) | float16 | 10,000,000 | 109.8825 | 83.9268 | 1.31× | 76% | +|✅| np.var axis=0 (float32) | float32 | 1,000 | 0.0086 | 0.0017 | 5.19× | 19% | +|✅| np.var axis=0 (float32) | float32 | 100,000 | 0.0371 | 0.0226 | 1.64× | 61% | +|✅| np.var axis=0 (float32) | float32 | 10,000,000 | 14.0847 | 4.7475 | 2.97× | 34% | +|▫| np.var axis=0 (float64) | float64 | 1,000 | 0.0075 | 0.0009 | 7.97× | 12% | +|✅| np.var axis=0 (float64) | float64 | 100,000 | 0.0680 | 0.0252 | 2.70× | 37% | +|✅| np.var axis=0 (float64) | float64 | 10,000,000 | 28.5127 | 7.5344 | 3.78× | 26% | + +### Broadcasting + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|⚪| matrix + col_vector (N,M)+(N,1) | float64 | 1,000 | 0.0013 | - | - | - | +|⚪| matrix + col_vector (N,M)+(N,1) | float64 | 100,000 | 0.1968 | - | - | - | +|✅| matrix + col_vector (N,M)+(N,1) | float64 | 10,000,000 | 16.0261 | 13.9778 | 1.15× | 87% | +|⚪| matrix + row_vector (N,M)+(M,) | float64 | 1,000 | 0.0012 | - | - | - | +|⚪| matrix + row_vector (N,M)+(M,) | float64 | 100,000 | 0.1942 | - | - | - | +|✅| matrix + row_vector (N,M)+(M,) | float64 | 10,000,000 | 16.3420 | 13.3161 | 1.23× | 82% | +|⚪| matrix + scalar | float64 | 1,000 | 0.0007 | - | - | - | +|⚪| matrix + scalar | float64 | 100,000 | 0.0142 | - | - | - | +|✅| matrix + scalar | float64 | 10,000,000 | 15.6849 | 13.5809 | 1.16× | 87% | +|⚪| np.broadcast_to(row, (N,M)) | float64 | 1,000 | 0.0018 | - | - | - | +|⚪| np.broadcast_to(row, (N,M)) | float64 | 100,000 | 0.0021 | - | - | - | +|▫| np.broadcast_to(row, (N,M)) | float64 | 10,000,000 | 0.0018 | 0.0006 | 3.22× | 31% | + +### Creation + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|▫| np.copy (float32) | float32 | 1,000 | 0.0006 | 0.0117 | 0.050× | 1983% | +|🟡| np.copy (float32) | float32 | 100,000 | 0.0061 | 0.0071 | 0.86× | 117% | +|✅| np.copy (float32) | float32 | 10,000,000 | 6.4782 | 1.8708 | 3.46× | 29% | +|▫| np.copy (float64) | float64 | 1,000 | 0.0006 | 0.0198 | 0.031× | 3272% | +|🟡| np.copy (float64) | float64 | 100,000 | 0.0113 | 0.0135 | 0.83× | 120% | +|✅| np.copy (float64) | float64 | 10,000,000 | 13.0404 | 12.7447 | 1.02× | 98% | +|▫| np.copy (int32) | int32 | 1,000 | 0.0006 | 0.0116 | 0.051× | 1958% | +|🟡| np.copy (int32) | int32 | 100,000 | 0.0060 | 0.0069 | 0.88× | 114% | +|✅| np.copy (int32) | int32 | 10,000,000 | 6.3440 | 1.8390 | 3.45× | 29% | +|▫| np.copy (int64) | int64 | 1,000 | 0.0006 | 0.0133 | 0.046× | 2177% | +|🟡| np.copy (int64) | int64 | 100,000 | 0.0115 | 0.0140 | 0.82× | 122% | +|✅| np.copy (int64) | int64 | 10,000,000 | 13.2030 | 12.7437 | 1.04× | 96% | +|▫| np.empty (float32) | float32 | 1,000 | 0.0003 | 0.0085 | 0.039× | 2532% | +|▫| np.empty (float32) | float32 | 100,000 | 0.0003 | 0.0141 | 0.024× | 4090% | +|🟡| np.empty (float32) | float32 | 10,000,000 | 0.0087 | 0.0143 | 0.61× | 165% | +|▫| np.empty (float64) | float64 | 1,000 | 0.0005 | 0.0139 | 0.038× | 2598% | +|▫| np.empty (float64) | float64 | 100,000 | 0.0003 | 0.0140 | 0.021× | 4722% | +|🟡| np.empty (float64) | float64 | 10,000,000 | 0.0080 | 0.0138 | 0.58× | 172% | +|▫| np.empty (int32) | int32 | 1,000 | 0.0003 | 0.0089 | 0.038× | 2635% | +|▫| np.empty (int32) | int32 | 100,000 | 0.0003 | 0.0133 | 0.026× | 3857% | +|🟡| np.empty (int32) | int32 | 10,000,000 | 0.0108 | 0.0140 | 0.77× | 130% | +|▫| np.empty (int64) | int64 | 1,000 | 0.0003 | 0.0150 | 0.021× | 4695% | +|▫| np.empty (int64) | int64 | 100,000 | 0.0003 | 0.0152 | 0.022× | 4622% | +|🟡| np.empty (int64) | int64 | 10,000,000 | 0.0119 | 0.0141 | 0.85× | 118% | +|▫| np.full (float32) | float32 | 1,000 | 0.0010 | 0.0117 | 0.084× | 1196% | +|🟠| np.full (float32) | float32 | 100,000 | 0.0053 | 0.0126 | 0.42× | 239% | +|✅| np.full (float32) | float32 | 10,000,000 | 7.3482 | 1.8309 | 4.01× | 25% | +|▫| np.full (float64) | float64 | 1,000 | 0.0010 | 0.0142 | 0.068× | 1466% | +|🟡| np.full (float64) | float64 | 100,000 | 0.0098 | 0.0148 | 0.66× | 151% | +|✅| np.full (float64) | float64 | 10,000,000 | 14.6927 | 12.3279 | 1.19× | 84% | +|▫| np.full (int32) | int32 | 1,000 | 0.0009 | 0.0104 | 0.088× | 1138% | +|🟠| np.full (int32) | int32 | 100,000 | 0.0054 | 0.0123 | 0.44× | 228% | +|✅| np.full (int32) | int32 | 10,000,000 | 7.3322 | 1.9121 | 3.83× | 26% | +|▫| np.full (int64) | int64 | 1,000 | 0.0009 | 0.0135 | 0.064× | 1571% | +|🟡| np.full (int64) | int64 | 100,000 | 0.0098 | 0.0150 | 0.65× | 153% | +|✅| np.full (int64) | int64 | 10,000,000 | 14.7304 | 12.3185 | 1.20× | 84% | +|▫| np.ones (float32) | float32 | 1,000 | 0.0010 | 0.0094 | 0.10× | 953% | +|🟠| np.ones (float32) | float32 | 100,000 | 0.0054 | 0.0124 | 0.43× | 232% | +|✅| np.ones (float32) | float32 | 10,000,000 | 7.3143 | 1.8034 | 4.06× | 25% | +|▫| np.ones (float64) | float64 | 1,000 | 0.0009 | 0.0119 | 0.073× | 1370% | +|🟡| np.ones (float64) | float64 | 100,000 | 0.0098 | 0.0150 | 0.66× | 152% | +|✅| np.ones (float64) | float64 | 10,000,000 | 14.5911 | 12.4361 | 1.17× | 85% | +|▫| np.ones (int32) | int32 | 1,000 | 0.0009 | 0.0111 | 0.080× | 1257% | +|🟠| np.ones (int32) | int32 | 100,000 | 0.0053 | 0.0124 | 0.43× | 234% | +|✅| np.ones (int32) | int32 | 10,000,000 | 7.1344 | 2.0772 | 3.44× | 29% | +|▫| np.ones (int64) | int64 | 1,000 | 0.0009 | 0.0145 | 0.059× | 1685% | +|🟡| np.ones (int64) | int64 | 100,000 | 0.0099 | 0.0148 | 0.67× | 149% | +|✅| np.ones (int64) | int64 | 10,000,000 | 14.7038 | 12.3182 | 1.19× | 84% | +|▫| np.zeros (float32) | float32 | 1,000 | 0.0004 | 0.0107 | 0.039× | 2555% | +|✅| np.zeros (float32) | float32 | 100,000 | 0.0048 | 0.0020 | 2.37× | 42% | +|✅| np.zeros (float32) | float32 | 10,000,000 | 0.0090 | 0.0020 | 4.51× | 22% | +|▫| np.zeros (float64) | float64 | 1,000 | 0.0004 | 0.0137 | 0.026× | 3875% | +|✅| np.zeros (float64) | float64 | 100,000 | 0.0093 | 0.0026 | 3.62× | 28% | +|✅| np.zeros (float64) | float64 | 10,000,000 | 0.0083 | 0.0022 | 3.70× | 27% | +|▫| np.zeros (int32) | int32 | 1,000 | 0.0004 | 0.0107 | 0.036× | 2816% | +|✅| np.zeros (int32) | int32 | 100,000 | 0.0049 | 0.0020 | 2.45× | 41% | +|✅| np.zeros (int32) | int32 | 10,000,000 | 0.0111 | 0.0065 | 1.71× | 58% | +|▫| np.zeros (int64) | int64 | 1,000 | 0.0004 | 0.0140 | 0.027× | 3638% | +|✅| np.zeros (int64) | int64 | 100,000 | 0.0094 | 0.0026 | 3.70× | 27% | +|✅| np.zeros (int64) | int64 | 10,000,000 | 0.0114 | 0.0057 | 1.99× | 50% | +|🔴| np.zeros_like (float32) | float32 | 1,000 | 0.0011 | 0.0091 | 0.12× | 861% | +|✅| np.zeros_like (float32) | float32 | 100,000 | 0.0055 | 0.0021 | 2.63× | 38% | +|▫| np.zeros_like (float32) | float32 | 10,000,000 | 7.1806 | 0.0021 | 3422.48× | 0% | +|🔴| np.zeros_like (float64) | float64 | 1,000 | 0.0012 | 0.0135 | 0.092× | 1086% | +|✅| np.zeros_like (float64) | float64 | 100,000 | 0.0099 | 0.0027 | 3.70× | 27% | +|▫| np.zeros_like (float64) | float64 | 10,000,000 | 14.8132 | 0.0023 | 6363.47× | 0% | +|🔴| np.zeros_like (int32) | int32 | 1,000 | 0.0011 | 0.0089 | 0.12× | 842% | +|✅| np.zeros_like (int32) | int32 | 100,000 | 0.0057 | 0.0020 | 2.78× | 36% | +|▫| np.zeros_like (int32) | int32 | 10,000,000 | 7.2566 | 0.0066 | 1091.90× | 0% | +|🔴| np.zeros_like (int64) | int64 | 1,000 | 0.0010 | 0.0132 | 0.079× | 1261% | +|✅| np.zeros_like (int64) | int64 | 100,000 | 0.0100 | 0.0026 | 3.79× | 26% | +|▫| np.zeros_like (int64) | int64 | 10,000,000 | 14.7069 | 0.0056 | 2623.48× | 0% | + +### Manipulation + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|⚪| a.T (2D) | float64 | 1,000 | 0.0001 | - | - | - | +|⚪| a.T (2D) | float64 | 100,000 | 0.0001 | - | - | - | +|⚪| a.T (2D) | float64 | 10,000,000 | 0.0001 | - | - | - | +|⚪| a.flatten | float64 | 1,000 | 0.0005 | - | - | - | +|🔴| a.flatten | float64 | 100,000 | 0.0113 | 0.0883 | 0.13× | 782% | +|✅| a.flatten | float64 | 10,000,000 | 13.0852 | 11.4613 | 1.14× | 88% | +|⚪| np.concatenate | float64 | 1,000 | 0.0010 | - | - | - | +|⚪| np.concatenate | float64 | 100,000 | 0.3154 | - | - | - | +|⚪| np.concatenate | float64 | 10,000,000 | 32.8142 | - | - | - | +|⚪| np.ravel | float64 | 1,000 | 0.0004 | - | - | - | +|▫| np.ravel | float64 | 100,000 | 0.0003 | 0.0005 | 0.69× | 145% | +|▫| np.ravel | float64 | 10,000,000 | 0.0003 | 0.0005 | 0.62× | 162% | +|⚪| np.stack | float64 | 1,000 | 0.0022 | - | - | - | +|⚪| np.stack | float64 | 100,000 | 0.3130 | - | - | - | +|⚪| np.stack | float64 | 10,000,000 | 33.9601 | - | - | - | +|⚪| np.transpose (2D) | float64 | 1,000 | 0.0004 | - | - | - | +|⚪| np.transpose (2D) | float64 | 100,000 | 0.0004 | - | - | - | +|⚪| np.transpose (2D) | float64 | 10,000,000 | 0.0004 | - | - | - | +|⚪| reshape 1D->2D | float64 | 1,000 | 0.0002 | - | - | - | +|⚪| reshape 1D->2D | float64 | 100,000 | 0.0002 | - | - | - | +|⚪| reshape 1D->2D | float64 | 10,000,000 | 0.0002 | - | - | - | +|⚪| reshape 2D->1D | float64 | 1,000 | 0.0002 | - | - | - | +|▫| reshape 2D->1D | float64 | 100,000 | 0.0002 | 0.0005 | 0.33× | 304% | +|▫| reshape 2D->1D | float64 | 10,000,000 | 0.0002 | 0.0006 | 0.32× | 317% | + +### Slicing + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|⚪| a[100:1000] (contiguous) | float64 | 1,000 | 0.0002 | - | - | - | +|⚪| a[100:1000] (contiguous) | float64 | 100,000 | 0.0001 | - | - | - | +|⚪| a[100:1000] (contiguous) | float64 | 10,000,000 | 0.0001 | - | - | - | +|⚪| a[::-1] (reversed) | float64 | 1,000 | 0.0001 | - | - | - | +|▫| a[::-1] (reversed) | float64 | 100,000 | 0.0002 | 0.0012 | 0.13× | 781% | +|▫| a[::-1] (reversed) | float64 | 10,000,000 | 0.0002 | 0.0012 | 0.13× | 789% | +|⚪| a[::2] (strided) | float64 | 1,000 | 0.0002 | - | - | - | +|⚪| a[::2] (strided) | float64 | 100,000 | 0.0001 | - | - | - | +|⚪| a[::2] (strided) | float64 | 10,000,000 | 0.0001 | - | - | - | +|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - | +|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0017 | - | - | - | +|⚪| np.sum(contiguous_slice) | float64 | 900 | 0.0016 | - | - | - | +|⚪| np.sum(strided_slice) | float64 | 500 | 0.0016 | - | - | - | +|⚪| np.sum(strided_slice) | float64 | 50,000 | 0.0096 | - | - | - | +|⚪| np.sum(strided_slice) | float64 | 5,000,000 | 4.6738 | - | - | - | + +### Comparison + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|▫| a != b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.60× | 166% | +|🟠| a != b (float32) | float32 | 100,000 | 0.0059 | 0.0188 | 0.31× | 321% | +|✅| a != b (float32) | float32 | 10,000,000 | 3.9247 | 3.3366 | 1.18× | 85% | +|▫| a != b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.62× | 162% | +|🟠| a != b (float64) | float64 | 100,000 | 0.0110 | 0.0263 | 0.42× | 239% | +|✅| a != b (float64) | float64 | 10,000,000 | 6.7684 | 5.8470 | 1.16× | 86% | +|▫| a != b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54× | 186% | +|🟠| a != b (int32) | int32 | 100,000 | 0.0069 | 0.0201 | 0.34× | 291% | +|✅| a != b (int32) | int32 | 10,000,000 | 4.2916 | 3.4612 | 1.24× | 81% | +|▫| a != b (int64) | int64 | 1,000 | 0.0005 | 0.0008 | 0.60× | 166% | +|🟡| a != b (int64) | int64 | 100,000 | 0.0140 | 0.0260 | 0.54× | 186% | +|✅| a != b (int64) | int64 | 10,000,000 | 7.2974 | 5.8513 | 1.25× | 80% | +|▫| a < b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.56× | 179% | +|🟠| a < b (float32) | float32 | 100,000 | 0.0056 | 0.0189 | 0.29× | 339% | +|✅| a < b (float32) | float32 | 10,000,000 | 3.8362 | 3.2974 | 1.16× | 86% | +|▫| a < b (float64) | float64 | 1,000 | 0.0005 | 0.0008 | 0.62× | 162% | +|🟠| a < b (float64) | float64 | 100,000 | 0.0106 | 0.0279 | 0.38× | 264% | +|✅| a < b (float64) | float64 | 10,000,000 | 6.5961 | 5.7503 | 1.15× | 87% | +|▫| a < b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.62× | 162% | +|🟠| a < b (int32) | int32 | 100,000 | 0.0071 | 0.0187 | 0.38× | 265% | +|✅| a < b (int32) | int32 | 10,000,000 | 4.3674 | 3.2941 | 1.33× | 75% | +|▫| a < b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.73× | 137% | +|🟡| a < b (int64) | int64 | 100,000 | 0.0182 | 0.0250 | 0.73× | 137% | +|✅| a < b (int64) | int64 | 10,000,000 | 7.0769 | 5.6821 | 1.25× | 80% | +|▫| a <= b (float32) | float32 | 1,000 | 0.0006 | 0.0007 | 0.80× | 126% | +|🟠| a <= b (float32) | float32 | 100,000 | 0.0063 | 0.0181 | 0.35× | 289% | +|✅| a <= b (float32) | float32 | 10,000,000 | 3.8528 | 3.2691 | 1.18× | 85% | +|▫| a <= b (float64) | float64 | 1,000 | 0.0004 | 0.0007 | 0.60× | 167% | +|🟠| a <= b (float64) | float64 | 100,000 | 0.0104 | 0.0283 | 0.37× | 272% | +|✅| a <= b (float64) | float64 | 10,000,000 | 6.4781 | 5.7355 | 1.13× | 88% | +|▫| a <= b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.58× | 173% | +|🟠| a <= b (int32) | int32 | 100,000 | 0.0070 | 0.0192 | 0.37× | 273% | +|✅| a <= b (int32) | int32 | 10,000,000 | 4.2354 | 3.3183 | 1.28× | 78% | +|▫| a <= b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.72× | 138% | +|🟡| a <= b (int64) | int64 | 100,000 | 0.0186 | 0.0268 | 0.69× | 144% | +|✅| a <= b (int64) | int64 | 10,000,000 | 8.2513 | 5.9870 | 1.38× | 73% | +|▫| a == b (float32) | float32 | 1,000 | 0.0005 | 0.0007 | 0.61× | 163% | +|🟠| a == b (float32) | float32 | 100,000 | 0.0059 | 0.0199 | 0.29× | 339% | +|✅| a == b (float32) | float32 | 10,000,000 | 3.9574 | 3.2149 | 1.23× | 81% | +|▫| a == b (float64) | float64 | 1,000 | 0.0004 | 0.0007 | 0.58× | 172% | +|🟠| a == b (float64) | float64 | 100,000 | 0.0114 | 0.0279 | 0.41× | 244% | +|✅| a == b (float64) | float64 | 10,000,000 | 7.1028 | 5.6882 | 1.25× | 80% | +|▫| a == b (int32) | int32 | 1,000 | 0.0004 | 0.0007 | 0.60× | 167% | +|🟠| a == b (int32) | int32 | 100,000 | 0.0072 | 0.0183 | 0.40× | 253% | +|✅| a == b (int32) | int32 | 10,000,000 | 4.1736 | 3.3406 | 1.25× | 80% | +|▫| a == b (int64) | int64 | 1,000 | 0.0004 | 0.0008 | 0.58× | 172% | +|🟡| a == b (int64) | int64 | 100,000 | 0.0131 | 0.0248 | 0.53× | 189% | +|✅| a == b (int64) | int64 | 10,000,000 | 7.1546 | 5.7300 | 1.25× | 80% | +|▫| a > b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.56× | 178% | +|🟠| a > b (float32) | float32 | 100,000 | 0.0056 | 0.0185 | 0.31× | 327% | +|✅| a > b (float32) | float32 | 10,000,000 | 3.8956 | 3.3476 | 1.16× | 86% | +|▫| a > b (float64) | float64 | 1,000 | 0.0004 | 0.0008 | 0.58× | 171% | +|🟠| a > b (float64) | float64 | 100,000 | 0.0105 | 0.0262 | 0.40× | 248% | +|✅| a > b (float64) | float64 | 10,000,000 | 6.6876 | 5.7415 | 1.17× | 86% | +|▫| a > b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.54× | 186% | +|🟠| a > b (int32) | int32 | 100,000 | 0.0070 | 0.0195 | 0.36× | 280% | +|✅| a > b (int32) | int32 | 10,000,000 | 4.1882 | 3.3117 | 1.26× | 79% | +|▫| a > b (int64) | int64 | 1,000 | 0.0005 | 0.0007 | 0.74× | 134% | +|🟡| a > b (int64) | int64 | 100,000 | 0.0231 | 0.0256 | 0.90× | 111% | +|✅| a > b (int64) | int64 | 10,000,000 | 7.6396 | 5.7329 | 1.33× | 75% | +|▫| a >= b (float32) | float32 | 1,000 | 0.0004 | 0.0007 | 0.61× | 165% | +|🟠| a >= b (float32) | float32 | 100,000 | 0.0063 | 0.0186 | 0.34× | 295% | +|✅| a >= b (float32) | float32 | 10,000,000 | 3.8402 | 3.2664 | 1.18× | 85% | +|▫| a >= b (float64) | float64 | 1,000 | 0.0005 | 0.0007 | 0.60× | 166% | +|🟠| a >= b (float64) | float64 | 100,000 | 0.0118 | 0.0241 | 0.49× | 203% | +|✅| a >= b (float64) | float64 | 10,000,000 | 7.1505 | 5.6739 | 1.26× | 79% | +|▫| a >= b (int32) | int32 | 1,000 | 0.0004 | 0.0008 | 0.56× | 177% | +|🟠| a >= b (int32) | int32 | 100,000 | 0.0069 | 0.0191 | 0.36× | 277% | +|✅| a >= b (int32) | int32 | 10,000,000 | 4.5128 | 3.3235 | 1.36× | 74% | +|▫| a >= b (int64) | int64 | 1,000 | 0.0008 | 0.0008 | 1.00× | 100% | +|🟡| a >= b (int64) | int64 | 100,000 | 0.0188 | 0.0266 | 0.71× | 142% | +|✅| a >= b (int64) | int64 | 10,000,000 | 7.8543 | 5.9554 | 1.32× | 76% | + +### Bitwise + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|▫| a & b (bool) | bool | 1,000 | 0.0004 | 0.0016 | 0.24× | 409% | +|🔴| a & b (bool) | bool | 100,000 | 0.0028 | 0.0215 | 0.13× | 763% | +|🟡| a & b (bool) | bool | 10,000,000 | 1.8589 | 3.0929 | 0.60× | 166% | +|▫| a & b (int16) | int16 | 1,000 | 0.0008 | 0.0027 | 0.29× | 349% | +|✅| a & b (int16) | int16 | 100,000 | 0.0290 | 0.0169 | 1.72× | 58% | +|✅| a & b (int16) | int16 | 10,000,000 | 5.2942 | 2.9661 | 1.78× | 56% | +|▫| a & b (int32) | int32 | 1,000 | 0.0008 | 0.0060 | 0.13× | 779% | +|🟡| a & b (int32) | int32 | 100,000 | 0.0286 | 0.0342 | 0.84× | 120% | +|✅| a & b (int32) | int32 | 10,000,000 | 9.1881 | 5.3408 | 1.72× | 58% | +|▫| a & b (int64) | int64 | 1,000 | 0.0008 | 0.0069 | 0.11× | 891% | +|🟡| a & b (int64) | int64 | 100,000 | 0.0338 | 0.0634 | 0.53× | 188% | +|✅| a & b (int64) | int64 | 10,000,000 | 17.1008 | 16.6525 | 1.03× | 97% | +|▫| a & b (int8) | int8 | 1,000 | 0.0007 | 0.0013 | 0.49× | 204% | +|✅| a & b (int8) | int8 | 100,000 | 0.0286 | 0.0100 | 2.86× | 35% | +|✅| a & b (int8) | int8 | 10,000,000 | 3.8854 | 1.5338 | 2.53× | 40% | +|▫| a & b (uint16) | uint16 | 1,000 | 0.0008 | 0.0034 | 0.23× | 440% | +|✅| a & b (uint16) | uint16 | 100,000 | 0.0301 | 0.0180 | 1.68× | 60% | +|✅| a & b (uint16) | uint16 | 10,000,000 | 5.2834 | 3.0212 | 1.75× | 57% | +|▫| a & b (uint32) | uint32 | 1,000 | 0.0008 | 0.0039 | 0.20× | 492% | +|🟡| a & b (uint32) | uint32 | 100,000 | 0.0339 | 0.0400 | 0.85× | 118% | +|✅| a & b (uint32) | uint32 | 10,000,000 | 8.5821 | 6.0168 | 1.43× | 70% | +|▫| a & b (uint64) | uint64 | 1,000 | 0.0008 | 0.0024 | 0.32× | 310% | +|🟠| a & b (uint64) | uint64 | 100,000 | 0.0356 | 0.0739 | 0.48× | 207% | +|✅| a & b (uint64) | uint64 | 10,000,000 | 17.0644 | 16.1487 | 1.06× | 95% | +|▫| a & b (uint8) | uint8 | 1,000 | 0.0006 | 0.0010 | 0.62× | 162% | +|✅| a & b (uint8) | uint8 | 100,000 | 0.0296 | 0.0103 | 2.88× | 35% | +|✅| a & b (uint8) | uint8 | 10,000,000 | 3.8191 | 1.5272 | 2.50× | 40% | +|▫| a ^ b (bool) | bool | 1,000 | 0.0004 | 0.0017 | 0.22× | 447% | +|🔴| a ^ b (bool) | bool | 100,000 | 0.0026 | 0.0214 | 0.12× | 822% | +|🟡| a ^ b (bool) | bool | 10,000,000 | 1.8620 | 3.0807 | 0.60× | 166% | +|▫| a ^ b (int16) | int16 | 1,000 | 0.0008 | 0.0026 | 0.30× | 328% | +|✅| a ^ b (int16) | int16 | 100,000 | 0.0285 | 0.0149 | 1.92× | 52% | +|✅| a ^ b (int16) | int16 | 10,000,000 | 5.2041 | 2.9252 | 1.78× | 56% | +|▫| a ^ b (int32) | int32 | 1,000 | 0.0008 | 0.0047 | 0.16× | 615% | +|🟡| a ^ b (int32) | int32 | 100,000 | 0.0288 | 0.0321 | 0.90× | 111% | +|✅| a ^ b (int32) | int32 | 10,000,000 | 8.9067 | 5.3599 | 1.66× | 60% | +|▫| a ^ b (int64) | int64 | 1,000 | 0.0008 | 0.0040 | 0.20× | 511% | +|🟡| a ^ b (int64) | int64 | 100,000 | 0.0337 | 0.0666 | 0.51× | 198% | +|✅| a ^ b (int64) | int64 | 10,000,000 | 17.2489 | 15.6910 | 1.10× | 91% | +|▫| a ^ b (int8) | int8 | 1,000 | 0.0007 | 0.0012 | 0.52× | 191% | +|✅| a ^ b (int8) | int8 | 100,000 | 0.0295 | 0.0102 | 2.90× | 34% | +|✅| a ^ b (int8) | int8 | 10,000,000 | 3.8764 | 1.5503 | 2.50× | 40% | +|▫| a ^ b (uint16) | uint16 | 1,000 | 0.0008 | 0.0028 | 0.28× | 361% | +|✅| a ^ b (uint16) | uint16 | 100,000 | 0.0287 | 0.0163 | 1.77× | 57% | +|✅| a ^ b (uint16) | uint16 | 10,000,000 | 5.2129 | 2.9215 | 1.78× | 56% | +|▫| a ^ b (uint32) | uint32 | 1,000 | 0.0008 | 0.0048 | 0.16× | 610% | +|🟡| a ^ b (uint32) | uint32 | 100,000 | 0.0285 | 0.0315 | 0.91× | 110% | +|✅| a ^ b (uint32) | uint32 | 10,000,000 | 8.4267 | 5.7479 | 1.47× | 68% | +|▫| a ^ b (uint64) | uint64 | 1,000 | 0.0009 | 0.0111 | 0.078× | 1287% | +|🟡| a ^ b (uint64) | uint64 | 100,000 | 0.0341 | 0.0681 | 0.50× | 200% | +|✅| a ^ b (uint64) | uint64 | 10,000,000 | 16.9004 | 16.6136 | 1.02× | 98% | +|▫| a ^ b (uint8) | uint8 | 1,000 | 0.0006 | 0.0012 | 0.53× | 187% | +|✅| a ^ b (uint8) | uint8 | 100,000 | 0.0288 | 0.0119 | 2.42× | 41% | +|✅| a ^ b (uint8) | uint8 | 10,000,000 | 3.8171 | 1.4591 | 2.62× | 38% | +|▫| a | b (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.31× | 326% | +|🔴| a | b (bool) | bool | 100,000 | 0.0025 | 0.0232 | 0.11× | 912% | +|🟡| a | b (bool) | bool | 10,000,000 | 1.8887 | 2.8568 | 0.66× | 151% | +|▫| a | b (int16) | int16 | 1,000 | 0.0008 | 0.0023 | 0.35× | 288% | +|✅| a | b (int16) | int16 | 100,000 | 0.0285 | 0.0178 | 1.60× | 62% | +|✅| a | b (int16) | int16 | 10,000,000 | 5.2268 | 2.9832 | 1.75× | 57% | +|▫| a | b (int32) | int32 | 1,000 | 0.0008 | 0.0074 | 0.10× | 950% | +|🟡| a | b (int32) | int32 | 100,000 | 0.0286 | 0.0380 | 0.75× | 133% | +|✅| a | b (int32) | int32 | 10,000,000 | 9.0217 | 5.4574 | 1.65× | 60% | +|▫| a | b (int64) | int64 | 1,000 | 0.0008 | 0.0079 | 0.10× | 1003% | +|🟠| a | b (int64) | int64 | 100,000 | 0.0339 | 0.0707 | 0.48× | 209% | +|✅| a | b (int64) | int64 | 10,000,000 | 17.1245 | 15.6955 | 1.09× | 92% | +|▫| a | b (int8) | int8 | 1,000 | 0.0007 | 0.0014 | 0.48× | 210% | +|✅| a | b (int8) | int8 | 100,000 | 0.0300 | 0.0116 | 2.58× | 39% | +|✅| a | b (int8) | int8 | 10,000,000 | 4.1649 | 1.5132 | 2.75× | 36% | +|▫| a | b (uint16) | uint16 | 1,000 | 0.0008 | 0.0019 | 0.43× | 234% | +|✅| a | b (uint16) | uint16 | 100,000 | 0.0291 | 0.0168 | 1.73× | 58% | +|✅| a | b (uint16) | uint16 | 10,000,000 | 5.1942 | 2.8924 | 1.80× | 56% | +|▫| a | b (uint32) | uint32 | 1,000 | 0.0008 | 0.0035 | 0.22× | 446% | +|🟡| a | b (uint32) | uint32 | 100,000 | 0.0285 | 0.0334 | 0.85× | 117% | +|✅| a | b (uint32) | uint32 | 10,000,000 | 8.5824 | 5.4787 | 1.57× | 64% | +|▫| a | b (uint64) | uint64 | 1,000 | 0.0008 | 0.0022 | 0.35× | 282% | +|🟡| a | b (uint64) | uint64 | 100,000 | 0.0353 | 0.0677 | 0.52× | 192% | +|✅| a | b (uint64) | uint64 | 10,000,000 | 16.8283 | 16.1102 | 1.04× | 96% | +|▫| a | b (uint8) | uint8 | 1,000 | 0.0007 | 0.0012 | 0.56× | 177% | +|✅| a | b (uint8) | uint8 | 100,000 | 0.0296 | 0.0105 | 2.83× | 35% | +|✅| a | b (uint8) | uint8 | 10,000,000 | 4.1042 | 1.4855 | 2.76× | 36% | +|▫| np.invert(a) (bool) | bool | 1,000 | 0.0004 | 0.0015 | 0.24× | 409% | +|🔴| np.invert(a) (bool) | bool | 100,000 | 0.0021 | 0.0230 | 0.092× | 1083% | +|🟡| np.invert(a) (bool) | bool | 10,000,000 | 1.6689 | 2.5576 | 0.65× | 153% | +|▫| np.invert(a) (int16) | int16 | 1,000 | 0.0007 | 0.0018 | 0.40× | 247% | +|✅| np.invert(a) (int16) | int16 | 100,000 | 0.0257 | 0.0140 | 1.83× | 55% | +|✅| np.invert(a) (int16) | int16 | 10,000,000 | 4.7670 | 2.5132 | 1.90× | 53% | +|▫| np.invert(a) (int32) | int32 | 1,000 | 0.0008 | 0.0058 | 0.13× | 758% | +|🟡| np.invert(a) (int32) | int32 | 100,000 | 0.0264 | 0.0305 | 0.86× | 116% | +|✅| np.invert(a) (int32) | int32 | 10,000,000 | 8.1792 | 4.7721 | 1.71× | 58% | +|▫| np.invert(a) (int64) | int64 | 1,000 | 0.0007 | 0.0059 | 0.13× | 796% | +|🟠| np.invert(a) (int64) | int64 | 100,000 | 0.0263 | 0.0661 | 0.40× | 251% | +|✅| np.invert(a) (int64) | int64 | 10,000,000 | 15.1634 | 14.2955 | 1.06× | 94% | +|▫| np.invert(a) (int8) | int8 | 1,000 | 0.0006 | 0.0014 | 0.46× | 218% | +|✅| np.invert(a) (int8) | int8 | 100,000 | 0.0293 | 0.0108 | 2.72× | 37% | +|✅| np.invert(a) (int8) | int8 | 10,000,000 | 3.5390 | 1.3133 | 2.69× | 37% | +|▫| np.invert(a) (uint16) | uint16 | 1,000 | 0.0007 | 0.0022 | 0.33× | 302% | +|✅| np.invert(a) (uint16) | uint16 | 100,000 | 0.0258 | 0.0206 | 1.25× | 80% | +|✅| np.invert(a) (uint16) | uint16 | 10,000,000 | 4.7281 | 2.4541 | 1.93× | 52% | +|▫| np.invert(a) (uint32) | uint32 | 1,000 | 0.0008 | 0.0036 | 0.22× | 459% | +|✅| np.invert(a) (uint32) | uint32 | 100,000 | 0.0332 | 0.0290 | 1.15× | 87% | +|✅| np.invert(a) (uint32) | uint32 | 10,000,000 | 7.8329 | 4.8460 | 1.62× | 62% | +|▫| np.invert(a) (uint64) | uint64 | 1,000 | 0.0007 | 0.0035 | 0.21× | 484% | +|🟠| np.invert(a) (uint64) | uint64 | 100,000 | 0.0263 | 0.0652 | 0.40× | 248% | +|🟡| np.invert(a) (uint64) | uint64 | 10,000,000 | 15.2896 | 15.3374 | 1.00× | 100% | +|▫| np.invert(a) (uint8) | uint8 | 1,000 | 0.0006 | 0.0014 | 0.46× | 216% | +|✅| np.invert(a) (uint8) | uint8 | 100,000 | 0.0268 | 0.0110 | 2.45× | 41% | +|✅| np.invert(a) (uint8) | uint8 | 10,000,000 | 3.5162 | 1.3311 | 2.64× | 38% | +|🔴| np.left_shift(a, 2) (bool) | bool | 1,000 | 0.0015 | 0.0125 | 0.12× | 845% | +|🟡| np.left_shift(a, 2) (bool) | bool | 100,000 | 0.0430 | 0.0779 | 0.55× | 181% | +|✅| np.left_shift(a, 2) (bool) | bool | 10,000,000 | 15.2024 | 10.3241 | 1.47× | 68% | +|🟠| np.left_shift(a, 2) (int16) | int16 | 1,000 | 0.0010 | 0.0031 | 0.33× | 302% | +|✅| np.left_shift(a, 2) (int16) | int16 | 100,000 | 0.0285 | 0.0150 | 1.90× | 53% | +|✅| np.left_shift(a, 2) (int16) | int16 | 10,000,000 | 4.9855 | 2.6983 | 1.85× | 54% | +|▫| np.left_shift(a, 2) (int32) | int32 | 1,000 | 0.0010 | 0.0057 | 0.18× | 569% | +|🟡| np.left_shift(a, 2) (int32) | int32 | 100,000 | 0.0190 | 0.0373 | 0.51× | 196% | +|✅| np.left_shift(a, 2) (int32) | int32 | 10,000,000 | 7.6421 | 4.5654 | 1.67× | 60% | +|▫| np.left_shift(a, 2) (int64) | int64 | 1,000 | 0.0009 | 0.0038 | 0.24× | 420% | +|🟠| np.left_shift(a, 2) (int64) | int64 | 100,000 | 0.0190 | 0.0672 | 0.28× | 353% | +|✅| np.left_shift(a, 2) (int64) | int64 | 10,000,000 | 15.2053 | 14.9107 | 1.02× | 98% | +|▫| np.left_shift(a, 2) (int8) | int8 | 1,000 | 0.0009 | 0.0019 | 0.49× | 204% | +|✅| np.left_shift(a, 2) (int8) | int8 | 100,000 | 0.0305 | 0.0085 | 3.58× | 28% | +|✅| np.left_shift(a, 2) (int8) | int8 | 10,000,000 | 3.7477 | 1.2738 | 2.94× | 34% | +|🟠| np.left_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0023 | 0.45× | 222% | +|✅| np.left_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0290 | 0.0163 | 1.78× | 56% | +|✅| np.left_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.3571 | 2.5057 | 2.14× | 47% | +|▫| np.left_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0045 | 0.22× | 456% | +|🟡| np.left_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0192 | 0.0272 | 0.70× | 142% | +|✅| np.left_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.9134 | 5.0757 | 1.56× | 64% | +|▫| np.left_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0096 | 0.10× | 1000% | +|🟠| np.left_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0194 | 0.0697 | 0.28× | 359% | +|🟡| np.left_shift(a, 2) (uint64) | uint64 | 10,000,000 | 15.2926 | 15.7026 | 0.97× | 103% | +|▫| np.left_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0023 | 0.40× | 250% | +|✅| np.left_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0292 | 0.0131 | 2.22× | 45% | +|✅| np.left_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.6979 | 1.2844 | 2.88× | 35% | +|🔴| np.right_shift(a, 2) (bool) | bool | 1,000 | 0.0016 | 0.0135 | 0.12× | 844% | +|🟡| np.right_shift(a, 2) (bool) | bool | 100,000 | 0.0529 | 0.0750 | 0.71× | 142% | +|✅| np.right_shift(a, 2) (bool) | bool | 10,000,000 | 15.2744 | 9.3866 | 1.63× | 62% | +|🟠| np.right_shift(a, 2) (int16) | int16 | 1,000 | 0.0011 | 0.0026 | 0.44× | 226% | +|✅| np.right_shift(a, 2) (int16) | int16 | 100,000 | 0.0377 | 0.0158 | 2.38× | 42% | +|✅| np.right_shift(a, 2) (int16) | int16 | 10,000,000 | 5.7282 | 2.6585 | 2.15× | 46% | +|🟠| np.right_shift(a, 2) (int32) | int32 | 1,000 | 0.0011 | 0.0038 | 0.28× | 354% | +|🟡| np.right_shift(a, 2) (int32) | int32 | 100,000 | 0.0288 | 0.0378 | 0.76× | 131% | +|✅| np.right_shift(a, 2) (int32) | int32 | 10,000,000 | 7.8870 | 4.3972 | 1.79× | 56% | +|🟠| np.right_shift(a, 2) (int64) | int64 | 1,000 | 0.0013 | 0.0039 | 0.32× | 309% | +|🟠| np.right_shift(a, 2) (int64) | int64 | 100,000 | 0.0287 | 0.0702 | 0.41× | 244% | +|✅| np.right_shift(a, 2) (int64) | int64 | 10,000,000 | 15.0917 | 14.2202 | 1.06× | 94% | +|🟡| np.right_shift(a, 2) (int8) | int8 | 1,000 | 0.0010 | 0.0019 | 0.54× | 185% | +|✅| np.right_shift(a, 2) (int8) | int8 | 100,000 | 0.0436 | 0.0108 | 4.02× | 25% | +|✅| np.right_shift(a, 2) (int8) | int8 | 10,000,000 | 4.7856 | 1.2716 | 3.76× | 27% | +|🟠| np.right_shift(a, 2) (uint16) | uint16 | 1,000 | 0.0011 | 0.0029 | 0.36× | 275% | +|✅| np.right_shift(a, 2) (uint16) | uint16 | 100,000 | 0.0283 | 0.0170 | 1.67× | 60% | +|✅| np.right_shift(a, 2) (uint16) | uint16 | 10,000,000 | 5.1786 | 2.5878 | 2.00× | 50% | +|▫| np.right_shift(a, 2) (uint32) | uint32 | 1,000 | 0.0010 | 0.0036 | 0.27× | 368% | +|🟡| np.right_shift(a, 2) (uint32) | uint32 | 100,000 | 0.0205 | 0.0284 | 0.72× | 138% | +|✅| np.right_shift(a, 2) (uint32) | uint32 | 10,000,000 | 7.7130 | 4.7119 | 1.64× | 61% | +|▫| np.right_shift(a, 2) (uint64) | uint64 | 1,000 | 0.0010 | 0.0108 | 0.091× | 1100% | +|🟠| np.right_shift(a, 2) (uint64) | uint64 | 100,000 | 0.0212 | 0.0750 | 0.28× | 354% | +|🟡| np.right_shift(a, 2) (uint64) | uint64 | 10,000,000 | 14.9083 | 16.6474 | 0.90× | 112% | +|▫| np.right_shift(a, 2) (uint8) | uint8 | 1,000 | 0.0009 | 0.0021 | 0.44× | 227% | +|✅| np.right_shift(a, 2) (uint8) | uint8 | 100,000 | 0.0296 | 0.0095 | 3.12× | 32% | +|✅| np.right_shift(a, 2) (uint8) | uint8 | 10,000,000 | 3.7353 | 1.2943 | 2.89× | 35% | + +### Logic + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|⚪| np.all(a) (bool) | bool | 1,000 | 0.0015 | - | - | - | +|⚪| np.all(a) (bool) | bool | 100,000 | 0.0014 | - | - | - | +|⚪| np.all(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - | +|⚪| np.allclose(a, b) (float16) | float16 | 1,000 | 0.0305 | - | - | - | +|⚪| np.allclose(a, b) (float16) | float16 | 100,000 | 1.7794 | - | - | - | +|⚪| np.allclose(a, b) (float16) | float16 | 10,000,000 | 192.9692 | - | - | - | +|⚪| np.allclose(a, b) (float32) | float32 | 1,000 | 0.0132 | - | - | - | +|⚪| np.allclose(a, b) (float32) | float32 | 100,000 | 0.3660 | - | - | - | +|⚪| np.allclose(a, b) (float32) | float32 | 10,000,000 | 55.8239 | - | - | - | +|⚪| np.allclose(a, b) (float64) | float64 | 1,000 | 0.0165 | - | - | - | +|⚪| np.allclose(a, b) (float64) | float64 | 100,000 | 0.6299 | - | - | - | +|⚪| np.allclose(a, b) (float64) | float64 | 10,000,000 | 107.5215 | - | - | - | +|⚪| np.any(a) (bool) | bool | 1,000 | 0.0015 | - | - | - | +|⚪| np.any(a) (bool) | bool | 100,000 | 0.0017 | - | - | - | +|⚪| np.any(a) (bool) | bool | 10,000,000 | 0.0014 | - | - | - | +|✅| np.array_equal(a, b) (float16) | float16 | 1,000 | 0.0025 | 0.0013 | 1.90× | 53% | +|✅| np.array_equal(a, b) (float16) | float16 | 100,000 | 0.0873 | 0.0697 | 1.25× | 80% | +|✅| np.array_equal(a, b) (float16) | float16 | 10,000,000 | 9.5077 | 6.1828 | 1.54× | 65% | +|▫| np.array_equal(a, b) (float32) | float32 | 1,000 | 0.0016 | 0.0008 | 1.95× | 51% | +|🟠| np.array_equal(a, b) (float32) | float32 | 100,000 | 0.0067 | 0.0186 | 0.36× | 276% | +|✅| np.array_equal(a, b) (float32) | float32 | 10,000,000 | 3.9686 | 3.4029 | 1.17× | 86% | +|▫| np.array_equal(a, b) (float64) | float64 | 1,000 | 0.0018 | 0.0007 | 2.36× | 42% | +|🟠| np.array_equal(a, b) (float64) | float64 | 100,000 | 0.0121 | 0.0248 | 0.49× | 204% | +|✅| np.array_equal(a, b) (float64) | float64 | 10,000,000 | 6.8297 | 5.8386 | 1.17× | 86% | +|⚪| np.isclose(a, b) (float16) | float16 | 1,000 | 0.0300 | - | - | - | +|⚪| np.isclose(a, b) (float16) | float16 | 100,000 | 1.7764 | - | - | - | +|⚪| np.isclose(a, b) (float16) | float16 | 10,000,000 | 195.6207 | - | - | - | +|⚪| np.isclose(a, b) (float32) | float32 | 1,000 | 0.0113 | - | - | - | +|⚪| np.isclose(a, b) (float32) | float32 | 100,000 | 0.3666 | - | - | - | +|⚪| np.isclose(a, b) (float32) | float32 | 10,000,000 | 55.1472 | - | - | - | +|⚪| np.isclose(a, b) (float64) | float64 | 1,000 | 0.0116 | - | - | - | +|⚪| np.isclose(a, b) (float64) | float64 | 100,000 | 0.6275 | - | - | - | +|⚪| np.isclose(a, b) (float64) | float64 | 10,000,000 | 104.7217 | - | - | - | +|▫| np.isfinite(a) (float16) | float16 | 1,000 | 0.0008 | 0.0015 | 0.57× | 175% | +|✅| np.isfinite(a) (float16) | float16 | 100,000 | 0.0496 | 0.0388 | 1.28× | 78% | +|✅| np.isfinite(a) (float16) | float16 | 10,000,000 | 5.8734 | 3.1098 | 1.89× | 53% | +|▫| np.isfinite(a) (float32) | float32 | 1,000 | 0.0004 | 0.0012 | 0.33× | 302% | +|🔴| np.isfinite(a) (float32) | float32 | 100,000 | 0.0059 | 0.0364 | 0.16× | 617% | +|🟡| np.isfinite(a) (float32) | float32 | 10,000,000 | 3.3272 | 3.8128 | 0.87× | 115% | +|▫| np.isfinite(a) (float64) | float64 | 1,000 | 0.0005 | 0.0014 | 0.32× | 314% | +|🟠| np.isfinite(a) (float64) | float64 | 100,000 | 0.0098 | 0.0365 | 0.27× | 374% | +|🟡| np.isfinite(a) (float64) | float64 | 10,000,000 | 5.3098 | 5.6920 | 0.93× | 107% | +|▫| np.isinf(a) (float16) | float16 | 1,000 | 0.0009 | 0.0012 | 0.76× | 132% | +|✅| np.isinf(a) (float16) | float16 | 100,000 | 0.0506 | 0.0386 | 1.31× | 76% | +|✅| np.isinf(a) (float16) | float16 | 10,000,000 | 6.0644 | 3.1035 | 1.95× | 51% | +|▫| np.isinf(a) (float32) | float32 | 1,000 | 0.0006 | 0.0013 | 0.41× | 241% | +|🔴| np.isinf(a) (float32) | float32 | 100,000 | 0.0058 | 0.0416 | 0.14× | 721% | +|🟡| np.isinf(a) (float32) | float32 | 10,000,000 | 3.0154 | 3.9983 | 0.75× | 133% | +|▫| np.isinf(a) (float64) | float64 | 1,000 | 0.0005 | 0.0015 | 0.32× | 312% | +|🟠| np.isinf(a) (float64) | float64 | 100,000 | 0.0101 | 0.0433 | 0.23× | 429% | +|🟡| np.isinf(a) (float64) | float64 | 10,000,000 | 5.2606 | 5.9503 | 0.88× | 113% | +|✅| np.isnan(a) (float16) | float16 | 1,000 | 0.0014 | 0.0012 | 1.12× | 89% | +|✅| np.isnan(a) (float16) | float16 | 100,000 | 0.0692 | 0.0397 | 1.74× | 57% | +|✅| np.isnan(a) (float16) | float16 | 10,000,000 | 7.7981 | 3.1130 | 2.50× | 40% | +|▫| np.isnan(a) (float32) | float32 | 1,000 | 0.0005 | 0.0016 | 0.34× | 298% | +|🔴| np.isnan(a) (float32) | float32 | 100,000 | 0.0044 | 0.0482 | 0.092× | 1091% | +|🟡| np.isnan(a) (float32) | float32 | 10,000,000 | 2.9244 | 4.7104 | 0.62× | 161% | +|▫| np.isnan(a) (float64) | float64 | 1,000 | 0.0004 | 0.0013 | 0.33× | 300% | +|🔴| np.isnan(a) (float64) | float64 | 100,000 | 0.0085 | 0.0483 | 0.18× | 569% | +|🟡| np.isnan(a) (float64) | float64 | 10,000,000 | 4.9310 | 6.0302 | 0.82× | 122% | +|✅| np.maximum(a, b) (float16) | float16 | 1,000 | 0.0031 | 0.0030 | 1.02× | 98% | +|✅| np.maximum(a, b) (float16) | float16 | 100,000 | 0.7598 | 0.6663 | 1.14× | 88% | +|✅| np.maximum(a, b) (float16) | float16 | 10,000,000 | 80.9858 | 66.1452 | 1.22× | 82% | +|▫| np.maximum(a, b) (float32) | float32 | 1,000 | 0.0006 | 0.0013 | 0.45× | 223% | +|🟠| np.maximum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0343 | 0.25× | 407% | +|✅| np.maximum(a, b) (float32) | float32 | 10,000,000 | 8.3101 | 4.3746 | 1.90× | 53% | +|▫| np.maximum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0018 | 0.31× | 323% | +|🟠| np.maximum(a, b) (float64) | float64 | 100,000 | 0.0293 | 0.0803 | 0.36× | 274% | +|🟡| np.maximum(a, b) (float64) | float64 | 10,000,000 | 16.5750 | 17.2376 | 0.96× | 104% | +|✅| np.minimum(a, b) (float16) | float16 | 1,000 | 0.0032 | 0.0031 | 1.03× | 97% | +|✅| np.minimum(a, b) (float16) | float16 | 100,000 | 0.7620 | 0.6658 | 1.14× | 87% | +|✅| np.minimum(a, b) (float16) | float16 | 10,000,000 | 81.4032 | 65.4062 | 1.25× | 80% | +|▫| np.minimum(a, b) (float32) | float32 | 1,000 | 0.0005 | 0.0013 | 0.42× | 240% | +|🟠| np.minimum(a, b) (float32) | float32 | 100,000 | 0.0084 | 0.0345 | 0.24× | 411% | +|✅| np.minimum(a, b) (float32) | float32 | 10,000,000 | 8.4413 | 4.4356 | 1.90× | 52% | +|▫| np.minimum(a, b) (float64) | float64 | 1,000 | 0.0006 | 0.0013 | 0.44× | 228% | +|🟠| np.minimum(a, b) (float64) | float64 | 100,000 | 0.0290 | 0.0866 | 0.34× | 298% | +|🟡| np.minimum(a, b) (float64) | float64 | 10,000,000 | 16.8958 | 20.5756 | 0.82× | 122% | + +### Statistics + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|✅| np.average(a) (float16) | float16 | 1,000 | 0.0054 | 0.0012 | 4.48× | 22% | +|✅| np.average(a) (float16) | float16 | 100,000 | 0.1147 | 0.0798 | 1.44× | 70% | +|✅| np.average(a) (float16) | float16 | 10,000,000 | 10.5817 | 8.0311 | 1.32× | 76% | +|▫| np.average(a) (float32) | float32 | 1,000 | 0.0042 | 0.0007 | 5.80× | 17% | +|✅| np.average(a) (float32) | float32 | 100,000 | 0.0177 | 0.0032 | 5.57× | 18% | +|✅| np.average(a) (float32) | float32 | 10,000,000 | 2.8186 | 0.9734 | 2.90× | 34% | +|▫| np.average(a) (float64) | float64 | 1,000 | 0.0029 | 0.0007 | 3.89× | 26% | +|✅| np.average(a) (float64) | float64 | 100,000 | 0.0171 | 0.0040 | 4.26× | 23% | +|✅| np.average(a) (float64) | float64 | 10,000,000 | 4.6529 | 2.8474 | 1.63× | 61% | +|▫| np.count_nonzero(a) (float16) | float16 | 1,000 | 0.0018 | 0.0008 | 2.29× | 44% | +|✅| np.count_nonzero(a) (float16) | float16 | 100,000 | 0.1447 | 0.0436 | 3.32× | 30% | +|✅| np.count_nonzero(a) (float16) | float16 | 10,000,000 | 15.7587 | 4.3062 | 3.66× | 27% | +|▫| np.count_nonzero(a) (float32) | float32 | 1,000 | 0.0006 | 0.0003 | 1.87× | 53% | +|✅| np.count_nonzero(a) (float32) | float32 | 100,000 | 0.0438 | 0.0050 | 8.69× | 12% | +|✅| np.count_nonzero(a) (float32) | float32 | 10,000,000 | 4.2117 | 1.6445 | 2.56× | 39% | +|▫| np.count_nonzero(a) (float64) | float64 | 1,000 | 0.0007 | 0.0004 | 1.82× | 55% | +|✅| np.count_nonzero(a) (float64) | float64 | 100,000 | 0.0376 | 0.0090 | 4.19× | 24% | +|✅| np.count_nonzero(a) (float64) | float64 | 10,000,000 | 5.6444 | 3.9133 | 1.44× | 69% | +|✅| np.median(a) (float16) | float16 | 1,000 | 0.0144 | 0.0041 | 3.52× | 28% | +|🟡| np.median(a) (float16) | float16 | 100,000 | 0.8796 | 1.2503 | 0.70× | 142% | +|✅| np.median(a) (float16) | float16 | 10,000,000 | 105.7899 | 88.7294 | 1.19× | 84% | +|✅| np.median(a) (float32) | float32 | 1,000 | 0.0110 | 0.0023 | 4.80× | 21% | +|🟡| np.median(a) (float32) | float32 | 100,000 | 0.4686 | 0.6988 | 0.67× | 149% | +|🟡| np.median(a) (float32) | float32 | 10,000,000 | 73.7480 | 79.7326 | 0.93× | 108% | +|✅| np.median(a) (float64) | float64 | 1,000 | 0.0098 | 0.0023 | 4.23× | 24% | +|🟡| np.median(a) (float64) | float64 | 100,000 | 0.4653 | 0.7089 | 0.66× | 152% | +|🟡| np.median(a) (float64) | float64 | 10,000,000 | 86.4309 | 88.8375 | 0.97× | 103% | +|✅| np.percentile(a, 50) (float16) | float16 | 1,000 | 0.0288 | 0.0041 | 6.97× | 14% | +|✅| np.percentile(a, 50) (float16) | float16 | 100,000 | 1.7825 | 1.2489 | 1.43× | 70% | +|✅| np.percentile(a, 50) (float16) | float16 | 10,000,000 | 113.4806 | 88.7652 | 1.28× | 78% | +|✅| np.percentile(a, 50) (float32) | float32 | 1,000 | 0.0243 | 0.0023 | 10.61× | 9% | +|✅| np.percentile(a, 50) (float32) | float32 | 100,000 | 0.7026 | 0.7007 | 1.00× | 100% | +|🟡| np.percentile(a, 50) (float32) | float32 | 10,000,000 | 47.5374 | 79.7748 | 0.60× | 168% | +|✅| np.percentile(a, 50) (float64) | float64 | 1,000 | 0.0258 | 0.0023 | 11.00× | 9% | +|🟡| np.percentile(a, 50) (float64) | float64 | 100,000 | 0.7045 | 0.7086 | 0.99× | 101% | +|🟡| np.percentile(a, 50) (float64) | float64 | 10,000,000 | 58.5689 | 88.9709 | 0.66× | 152% | +|✅| np.ptp(a) (float16) | float16 | 1,000 | 0.0077 | 0.0037 | 2.10× | 48% | +|✅| np.ptp(a) (float16) | float16 | 100,000 | 1.0004 | 0.6489 | 1.54× | 65% | +|✅| np.ptp(a) (float16) | float16 | 10,000,000 | 103.1114 | 67.0357 | 1.54× | 65% | +|✅| np.ptp(a) (float32) | float32 | 1,000 | 0.0035 | 0.0022 | 1.59× | 63% | +|✅| np.ptp(a) (float32) | float32 | 100,000 | 0.0114 | 0.0080 | 1.44× | 70% | +|✅| np.ptp(a) (float32) | float32 | 10,000,000 | 2.6949 | 2.4569 | 1.10× | 91% | +|✅| np.ptp(a) (float64) | float64 | 1,000 | 0.0037 | 0.0020 | 1.88× | 53% | +|✅| np.ptp(a) (float64) | float64 | 100,000 | 0.0200 | 0.0134 | 1.49× | 67% | +|✅| np.ptp(a) (float64) | float64 | 10,000,000 | 6.9463 | 6.2250 | 1.12× | 90% | +|✅| np.quantile(a, 0.5) (float16) | float16 | 1,000 | 0.0283 | 0.0041 | 6.89× | 14% | +|✅| np.quantile(a, 0.5) (float16) | float16 | 100,000 | 1.7668 | 1.2481 | 1.42× | 71% | +|✅| np.quantile(a, 0.5) (float16) | float16 | 10,000,000 | 112.7790 | 88.6407 | 1.27× | 79% | +|✅| np.quantile(a, 0.5) (float32) | float32 | 1,000 | 0.0237 | 0.0023 | 10.32× | 10% | +|🟡| np.quantile(a, 0.5) (float32) | float32 | 100,000 | 0.6938 | 0.7016 | 0.99× | 101% | +|🟡| np.quantile(a, 0.5) (float32) | float32 | 10,000,000 | 47.6198 | 79.7894 | 0.60× | 168% | +|✅| np.quantile(a, 0.5) (float64) | float64 | 1,000 | 0.0239 | 0.0023 | 10.21× | 10% | +|🟡| np.quantile(a, 0.5) (float64) | float64 | 100,000 | 0.7004 | 0.7083 | 0.99× | 101% | +|🟡| np.quantile(a, 0.5) (float64) | float64 | 10,000,000 | 58.1853 | 89.0162 | 0.65× | 153% | + +### Sorting + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|🟡| np.argsort(a) (float32) | float32 | 1,000 | 0.0120 | 0.0223 | 0.54× | 186% | +|✅| np.argsort(a) (float32) | float32 | 100,000 | 1.5922 | 1.0142 | 1.57× | 64% | +|✅| np.argsort(a) (float32) | float32 | 10,000,000 | 1348.2730 | 132.4664 | 10.18× | 10% | +|🟡| np.argsort(a) (float64) | float64 | 1,000 | 0.0104 | 0.0177 | 0.59× | 171% | +|🟡| np.argsort(a) (float64) | float64 | 100,000 | 1.4280 | 2.5193 | 0.57× | 176% | +|✅| np.argsort(a) (float64) | float64 | 10,000,000 | 1768.7035 | 251.4880 | 7.03× | 14% | +|🟡| np.argsort(a) (int32) | int32 | 1,000 | 0.0113 | 0.0221 | 0.51× | 196% | +|🟠| np.argsort(a) (int32) | int32 | 100,000 | 0.4031 | 0.8504 | 0.47× | 211% | +|✅| np.argsort(a) (int32) | int32 | 10,000,000 | 174.0979 | 107.5057 | 1.62× | 62% | +|🟡| np.argsort(a) (int64) | int64 | 1,000 | 0.0131 | 0.0167 | 0.78× | 128% | +|🟠| np.argsort(a) (int64) | int64 | 100,000 | 0.4917 | 2.2549 | 0.22× | 459% | +|✅| np.argsort(a) (int64) | int64 | 10,000,000 | 310.5208 | 188.5734 | 1.65× | 61% | +|✅| np.nonzero(a) (float32) | float32 | 1,000 | 0.0027 | 0.0021 | 1.25× | 80% | +|✅| np.nonzero(a) (float32) | float32 | 100,000 | 0.1988 | 0.1946 | 1.02× | 98% | +|✅| np.nonzero(a) (float32) | float32 | 10,000,000 | 39.8712 | 14.1945 | 2.81× | 36% | +|✅| np.nonzero(a) (float64) | float64 | 1,000 | 0.0029 | 0.0020 | 1.44× | 70% | +|🟡| np.nonzero(a) (float64) | float64 | 100,000 | 0.1923 | 0.2002 | 0.96× | 104% | +|✅| np.nonzero(a) (float64) | float64 | 10,000,000 | 42.6329 | 17.6206 | 2.42× | 41% | +|🟡| np.nonzero(a) (int32) | int32 | 1,000 | 0.0017 | 0.0028 | 0.61× | 164% | +|🟡| np.nonzero(a) (int32) | int32 | 100,000 | 0.1051 | 0.1932 | 0.54× | 184% | +|✅| np.nonzero(a) (int32) | int32 | 10,000,000 | 20.1149 | 14.3503 | 1.40× | 71% | +|🟡| np.nonzero(a) (int64) | int64 | 1,000 | 0.0018 | 0.0026 | 0.69× | 144% | +|🟡| np.nonzero(a) (int64) | int64 | 100,000 | 0.1073 | 0.2034 | 0.53× | 190% | +|✅| np.nonzero(a) (int64) | int64 | 10,000,000 | 23.7474 | 18.2560 | 1.30× | 77% | +|✅| np.searchsorted(a, v) (float32) | float32 | 1,000 | 0.0083 | 0.0053 | 1.56× | 64% | +|✅| np.searchsorted(a, v) (float32) | float32 | 100,000 | 2.0222 | 1.7299 | 1.17× | 86% | +|✅| np.searchsorted(a, v) (float32) | float32 | 10,000,000 | 312.1823 | 191.5647 | 1.63× | 61% | +|✅| np.searchsorted(a, v) (float64) | float64 | 1,000 | 0.0083 | 0.0053 | 1.56× | 64% | +|✅| np.searchsorted(a, v) (float64) | float64 | 100,000 | 2.0961 | 1.7424 | 1.20× | 83% | +|✅| np.searchsorted(a, v) (float64) | float64 | 10,000,000 | 310.2307 | 192.5449 | 1.61× | 62% | +|✅| np.searchsorted(a, v) (int32) | int32 | 1,000 | 0.0190 | 0.0075 | 2.54× | 39% | +|✅| np.searchsorted(a, v) (int32) | int32 | 100,000 | 2.8983 | 2.2559 | 1.28× | 78% | +|✅| np.searchsorted(a, v) (int32) | int32 | 10,000,000 | 390.1343 | 243.3194 | 1.60× | 62% | +|✅| np.searchsorted(a, v) (int64) | int64 | 1,000 | 0.0186 | 0.0071 | 2.61× | 38% | +|✅| np.searchsorted(a, v) (int64) | int64 | 100,000 | 2.9016 | 2.2381 | 1.30× | 77% | +|✅| np.searchsorted(a, v) (int64) | int64 | 10,000,000 | 568.2151 | 243.9343 | 2.33× | 43% | + +### LinearAlgebra + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|▫| np.dot(a, b) (float64) | float64 | 1,000 | 0.0007 | 0.0007 | 1.06× | 94% | +|✅| np.dot(a, b) (float64) | float64 | 100,000 | 0.1123 | 0.0093 | 12.05× | 8% | +|🟠| np.dot(a, b) (float64) | float64 | 10,000,000 | 0.8690 | 3.0303 | 0.29× | 349% | +|🟠| np.matmul(A, B) (float64) | float64 | 1,000 | 0.0027 | 0.0060 | 0.45× | 223% | +|🟠| np.matmul(A, B) (float64) | float64 | 100,000 | 0.5771 | 2.7815 | 0.21× | 482% | +|🔴| np.matmul(A, B) (float64) | float64 | 10,000,000 | 0.6896 | 4.4742 | 0.15× | 649% | +|🟠| np.outer(a, b) (float64) | float64 | 1,000 | 0.0022 | 0.0061 | 0.35× | 284% | +|🟡| np.outer(a, b) (float64) | float64 | 100,000 | 0.0380 | 0.0708 | 0.54× | 186% | +|✅| np.outer(a, b) (float64) | float64 | 10,000,000 | 13.4954 | 11.7542 | 1.15× | 87% | + +### Selection + +| | Operation | Type | N | NumPy (ms) | NumSharp (ms) | Ratio | %NumPy🕐 | +|:-:|-----------|:----:|----:|----------:|-------------:|------:|--------:| +|▫| np.where(cond) (float64) | float64 | 1,000 | 0.0009 | 0.0014 | 0.66× | 152% | +|🟠| np.where(cond) (float64) | float64 | 100,000 | 0.0294 | 0.0981 | 0.30× | 333% | +|✅| np.where(cond) (float64) | float64 | 10,000,000 | 7.4500 | 6.9913 | 1.07× | 94% | +|🟡| np.where(cond, a, b) (float64) | float64 | 1,000 | 0.0017 | 0.0020 | 0.85× | 117% | +|🟡| np.where(cond, a, b) (float64) | float64 | 100,000 | 0.0399 | 0.0688 | 0.58× | 173% | +|✅| np.where(cond, a, b) (float64) | float64 | 10,000,000 | 17.1294 | 14.8189 | 1.16× | 86% | + +--- + +## NDIter iterator benchmark + +_Complementary harness: measures the iterator machinery itself (construction, traversal, reductions, selection, dtypes, pathologies, dividends) across cache tiers — not part of the op/dtype/N matrix above. speedup = NumPy / NumSharp; NA = section ignored due to a known intermittent NumSharp AccessViolation._ + +``` +NumSharp NDIter — canonical benchmark · 2026-06-29 · speedup = NumPy ÷ NumSharp (>1.0× = NumSharp faster) +198 measured pairs (35 NA) · best-of-rounds, Release · matched kernels/ids +%NumPy🕐 = NumSharp ÷ NumPy × 100 = share of NumPy's time NumSharp uses (8% = takes only 8% as long; <100% = faster) + +AV POLICY — a NumSharp section that crashes all retries (known intermittent +AccessViolation, an unmanaged-storage lifetime bug) is reported NA / IGNORED +and excluded from every geomean below. THIS RUN: NA across selection. + +HEADLINE — operation matrix: 1.20× geomean · 83%🕐 of NumPy's time · 77 win / 53 lose over 130 cells + +OPERATIONS — BY SIZE TIER (geomean over all families) + slower ◄───────── 1.0 (parity) ─────────► faster +scalar ████████████▌ ...... 1.26× 79%🕐 ( 17 win / 9 lose) +1K ███████████▌ ....... 1.16× 86%🕐 ( 15 win / 11 lose) +100K ██████████▋ ........ 1.07× 94%🕐 ( 12 win / 14 lose) +1M ████████████▉ ...... 1.30× 77%🕐 ( 17 win / 9 lose) +10M ████████████▎ ...... 1.23× 82%🕐 ( 16 win / 10 lose) +ALL ███████████▉ ....... 1.20× 83%🕐 ( 77 win / 53 lose) + +OPERATIONS — BY CATEGORY (geomean over its families, all sizes) + slower ◄───────── 1.0 (parity) ─────────► faster +elementwise████████████▊ ...... 1.28× 78%🕐 ( 31 win / 9 lose) +reductions █████████████████▍ 1.74× 57%🕐 ( 29 win / 11 lose) +selection (no data) +copy/cast ███████▎ ........... 0.73× 138%🕐 ( 9 win / 16 lose) ◄ SLOWER +index-math ███████▋ ........... 0.77× 130%🕐 ( 4 win / 6 lose) ◄ SLOWER +dtypes ███████████▌ ....... 1.16× 86%🕐 ( 4 win / 11 lose) + +CATEGORY × TIER geomean +category scalar 1K 100K 1M 10M +elementwise 1.65× 1.54× 1.14× 1.10× 1.08× +reductions 2.68× 2.00× 1.51× 1.43× 1.38× +selection - - - - - +copy/cast 0.59× 0.53× 0.41× 1.40× 1.12× +index-math 0.34× 0.51× 0.99× 1.23× 1.26× +dtypes 0.70× 0.81× 1.87× 1.39× 1.44× + +PER-FAMILY × TIER (NumPy ÷ NumSharp; >1.0 = NumSharp faster) +family scalar 1K 100K 1M 10M geomean +-- elementwise + add 1.61× 1.43× 0.96× 1.00× 1.02× 1.18× + sqrt 1.67× 1.16× 1.01× 1.00× 1.01× 1.15× + copy 1.67× 2.35× 1.62× 1.39× 1.64× 1.71× + strided 1.65× 1.28× 0.93× 1.01× 0.99× 1.15× + bcast 1.68× 1.32× 0.89× 0.95× 0.95× 1.12× + reversed 1.65× 1.26× 0.93× 0.99× 0.95× 1.13× + castbuf 1.87× 2.20× 1.63× 1.36× 1.12× 1.59× + mixbuf 1.42× 1.72× 1.41× 1.20× 1.07× 1.35× +-- reductions + sum 1.92× 1.85× 2.58× 1.76× 1.60× 1.92× + sum ax0 1.71× 0.86× 1.10× 0.96× 0.96× 1.09× + sum ax1 1.81× 0.92× 1.52× 1.79× 1.58× 1.48× + sum dt= 1.89× 1.35× 0.48× 0.46× 0.54× 0.79× + amin 1.69× 1.62× 0.71× 0.71× 0.76× 1.01× + cumsum 1.35× 1.13× 1.07× 1.87× 1.65× 1.38× + any(F) 10.04× 8.39× 2.00× 1.23× 1.00× 2.90× + any(hit) 10.25× 8.49× 8.50× 7.88× 7.98× 8.58× +-- selection + where NA NA NA NA NA + a[mask] NA NA NA NA NA + a[mask]= NA NA NA NA NA + count_nz NA NA NA NA NA + argwhere NA NA NA NA NA + a[idx] NA NA NA NA NA + a[idx]= NA NA NA NA NA +-- copy/cast + flatten 0.41× 0.33× 0.17× 2.21× 1.13× 0.56× + astype 0.31× 0.53× 0.54× 1.94× 1.89× 0.80× + ravel.T 0.50× 0.58× 0.53× 2.22× 1.09× 0.82× + in-place 1.45× 0.77× 0.96× 1.03× 1.04× 1.03× + less->b 0.81× 0.52× 0.25× 0.55× 0.75× 0.53× +-- index-math + unravel 0.36× 0.50× 0.96× 1.00× 1.04× 0.71× + ravel_mi 0.32× 0.53× 1.01× 1.53× 1.54× 0.83× +-- dtypes + complex 0.71× 0.58× 0.97× 0.77× 0.93× 0.78× + float16 0.72× 0.64× 0.58× 0.56× 0.57× 0.61× + int8 0.66× 1.43× 11.53× 6.16× 5.66× 3.28× + +CONSTRUCTION — iterator build+dispose vs np.nditer (size-invariant, 1K) + slower ◄───────── 1.0 (parity) ─────────► faster +1op █████████▋ ......... 0.97× 103%🕐 ( 0 win / 1 lose) ◄ SLOWER +3op_exl ███████████████████▶ 2.44× 41%🕐 ( 1 win / 0 lose) +ufunc ███████████████████▶ 2.91× 34%🕐 ( 1 win / 0 lose) +bufcast ███████████████████▶ 2.56× 39%🕐 ( 1 win / 0 lose) +multiindex █████████████▉ ..... 1.40× 72%🕐 ( 1 win / 0 lose) +8op ███████████████████▶ 3.67× 27%🕐 ( 1 win / 0 lose) +4d █████████████████▊ 1.78× 56%🕐 ( 1 win / 0 lose) +8d ██████████████████▌ 1.85× 54%🕐 ( 1 win / 0 lose) +strided2d ███████████████████▌ 1.95× 51%🕐 ( 1 win / 0 lose) +geomean ███████████████████▶ 2.03× 49%🕐 ( 8 win / 1 lose) + +CHUNK-WIDTH dispatch — strided rows, 2M total, inner width w (NumPy = np.positive) + slower ◄───────── 1.0 (parity) ─────────► faster +w=4 ██████▉ ............ 0.69× 145%🕐 ( 0 win / 1 lose) ◄ SLOWER +w=16 █████████▊ ......... 0.98× 102%🕐 ( 0 win / 1 lose) ◄ PARITY +w=64 ██████████▏ ........ 1.02× 98%🕐 ( 1 win / 0 lose) ◄ PARITY +w=256 ██████████████▌ .... 1.45× 69%🕐 ( 1 win / 0 lose) +w=1024 █████████████ ...... 1.31× 76%🕐 ( 1 win / 0 lose) + +PATHOLOGY canaries — known taxes/losses to track (NumPy ÷ NumSharp) + bcast_reduce 522.42× (522.4× faster, faster) + allocate 1.06× (1.1× faster, faster) + overlap_copy 1.77× (1.8× faster, faster) + forder_out 1.17× (1.2× faster, faster) + zerodim 1.55× (1.6× faster, faster) + +DIVIDENDS — NumSharp-only machinery (NumPy baseline = closest it can do) + scalar 1K 100K 1M 10M note +fuse7 12.55× 3.86× 1.44× 1.67× 2.09× vs chained 6× add +reuse 6.06× 6.12× 1.07× 1.00× 1.00× vs rebuild each call +par8 - 0.67× 2.78× 3.95× 5.40× vs single-thread + +biggest NumSharp wins: i8@100K 11.53× · anyeh@1 10.25× · anyff@1 10.04× · anyeh@100K 8.50× · anyeh@1K 8.49× +most behind: flatten@100K 0.17× · lessbool@100K 0.25× · astype@1 0.31× · ravelmi@1 0.32× · flatten@1K 0.33× +``` + + +--- + +## Layout suite — reduction / copy / elementwise × memory layout × dtype + +ratio = NumPy_ms / NumSharp_ms — **>1.0 = NumSharp faster**. ✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2. +Layouts (8, harmonized with the cast subsystem): `C`, `F` (Fortran), `T` (transpose), `strided` `[:, ::2]`, `sliced` (offset), `negrow` `[::-1,:]`, `negcol` `[:,::-1]`, `bcast` (stride-0). Fills the op-matrix's blind spot (it measures C-contiguous only). 100K + 1M elements, best-of-rounds. + +### Reduction (sum/min/max/prod, both axes) + +**Geomean by lay** + +| size | C | F | T | strided | negrow | negcol | sliced | bcast | +|---|---|---|---|---|---|---|---|---| +| 100K | 0.99 🟡 | 1.02 ✅ | 1.02 ✅ | 0.55 🟡 | 0.70 🟡 | 0.70 🟡 | 0.72 🟡 | 0.74 🟡 | +| 1M | 0.95 🟡 | 0.94 🟡 | 0.95 🟡 | 0.65 🟡 | 0.87 🟡 | 0.73 🟡 | 0.75 🟡 | 0.68 🟡 | + +**Geomean by dt** + +| size | f64 | f32 | c128 | dec | f16 | i32 | i64 | +|---|---|---|---|---|---|---|---| +| 100K | 0.87 🟡 | 1.00 🟡 | 0.98 🟡 | 0.08 🔴 | 1.03 ✅ | 1.33 ✅ | 1.14 ✅ | +| 1M | 1.12 ✅ | 1.15 ✅ | 1.04 ✅ | 0.07 🔴 | 1.02 ✅ | 1.19 ✅ | 1.02 ✅ | + +**Geomean by op** + +| size | sum | min | max | prod | +|---|---|---|---|---| +| 100K | 0.80 🟡 | 0.66 🟡 | 0.66 🟡 | 1.19 ✅ | +| 1M | 0.84 🟡 | 0.65 🟡 | 0.64 🟡 | 1.28 ✅ | + +**Worst 15 cells (NumSharp slowest vs NumPy)** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 1M\|dec\|bcast\|sum\|ax0 | 5.5269 | 0.0655 | 0.01 🔴 | +| 100K\|dec\|bcast\|sum\|ax0 | 0.5555 | 0.0087 | 0.02 🔴 | +| 100K\|dec\|F\|sum\|ax1 | 0.5585 | 0.0094 | 0.02 🔴 | +| 100K\|dec\|C\|sum\|ax0 | 0.5615 | 0.0111 | 0.02 🔴 | +| 100K\|dec\|T\|sum\|ax1 | 0.5582 | 0.0111 | 0.02 🔴 | +| 100K\|dec\|negrow\|sum\|ax0 | 0.5592 | 0.0114 | 0.02 🔴 | +| 100K\|dec\|sliced\|sum\|ax0 | 0.5517 | 0.0115 | 0.02 🔴 | +| 1M\|dec\|sliced\|sum\|ax0 | 5.5802 | 0.1240 | 0.02 🔴 | +| 1M\|dec\|negrow\|sum\|ax0 | 5.5707 | 0.1242 | 0.02 🔴 | +| 1M\|dec\|F\|sum\|ax1 | 5.6157 | 0.1254 | 0.02 🔴 | +| 1M\|dec\|T\|sum\|ax1 | 5.5849 | 0.1278 | 0.02 🔴 | +| 1M\|dec\|C\|sum\|ax0 | 5.5736 | 0.1524 | 0.03 🔴 | +| 100K\|dec\|C\|min\|ax0 | 0.3021 | 0.0141 | 0.05 🔴 | +| 1M\|dec\|negcol\|sum\|ax0 | 5.6678 | 0.2866 | 0.05 🔴 | +| 100K\|dec\|negcol\|sum\|ax0 | 0.5594 | 0.0302 | 0.05 🔴 | + +### Copy / identity-ufunc (np.positive) + +**Geomean by lay** + +| size | C | F | T | strided | sliced | negrow | negcol | bcast | +|---|---|---|---|---|---|---|---|---| +| 100K | 1.22 ✅ | 1.51 ✅ | 1.28 ✅ | 0.83 🟡 | 1.54 ✅ | 1.48 ✅ | 2.20 ✅ | 1.62 ✅ | +| 1M | 2.82 ✅ | 2.89 ✅ | 2.88 ✅ | 2.08 ✅ | 2.58 ✅ | 2.64 ✅ | 3.16 ✅ | 2.66 ✅ | + +**Geomean by dt** + +| size | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 100K | 0.92 🟡 | 1.03 ✅ | 1.51 ✅ | 1.99 ✅ | 1.02 ✅ | 1.09 ✅ | 1.65 ✅ | 1.08 ✅ | 2.56 ✅ | 2.47 ✅ | 1.15 ✅ | 0.85 🟡 | 2.56 ✅ | +| 1M | 4.60 ✅ | 4.87 ✅ | 2.13 ✅ | 2.14 ✅ | 2.11 ✅ | 2.12 ✅ | 2.56 ✅ | 2.46 ✅ | 2.20 ✅ | 2.10 ✅ | 2.14 ✅ | 2.59 ✅ | 5.47 ✅ | + +**Worst 15 cells (NumSharp slowest vs NumPy)** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 100K\|f64\|strided\|pos | 0.0243 | 0.0100 | 0.41 🟠 | +| 100K\|u64\|strided\|pos | 0.0241 | 0.0110 | 0.46 🟠 | +| 100K\|i64\|strided\|pos | 0.0237 | 0.0109 | 0.46 🟠 | +| 100K\|f32\|strided\|pos | 0.0216 | 0.0100 | 0.46 🟠 | +| 100K\|i32\|strided\|pos | 0.0213 | 0.0110 | 0.52 🟡 | +| 100K\|i64\|C\|pos | 0.0400 | 0.0210 | 0.53 🟡 | +| 100K\|i64\|T\|pos | 0.0387 | 0.0208 | 0.54 🟡 | +| 100K\|i8\|sliced\|pos | 0.0423 | 0.0228 | 0.54 🟡 | +| 100K\|u8\|bcast\|pos | 0.0416 | 0.0229 | 0.55 🟡 | +| 100K\|u8\|sliced\|pos | 0.0410 | 0.0227 | 0.55 🟡 | +| 100K\|u8\|negrow\|pos | 0.0410 | 0.0231 | 0.56 🟡 | +| 100K\|u32\|strided\|pos | 0.0191 | 0.0109 | 0.57 🟡 | +| 100K\|f64\|T\|pos | 0.0389 | 0.0227 | 0.58 🟡 | +| 100K\|f64\|F\|pos | 0.0362 | 0.0227 | 0.63 🟡 | +| 100K\|f64\|C\|pos | 0.0361 | 0.0228 | 0.63 🟡 | + +### Elementwise (add/mul/neg/abs/sqrt/less/copy) + +**Geomean by lay** + +| size | C | F | T | strided | sliced | negrow | negcol | bcast | +|---|---|---|---|---|---|---|---|---| +| 100K | 0.73 🟡 | 0.70 🟡 | 0.68 🟡 | 0.53 🟡 | 0.84 🟡 | 0.85 🟡 | 1.18 ✅ | 0.85 🟡 | +| 1M | 1.54 ✅ | 1.48 ✅ | 1.48 ✅ | 1.12 ✅ | 1.64 ✅ | 1.65 ✅ | 1.80 ✅ | 1.63 ✅ | + +**Geomean by dt** + +| size | f64 | f32 | c128 | f16 | i32 | i64 | +|---|---|---|---|---|---|---| +| 100K | 0.67 🟡 | 0.57 🟡 | 1.15 ✅ | 0.75 🟡 | 0.82 🟡 | 0.81 🟡 | +| 1M | 1.86 ✅ | 1.53 ✅ | 1.73 ✅ | 0.94 🟡 | 1.54 ✅ | 1.79 ✅ | + +**Geomean by op** + +| size | add | mul | neg | abs | sqrt | less | copy | +|---|---|---|---|---|---|---|---| +| 100K | 1.04 ✅ | 0.99 🟡 | 0.76 🟡 | 0.74 🟡 | 0.94 🟡 | 0.61 🟡 | 0.51 🟡 | +| 1M | 1.81 ✅ | 1.78 ✅ | 2.11 ✅ | 1.62 ✅ | 1.50 ✅ | 0.68 🟡 | 1.75 ✅ | + +**Worst 15 cells (NumSharp slowest vs NumPy)** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 100K\|f64\|strided\|abs | 0.0466 | 0.0077 | 0.17 🔴 | +| 100K\|f64\|strided\|neg | 0.0473 | 0.0088 | 0.19 🔴 | +| 100K\|i32\|bcast\|copy | 0.0233 | 0.0050 | 0.21 🟠 | +| 100K\|f16\|bcast\|copy | 0.0134 | 0.0030 | 0.22 🟠 | +| 100K\|f16\|negrow\|copy | 0.0168 | 0.0038 | 0.23 🟠 | +| 100K\|f32\|C\|copy | 0.0244 | 0.0059 | 0.24 🟠 | +| 100K\|i64\|strided\|neg | 0.0296 | 0.0076 | 0.26 🟠 | +| 100K\|f64\|strided\|copy | 0.0413 | 0.0108 | 0.26 🟠 | +| 100K\|f64\|negrow\|copy | 0.0595 | 0.0160 | 0.27 🟠 | +| 100K\|f16\|sliced\|copy | 0.0134 | 0.0037 | 0.27 🟠 | +| 100K\|f64\|sliced\|copy | 0.0592 | 0.0162 | 0.27 🟠 | +| 100K\|i32\|negrow\|copy | 0.0234 | 0.0064 | 0.28 🟠 | +| 100K\|f32\|C\|add | 0.0240 | 0.0066 | 0.28 🟠 | +| 100K\|f64\|strided\|mul | 0.0509 | 0.0142 | 0.28 🟠 | +| 100K\|f64\|strided\|add | 0.0516 | 0.0147 | 0.28 🟠 | + + +--- + +## Operand & broadcast layouts — 1-D / scalar / mixed-operand / broadcast + +The layout classes the per-operand layout grid (benchmark/layout) can't express. ratio = NumPy_ms / NumSharp_ms — **>1.0 = NumSharp faster**. ✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2. 1M elements, best-of-3. + +| case | f64 | f32 | f16 | i32 | i64 | c128 | geomean | +|---|---|---|---|---|---|---|---| +| 1-D contiguous (a+a) | 2.41 ✅ | 2.16 ✅ | 0.63 🟡 | 2.13 ✅ | 2.45 ✅ | 2.35 ✅ | 1.85 ✅ | +| 1-D strided a[::2] | 1.84 ✅ | 1.46 ✅ | 0.53 🟡 | 1.51 ✅ | 1.81 ✅ | 1.93 ✅ | 1.40 ✅ | +| 1-D reversed a[::-1] | 2.49 ✅ | 1.95 ✅ | 0.56 🟡 | 2.14 ✅ | 2.29 ✅ | 2.22 ✅ | 1.76 ✅ | +| array + scalar | 2.72 ✅ | 1.93 ✅ | 0.63 🟡 | 1.91 ✅ | 2.26 ✅ | 2.64 ✅ | 1.83 ✅ | +| scalar + array | 2.40 ✅ | 1.98 ✅ | 0.64 🟡 | 2.01 ✅ | 2.19 ✅ | 2.69 ✅ | 1.82 ✅ | +| mixed C + F | 2.29 ✅ | 2.02 ✅ | 0.62 🟡 | 2.02 ✅ | 2.09 ✅ | 1.87 ✅ | 1.68 ✅ | +| mixed C + T | 2.53 ✅ | 2.04 ✅ | 0.62 🟡 | 2.01 ✅ | 2.33 ✅ | 2.30 ✅ | 1.80 ✅ | +| binary broadcast +row(1,C) | 2.71 ✅ | 2.09 ✅ | 0.63 🟡 | 1.95 ✅ | 2.52 ✅ | 2.58 ✅ | 1.89 ✅ | +| binary broadcast +col(R,1) | 2.61 ✅ | 2.02 ✅ | 0.56 🟡 | 2.07 ✅ | 2.54 ✅ | 2.96 ✅ | 1.89 ✅ | +| col-broadcast unary (inner stride-0) | 2.54 ✅ | 1.56 ✅ | 0.88 🟡 | 1.65 ✅ | 2.64 ✅ | 6.22 ✅ | 2.13 ✅ | + +**Worst 12 cells** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 1d_strided|f16 | 2.6261 | 1.3926 | 0.53 🟡 | +| 1d_rev|f16 | 5.2838 | 2.9653 | 0.56 🟡 | +| bcast_col|f16 | 5.2887 | 2.9837 | 0.56 🟡 | +| mix_C_T|f16 | 5.3031 | 3.2873 | 0.62 🟡 | +| mix_C_F|f16 | 5.3153 | 3.3015 | 0.62 🟡 | +| 1d_C|f16 | 4.7456 | 2.9682 | 0.63 🟡 | +| bcast_row|f16 | 4.7695 | 2.9999 | 0.63 🟡 | +| scalar_rhs|f16 | 4.7058 | 2.9602 | 0.63 🟡 | +| scalar_lhs|f16 | 4.6383 | 2.9742 | 0.64 🟡 | +| colbcast_unary|f16 | 0.4753 | 0.4173 | 0.88 🟡 | +| 1d_strided|f32 | 0.2366 | 0.3444 | 1.46 ✅ | +| 1d_strided|i32 | 0.2433 | 0.3676 | 1.51 ✅ | + +_60 comparable cells._ + + +--- + +## Cast matrix — astype src→dst × layout × dtype + +Full `astype(dst, copy:true)` sweep over every src→dst dtype pair × 8 memory layouts at 1M elements, best-of-3. ratio = NumPy_ms / NumSharp_ms — **>1.0 = NumSharp faster**. +✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2 · `—` = no NumPy counterpart (Decimal has no NumPy dtype). + +## Summary + +- **118 / 1568** comparable cells lag (<1.0); **1450** win (≥1.0). +- **🔴 <0.2** — 0 cells. +- **🟠 0.2–0.5** — 1 cells. Top: 1× * → bool +- **🟡 0.5–1.0** — 117 cells. Top: 23× int → sub-word (narrow); 21× float/cplx → narrow-int (bool/u8/i8/i16/u16/char); 8× f16 → f64 + +**float/complex → narrow-int geomean by src** (the historical cliff): `f32`→narrow **1.96**, `f64`→narrow **1.38**, `f16`→narrow **3.71**, `c128`→narrow **1.08**. + +## Geomean by layout (all src×dst, excl. Decimal) + +| C | F | T | sliced | negrow | negcol | strided | bcast | +|---|---|---|---|---|---|---|---| +| 1.86 ✅ | 1.88 ✅ | 1.93 ✅ | 1.95 ✅ | 1.97 ✅ | 1.82 ✅ | 1.47 ✅ | 2.25 ✅ | + +## Geomean by src dtype (all layouts×dst) + +| bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 2.35 ✅ | 2.18 ✅ | 2.16 ✅ | 2.19 ✅ | 2.14 ✅ | 1.92 ✅ | 1.88 ✅ | 1.62 ✅ | 1.55 ✅ | 1.98 ✅ | 2.36 ✅ | 1.75 ✅ | 1.43 ✅ | nan ? | 1.23 ✅ | + +## Geomean by dst dtype (all layouts×src) + +| bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 2.17 ✅ | 1.94 ✅ | 1.93 ✅ | 1.61 ✅ | 1.60 ✅ | 1.80 ✅ | 1.64 ✅ | 1.89 ✅ | 1.73 ✅ | 1.60 ✅ | 2.48 ✅ | 1.60 ✅ | 2.03 ✅ | nan ? | 2.59 ✅ | + +## Layout: C (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.04✅ | 2.60✅ | 2.76✅ | 2.10✅ | 1.98✅ | 1.53✅ | 1.46✅ | 2.04✅ | 2.25✅ | 1.73✅ | 3.29✅ | 1.71✅ | 2.49✅ | — | 2.94✅ | +| **u8** | 3.55✅ | 1.55✅ | 3.56✅ | 1.69✅ | 1.83✅ | 2.01✅ | 1.89✅ | 2.21✅ | 2.47✅ | 1.62✅ | 3.90✅ | 1.38✅ | 2.41✅ | — | 3.07✅ | +| **i8** | 2.61✅ | 3.17✅ | 0.91🟡 | 1.82✅ | 1.76✅ | 1.95✅ | 1.95✅ | 2.35✅ | 2.66✅ | 1.76✅ | 3.94✅ | 1.79✅ | 2.64✅ | — | 2.98✅ | +| **i16** | 2.20✅ | 2.29✅ | 2.59✅ | 1.39✅ | 2.11✅ | 2.09✅ | 1.95✅ | 2.42✅ | 2.52✅ | 1.57✅ | 3.71✅ | 1.92✅ | 2.61✅ | — | 2.79✅ | +| **u16** | 2.22✅ | 2.80✅ | 2.81✅ | 2.12✅ | 1.24✅ | 2.09✅ | 2.14✅ | 2.63✅ | 2.22✅ | 1.08✅ | 3.71✅ | 1.93✅ | 2.46✅ | — | 2.97✅ | +| **i32** | 1.50✅ | 1.15✅ | 1.16✅ | 1.46✅ | 1.51✅ | 1.70✅ | 2.12✅ | 2.26✅ | 2.27✅ | 1.43✅ | 3.64✅ | 1.64✅ | 2.62✅ | — | 2.86✅ | +| **u32** | 1.77✅ | 1.18✅ | 1.17✅ | 1.35✅ | 1.44✅ | 2.17✅ | 1.65✅ | 2.19✅ | 2.29✅ | 1.48✅ | 3.66✅ | 1.47✅ | 2.34✅ | — | 2.69✅ | +| **i64** | 1.08✅ | 0.98🟡 | 0.96🟡 | 1.23✅ | 1.27✅ | 1.83✅ | 1.78✅ | 1.87✅ | 2.76✅ | 1.38✅ | 1.81✅ | 1.81✅ | 2.22✅ | — | 2.52✅ | +| **u64** | 1.14✅ | 0.92🟡 | 0.95🟡 | 1.22✅ | 1.18✅ | 1.73✅ | 1.73✅ | 2.56✅ | 2.09✅ | 1.30✅ | 1.65✅ | 1.14✅ | 1.79✅ | — | 2.45✅ | +| **char** | 2.07✅ | 2.02✅ | 2.14✅ | 1.49✅ | 0.97🟡 | 1.55✅ | 1.53✅ | 2.26✅ | 2.20✅ | 1.21✅ | 3.67✅ | 1.42✅ | 2.11✅ | — | 2.62✅ | +| **f16** | 4.51✅ | 5.42✅ | 5.35✅ | 3.82✅ | 3.94✅ | 3.80✅ | 1.96✅ | 2.94✅ | 0.99🟡 | 4.16✅ | 1.25✅ | 1.10✅ | 0.92🟡 | — | 1.64✅ | +| **f32** | 2.82✅ | 1.92✅ | 2.05✅ | 1.64✅ | 1.55✅ | 1.84✅ | 1.38✅ | 0.83🟡 | 0.87🟡 | 1.48✅ | 3.59✅ | 1.76✅ | 2.21✅ | — | 2.35✅ | +| **f64** | 1.81✅ | 0.81🟡 | 0.81🟡 | 1.32✅ | 1.29✅ | 1.68✅ | 1.51✅ | 0.86🟡 | 0.89🟡 | 1.38✅ | 1.04✅ | 1.72✅ | 2.05✅ | — | 2.60✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.11✅ | 0.93🟡 | 0.94🟡 | 1.19✅ | 1.13✅ | 1.69✅ | 1.35✅ | 0.92🟡 | 0.84🟡 | 1.10✅ | 1.50✅ | 1.39✅ | 1.75✅ | — | 3.18✅ | + +## Layout: F (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 0.24🟠 | 2.72✅ | 2.71✅ | 1.94✅ | 1.91✅ | 1.43✅ | 1.42✅ | 2.24✅ | 2.40✅ | 1.89✅ | 4.03✅ | 1.74✅ | 2.55✅ | — | 2.98✅ | +| **u8** | 4.01✅ | 1.11✅ | 3.48✅ | 1.70✅ | 1.71✅ | 2.07✅ | 2.06✅ | 2.11✅ | 2.33✅ | 1.62✅ | 3.89✅ | 1.39✅ | 2.49✅ | — | 3.06✅ | +| **i8** | 3.53✅ | 3.24✅ | 1.05✅ | 1.93✅ | 1.80✅ | 2.14✅ | 2.13✅ | 2.59✅ | 2.51✅ | 1.71✅ | 3.88✅ | 1.77✅ | 2.40✅ | — | 2.95✅ | +| **i16** | 1.87✅ | 2.06✅ | 2.52✅ | 1.31✅ | 1.98✅ | 1.84✅ | 2.01✅ | 2.59✅ | 2.39✅ | 2.19✅ | 3.71✅ | 2.05✅ | 2.39✅ | — | 3.01✅ | +| **u16** | 2.26✅ | 2.74✅ | 2.63✅ | 1.93✅ | 1.27✅ | 1.88✅ | 2.02✅ | 2.68✅ | 2.26✅ | 1.35✅ | 3.65✅ | 1.96✅ | 2.17✅ | — | 2.85✅ | +| **i32** | 1.69✅ | 1.11✅ | 1.18✅ | 1.48✅ | 1.49✅ | 1.76✅ | 2.17✅ | 2.46✅ | 2.48✅ | 1.50✅ | 3.90✅ | 1.72✅ | 2.33✅ | — | 2.85✅ | +| **u32** | 1.85✅ | 1.13✅ | 1.06✅ | 1.54✅ | 1.43✅ | 2.15✅ | 1.64✅ | 2.31✅ | 2.26✅ | 1.50✅ | 3.87✅ | 1.55✅ | 2.16✅ | — | 2.46✅ | +| **i64** | 1.11✅ | 0.94🟡 | 0.92🟡 | 1.17✅ | 1.26✅ | 1.88✅ | 1.75✅ | 2.16✅ | 2.70✅ | 1.28✅ | 1.87✅ | 1.55✅ | 2.17✅ | — | 2.24✅ | +| **u64** | 1.15✅ | 0.92🟡 | 0.94🟡 | 1.21✅ | 1.13✅ | 1.73✅ | 1.73✅ | 2.46✅ | 2.05✅ | 1.39✅ | 2.48✅ | 1.14✅ | 1.76✅ | — | 2.34✅ | +| **char** | 2.08✅ | 2.63✅ | 2.03✅ | 1.90✅ | 1.20✅ | 1.67✅ | 1.69✅ | 2.52✅ | 2.46✅ | 1.20✅ | 3.60✅ | 1.41✅ | 2.10✅ | — | 2.89✅ | +| **f16** | 4.49✅ | 6.02✅ | 6.33✅ | 3.79✅ | 4.31✅ | 3.73✅ | 2.06✅ | 2.85✅ | 1.11✅ | 4.33✅ | 1.24✅ | 2.44✅ | 0.95🟡 | — | 1.62✅ | +| **f32** | 3.44✅ | 2.12✅ | 2.26✅ | 1.62✅ | 1.64✅ | 1.92✅ | 1.35✅ | 0.82🟡 | 0.84🟡 | 1.69✅ | 3.63✅ | 1.67✅ | 2.21✅ | — | 2.26✅ | +| **f64** | 1.90✅ | 1.27✅ | 1.33✅ | 1.40✅ | 1.43✅ | 1.95✅ | 1.47✅ | 0.87🟡 | 0.90🟡 | 1.41✅ | 1.61✅ | 1.73✅ | 2.05✅ | — | 2.69✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 0.99🟡 | 0.91🟡 | 0.88🟡 | 1.15✅ | 1.07✅ | 1.57✅ | 1.33✅ | 0.96🟡 | 0.81🟡 | 1.09✅ | 1.49✅ | 1.15✅ | 1.75✅ | — | 3.26✅ | + +## Layout: T (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.40✅ | 3.39✅ | 3.74✅ | 1.71✅ | 1.80✅ | 1.47✅ | 1.41✅ | 2.31✅ | 2.32✅ | 1.91✅ | 4.20✅ | 1.78✅ | 2.68✅ | — | 2.99✅ | +| **u8** | 3.94✅ | 1.21✅ | 2.55✅ | 1.68✅ | 1.68✅ | 2.05✅ | 1.92✅ | 2.21✅ | 2.56✅ | 1.67✅ | 3.98✅ | 1.41✅ | 2.41✅ | — | 2.98✅ | +| **i8** | 2.58✅ | 3.43✅ | 0.85🟡 | 1.84✅ | 1.75✅ | 2.01✅ | 2.12✅ | 2.50✅ | 2.42✅ | 1.76✅ | 3.79✅ | 1.80✅ | 2.46✅ | — | 3.04✅ | +| **i16** | 2.29✅ | 2.12✅ | 3.21✅ | 1.25✅ | 2.11✅ | 2.01✅ | 2.04✅ | 2.43✅ | 2.25✅ | 2.00✅ | 3.86✅ | 2.02✅ | 2.46✅ | — | 3.02✅ | +| **u16** | 2.23✅ | 2.51✅ | 2.45✅ | 1.91✅ | 1.26✅ | 2.03✅ | 1.99✅ | 2.44✅ | 2.39✅ | 1.44✅ | 3.67✅ | 1.90✅ | 2.29✅ | — | 2.50✅ | +| **i32** | 1.77✅ | 1.13✅ | 1.19✅ | 1.52✅ | 1.52✅ | 1.69✅ | 2.31✅ | 2.07✅ | 2.11✅ | 1.66✅ | 3.96✅ | 1.65✅ | 2.57✅ | — | 2.95✅ | +| **u32** | 1.89✅ | 1.16✅ | 1.16✅ | 1.49✅ | 1.47✅ | 2.25✅ | 1.72✅ | 2.18✅ | 2.15✅ | 1.47✅ | 3.71✅ | 1.49✅ | 2.27✅ | — | 2.82✅ | +| **i64** | 1.28✅ | 1.04✅ | 0.93🟡 | 1.25✅ | 1.27✅ | 1.79✅ | 1.78✅ | 2.09✅ | 2.64✅ | 1.33✅ | 1.86✅ | 1.74✅ | 2.23✅ | — | 2.69✅ | +| **u64** | 1.20✅ | 0.94🟡 | 0.95🟡 | 1.21✅ | 1.16✅ | 1.79✅ | 1.62✅ | 2.52✅ | 2.00✅ | 1.36✅ | 2.47✅ | 1.12✅ | 1.90✅ | — | 2.54✅ | +| **char** | 2.14✅ | 2.15✅ | 2.63✅ | 1.84✅ | 1.22✅ | 1.61✅ | 1.62✅ | 2.24✅ | 2.47✅ | 1.31✅ | 3.50✅ | 1.44✅ | 2.32✅ | — | 2.56✅ | +| **f16** | 5.17✅ | 6.28✅ | 6.15✅ | 4.27✅ | 4.26✅ | 3.56✅ | 2.03✅ | 3.02✅ | 1.14✅ | 4.33✅ | 1.18✅ | 2.84✅ | 1.00🟡 | — | 1.65✅ | +| **f32** | 3.33✅ | 2.16✅ | 2.30✅ | 1.77✅ | 1.63✅ | 2.04✅ | 1.38✅ | 0.83🟡 | 0.86🟡 | 1.63✅ | 3.75✅ | 1.70✅ | 2.56✅ | — | 2.20✅ | +| **f64** | 2.00✅ | 1.35✅ | 1.35✅ | 1.37✅ | 1.41✅ | 1.81✅ | 1.48✅ | 0.87🟡 | 0.89🟡 | 1.31✅ | 1.63✅ | 1.74✅ | 1.93✅ | — | 2.61✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.00✅ | 1.11✅ | 1.21✅ | 1.27✅ | 1.18✅ | 1.66✅ | 1.28✅ | 0.90🟡 | 0.85🟡 | 1.11✅ | 1.53✅ | 1.41✅ | 1.79✅ | — | 3.42✅ | + +## Layout: sliced (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.14✅ | 5.84✅ | 5.99✅ | 1.96✅ | 2.00✅ | 1.49✅ | 1.56✅ | 2.38✅ | 2.06✅ | 1.99✅ | 3.95✅ | 1.74✅ | 2.66✅ | — | 3.02✅ | +| **u8** | 2.74✅ | 1.25✅ | 3.91✅ | 1.79✅ | 1.88✅ | 2.24✅ | 2.14✅ | 2.44✅ | 2.55✅ | 1.72✅ | 3.71✅ | 1.40✅ | 2.83✅ | — | 3.17✅ | +| **i8** | 2.96✅ | 3.03✅ | 0.92🟡 | 1.75✅ | 1.74✅ | 1.99✅ | 1.92✅ | 2.30✅ | 2.14✅ | 1.65✅ | 3.86✅ | 1.69✅ | 2.48✅ | — | 3.07✅ | +| **i16** | 2.25✅ | 2.82✅ | 2.56✅ | 1.45✅ | 1.71✅ | 1.93✅ | 1.90✅ | 2.47✅ | 2.50✅ | 1.62✅ | 3.54✅ | 2.06✅ | 2.58✅ | — | 2.85✅ | +| **u16** | 2.98✅ | 2.66✅ | 2.90✅ | 1.46✅ | 1.33✅ | 2.06✅ | 1.96✅ | 2.50✅ | 2.20✅ | 1.36✅ | 3.62✅ | 1.88✅ | 2.45✅ | — | 3.01✅ | +| **i32** | 1.94✅ | 2.20✅ | 2.10✅ | 1.43✅ | 1.54✅ | 1.90✅ | 1.81✅ | 2.14✅ | 2.23✅ | 1.55✅ | 3.70✅ | 1.58✅ | 2.39✅ | — | 2.86✅ | +| **u32** | 1.99✅ | 2.01✅ | 2.13✅ | 1.44✅ | 1.53✅ | 2.02✅ | 1.85✅ | 2.10✅ | 2.22✅ | 1.55✅ | 3.72✅ | 1.47✅ | 2.12✅ | — | 2.74✅ | +| **i64** | 1.20✅ | 1.18✅ | 1.28✅ | 1.42✅ | 1.33✅ | 1.78✅ | 1.78✅ | 2.22✅ | 2.35✅ | 1.42✅ | 1.82✅ | 1.52✅ | 2.36✅ | — | 2.68✅ | +| **u64** | 1.29✅ | 1.24✅ | 1.22✅ | 1.33✅ | 1.30✅ | 1.74✅ | 1.79✅ | 2.14✅ | 2.22✅ | 1.36✅ | 2.39✅ | 0.97🟡 | 1.58✅ | — | 2.45✅ | +| **char** | 2.16✅ | 2.26✅ | 2.43✅ | 1.50✅ | 1.31✅ | 1.61✅ | 1.60✅ | 2.27✅ | 2.32✅ | 1.31✅ | 3.47✅ | 1.42✅ | 2.23✅ | — | 2.80✅ | +| **f16** | 4.70✅ | 4.95✅ | 4.99✅ | 4.11✅ | 4.05✅ | 4.02✅ | 1.97✅ | 3.08✅ | 1.10✅ | 4.21✅ | 1.33✅ | 2.70✅ | 0.96🟡 | — | 1.49✅ | +| **f32** | 3.63✅ | 2.20✅ | 2.35✅ | 1.64✅ | 1.67✅ | 1.90✅ | 1.34✅ | 0.86🟡 | 0.88🟡 | 1.59✅ | 3.62✅ | 1.97✅ | 2.04✅ | — | 2.35✅ | +| **f64** | 2.01✅ | 1.26✅ | 1.31✅ | 1.42✅ | 1.33✅ | 0.70🟡 | 1.49✅ | 0.84🟡 | 0.84🟡 | 1.34✅ | 1.58✅ | 1.71✅ | 2.49✅ | — | 2.58✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 0.97🟡 | 1.07✅ | 0.96🟡 | 1.13✅ | 1.14✅ | 1.72✅ | 1.30✅ | 0.93🟡 | 0.80🟡 | 0.91🟡 | 1.47✅ | 1.40✅ | 1.75✅ | — | 2.20✅ | + +## Layout: negrow (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.38✅ | 4.26✅ | 4.97✅ | 1.92✅ | 2.03✅ | 1.41✅ | 1.57✅ | 2.32✅ | 2.40✅ | 1.98✅ | 3.91✅ | 1.79✅ | 2.59✅ | — | 3.34✅ | +| **u8** | 3.67✅ | 1.14✅ | 3.99✅ | 1.71✅ | 1.63✅ | 2.15✅ | 2.24✅ | 2.37✅ | 2.35✅ | 1.87✅ | 3.81✅ | 1.44✅ | 2.29✅ | — | 3.05✅ | +| **i8** | 3.35✅ | 3.21✅ | 0.97🟡 | 2.04✅ | 1.87✅ | 2.02✅ | 2.04✅ | 2.32✅ | 2.48✅ | 1.72✅ | 3.67✅ | 1.73✅ | 2.58✅ | — | 3.25✅ | +| **i16** | 3.19✅ | 2.80✅ | 2.70✅ | 1.39✅ | 1.68✅ | 1.99✅ | 2.03✅ | 2.29✅ | 2.48✅ | 1.78✅ | 3.72✅ | 2.09✅ | 2.42✅ | — | 3.13✅ | +| **u16** | 2.41✅ | 2.59✅ | 2.35✅ | 1.53✅ | 1.32✅ | 1.77✅ | 1.84✅ | 2.45✅ | 2.56✅ | 1.53✅ | 3.57✅ | 2.04✅ | 2.46✅ | — | 2.82✅ | +| **i32** | 2.01✅ | 2.01✅ | 2.04✅ | 1.52✅ | 1.53✅ | 1.97✅ | 1.89✅ | 2.21✅ | 2.32✅ | 1.57✅ | 3.58✅ | 1.54✅ | 2.04✅ | — | 2.86✅ | +| **u32** | 1.96✅ | 2.10✅ | 2.14✅ | 1.47✅ | 1.49✅ | 1.80✅ | 1.91✅ | 2.27✅ | 2.52✅ | 1.59✅ | 3.59✅ | 1.50✅ | 2.18✅ | — | 2.54✅ | +| **i64** | 1.17✅ | 1.21✅ | 1.33✅ | 1.39✅ | 1.41✅ | 1.84✅ | 1.78✅ | 2.65✅ | 2.22✅ | 1.31✅ | 1.84✅ | 1.46✅ | 2.33✅ | — | 2.59✅ | +| **u64** | 1.13✅ | 1.26✅ | 1.29✅ | 1.33✅ | 1.37✅ | 1.83✅ | 1.96✅ | 2.17✅ | 2.39✅ | 1.31✅ | 2.35✅ | 1.00🟡 | 1.59✅ | — | 2.32✅ | +| **char** | 2.36✅ | 2.38✅ | 2.28✅ | 1.71✅ | 1.37✅ | 1.57✅ | 1.58✅ | 2.34✅ | 2.32✅ | 1.33✅ | 3.52✅ | 1.49✅ | 2.37✅ | — | 2.79✅ | +| **f16** | 5.08✅ | 4.80✅ | 4.78✅ | 3.80✅ | 3.83✅ | 3.85✅ | 2.03✅ | 3.13✅ | 1.09✅ | 3.83✅ | 1.34✅ | 2.87✅ | 0.97🟡 | — | 1.60✅ | +| **f32** | 3.30✅ | 2.23✅ | 2.25✅ | 1.60✅ | 1.67✅ | 1.91✅ | 1.36✅ | 0.84🟡 | 0.85🟡 | 1.66✅ | 3.58✅ | 1.95✅ | 2.09✅ | — | 2.25✅ | +| **f64** | 1.87✅ | 1.23✅ | 1.33✅ | 1.44✅ | 1.48✅ | 1.87✅ | 1.44✅ | 0.80🟡 | 0.88🟡 | 1.46✅ | 1.58✅ | 1.69✅ | 2.36✅ | — | 2.54✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.10✅ | 0.94🟡 | 1.01✅ | 1.15✅ | 1.11✅ | 1.47✅ | 1.37✅ | 0.87🟡 | 0.92🟡 | 1.26✅ | 1.41✅ | 1.37✅ | 1.61✅ | — | 2.29✅ | + +## Layout: negcol (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 4.56✅ | 7.06✅ | 6.59✅ | 2.26✅ | 2.21✅ | 1.54✅ | 1.48✅ | 2.25✅ | 2.21✅ | 2.40✅ | 2.80✅ | 1.88✅ | 2.48✅ | — | 3.10✅ | +| **u8** | 1.42✅ | 3.55✅ | 3.38✅ | 2.00✅ | 1.85✅ | 1.77✅ | 1.83✅ | 2.16✅ | 2.24✅ | 1.88✅ | 2.52✅ | 1.47✅ | 2.46✅ | — | 3.02✅ | +| **i8** | 1.31✅ | 4.32✅ | 2.73✅ | 1.70✅ | 1.89✅ | 1.82✅ | 1.83✅ | 2.24✅ | 2.26✅ | 1.73✅ | 2.63✅ | 1.65✅ | 2.37✅ | — | 3.10✅ | +| **i16** | 3.46✅ | 2.49✅ | 2.83✅ | 1.78✅ | 1.77✅ | 1.66✅ | 1.68✅ | 2.17✅ | 2.25✅ | 1.70✅ | 2.01✅ | 1.78✅ | 2.24✅ | — | 2.86✅ | +| **u16** | 3.61✅ | 3.01✅ | 3.11✅ | 1.76✅ | 1.62✅ | 1.68✅ | 1.75✅ | 2.43✅ | 2.22✅ | 1.69✅ | 2.02✅ | 1.43✅ | 2.38✅ | — | 2.92✅ | +| **i32** | 2.10✅ | 1.95✅ | 1.67✅ | 1.60✅ | 1.61✅ | 1.55✅ | 1.55✅ | 2.56✅ | 2.15✅ | 1.68✅ | 2.06✅ | 1.65✅ | 2.06✅ | — | 2.76✅ | +| **u32** | 2.08✅ | 1.60✅ | 1.53✅ | 1.59✅ | 1.58✅ | 1.48✅ | 1.61✅ | 2.46✅ | 2.30✅ | 1.63✅ | 2.02✅ | 1.47✅ | 2.34✅ | — | 2.84✅ | +| **i64** | 1.33✅ | 0.96🟡 | 0.97🟡 | 1.29✅ | 1.41✅ | 1.75✅ | 1.87✅ | 2.41✅ | 2.36✅ | 1.39✅ | 1.30✅ | 1.58✅ | 2.17✅ | — | 2.44✅ | +| **u64** | 1.26✅ | 1.01✅ | 0.93🟡 | 1.27✅ | 1.33✅ | 1.72✅ | 1.69✅ | 2.32✅ | 2.19✅ | 1.34✅ | 1.65✅ | 1.05✅ | 1.50✅ | — | 2.50✅ | +| **char** | 3.38✅ | 2.34✅ | 3.24✅ | 1.67✅ | 1.60✅ | 1.67✅ | 1.65✅ | 2.21✅ | 2.35✅ | 1.64✅ | 2.03✅ | 1.56✅ | 2.27✅ | — | 2.96✅ | +| **f16** | 4.65✅ | 1.73✅ | 1.73✅ | 1.74✅ | 1.76✅ | 2.23✅ | 1.33✅ | 2.07✅ | 0.89🟡 | 1.76✅ | 1.61✅ | 1.56✅ | 0.96🟡 | — | 1.51✅ | +| **f32** | 2.48✅ | 1.71✅ | 1.67✅ | 1.65✅ | 1.62✅ | 1.90✅ | 1.08✅ | 0.85🟡 | 0.81🟡 | 1.61✅ | 1.94✅ | 1.62✅ | 1.20✅ | — | 2.30✅ | +| **f64** | 1.45✅ | 1.12✅ | 1.10✅ | 1.33✅ | 1.38✅ | 1.75✅ | 1.10✅ | 0.83🟡 | 0.83🟡 | 1.39✅ | 1.19✅ | 1.65✅ | 2.67✅ | — | 2.68✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.02✅ | 0.98🟡 | 1.08✅ | 1.19✅ | 1.10✅ | 1.54✅ | 1.16✅ | 0.98🟡 | 0.90🟡 | 1.22✅ | 0.95🟡 | 1.49✅ | 1.71✅ | — | 2.26✅ | + +## Layout: strided (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 2.26✅ | 3.65✅ | 3.30✅ | 3.63✅ | 3.72✅ | 1.18✅ | 1.12✅ | 1.74✅ | 1.77✅ | 2.09✅ | 2.71✅ | 1.41✅ | 1.75✅ | — | 2.30✅ | +| **u8** | 0.97🟡 | 2.00✅ | 2.27✅ | 2.28✅ | 1.89✅ | 1.30✅ | 1.27✅ | 2.06✅ | 1.84✅ | 1.90✅ | 2.55✅ | 1.13✅ | 1.78✅ | — | 2.61✅ | +| **i8** | 0.91🟡 | 2.13✅ | 2.46✅ | 1.91✅ | 1.77✅ | 1.35✅ | 1.55✅ | 2.04✅ | 1.89✅ | 1.86✅ | 2.45✅ | 1.33✅ | 1.92✅ | — | 2.34✅ | +| **i16** | 2.41✅ | 1.68✅ | 1.97✅ | 1.14✅ | 2.07✅ | 1.21✅ | 1.26✅ | 1.90✅ | 1.96✅ | 1.70✅ | 1.89✅ | 1.18✅ | 1.73✅ | — | 2.39✅ | +| **u16** | 2.39✅ | 1.77✅ | 1.76✅ | 1.37✅ | 1.41✅ | 1.29✅ | 1.32✅ | 1.89✅ | 1.90✅ | 1.52✅ | 1.90✅ | 1.04✅ | 1.81✅ | — | 2.32✅ | +| **i32** | 1.60✅ | 1.43✅ | 1.39✅ | 1.16✅ | 1.16✅ | 1.23✅ | 1.08✅ | 1.86✅ | 1.78✅ | 1.26✅ | 1.88✅ | 1.28✅ | 1.76✅ | — | 2.44✅ | +| **u32** | 1.74✅ | 1.22✅ | 1.18✅ | 1.10✅ | 1.25✅ | 1.13✅ | 1.14✅ | 1.86✅ | 1.84✅ | 1.18✅ | 1.95✅ | 1.13✅ | 1.77✅ | — | 2.24✅ | +| **i64** | 1.11✅ | 0.95🟡 | 0.94🟡 | 0.86🟡 | 0.94🟡 | 1.22✅ | 1.35✅ | 1.77✅ | 1.74✅ | 0.91🟡 | 1.19✅ | 1.26✅ | 1.74✅ | — | 2.43✅ | +| **u64** | 1.07✅ | 0.93🟡 | 0.94🟡 | 0.83🟡 | 1.01✅ | 1.20✅ | 1.27✅ | 1.58✅ | 1.70✅ | 1.03✅ | 1.48✅ | 0.74🟡 | 1.47✅ | — | 2.17✅ | +| **char** | 2.39✅ | 1.80✅ | 1.68✅ | 1.26✅ | 1.49✅ | 1.21✅ | 1.30✅ | 1.85✅ | 1.75✅ | 1.51✅ | 1.83✅ | 1.13✅ | 1.73✅ | — | 2.34✅ | +| **f16** | 2.62✅ | 1.49✅ | 1.52✅ | 1.59✅ | 1.66✅ | 1.76✅ | 1.14✅ | 1.85✅ | 0.89🟡 | 1.59✅ | 1.11✅ | 1.23✅ | 0.95🟡 | — | 1.44✅ | +| **f32** | 1.98✅ | 1.31✅ | 1.31✅ | 1.30✅ | 1.37✅ | 1.34✅ | 0.91🟡 | 0.94🟡 | 0.80🟡 | 1.30✅ | 1.78✅ | 1.16✅ | 1.20✅ | — | 2.43✅ | +| **f64** | 1.25✅ | 0.98🟡 | 0.97🟡 | 0.91🟡 | 0.86🟡 | 1.22✅ | 0.94🟡 | 0.89🟡 | 0.80🟡 | 0.94🟡 | 1.06✅ | 1.07✅ | 1.81✅ | — | 2.08✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.07✅ | 1.14✅ | 0.99🟡 | 0.93🟡 | 0.91🟡 | 1.15✅ | 1.03✅ | 0.97🟡 | 0.83🟡 | 0.94🟡 | 0.89🟡 | 1.08✅ | 1.59✅ | — | 1.66✅ | + +## Layout: bcast (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 1.26✅ | 5.38✅ | 6.24✅ | 2.28✅ | 2.24✅ | 1.51✅ | 1.46✅ | 2.32✅ | 2.18✅ | 2.26✅ | 3.97✅ | 1.91✅ | 2.37✅ | — | 3.14✅ | +| **u8** | 4.95✅ | 0.89🟡 | 4.29✅ | 1.87✅ | 1.88✅ | 2.08✅ | 2.14✅ | 2.52✅ | 2.39✅ | 1.87✅ | 3.76✅ | 2.32✅ | 2.15✅ | — | 2.95✅ | +| **i8** | 5.13✅ | 4.15✅ | 0.80🟡 | 1.82✅ | 1.87✅ | 2.12✅ | 2.43✅ | 2.55✅ | 2.38✅ | 1.91✅ | 3.81✅ | 2.16✅ | 2.28✅ | — | 3.14✅ | +| **i16** | 4.77✅ | 3.50✅ | 3.80✅ | 1.60✅ | 1.72✅ | 1.98✅ | 1.91✅ | 2.18✅ | 2.32✅ | 1.69✅ | 3.62✅ | 2.22✅ | 2.52✅ | — | 3.12✅ | +| **u16** | 4.57✅ | 4.20✅ | 3.20✅ | 1.85✅ | 1.63✅ | 1.98✅ | 1.89✅ | 2.26✅ | 2.27✅ | 1.66✅ | 3.72✅ | 2.08✅ | 2.26✅ | — | 2.70✅ | +| **i32** | 3.42✅ | 2.89✅ | 3.25✅ | 1.70✅ | 1.67✅ | 2.12✅ | 1.92✅ | 2.09✅ | 2.34✅ | 1.94✅ | 3.82✅ | 2.24✅ | 2.67✅ | — | 3.00✅ | +| **u32** | 3.64✅ | 3.72✅ | 2.42✅ | 1.66✅ | 1.77✅ | 2.02✅ | 1.99✅ | 2.23✅ | 2.31✅ | 1.90✅ | 3.73✅ | 2.29✅ | 2.27✅ | — | 2.94✅ | +| **i64** | 2.70✅ | 2.23✅ | 2.29✅ | 1.73✅ | 1.72✅ | 2.04✅ | 2.10✅ | 2.41✅ | 2.12✅ | 1.72✅ | 1.85✅ | 2.08✅ | 2.00✅ | — | 2.67✅ | +| **u64** | 2.57✅ | 2.40✅ | 2.16✅ | 1.60✅ | 1.66✅ | 2.08✅ | 1.92✅ | 2.24✅ | 2.29✅ | 1.75✅ | 2.43✅ | 2.26✅ | 2.14✅ | — | 2.72✅ | +| **char** | 4.78✅ | 3.81✅ | 3.84✅ | 1.74✅ | 1.50✅ | 1.65✅ | 1.66✅ | 2.17✅ | 2.36✅ | 1.65✅ | 3.64✅ | 1.54✅ | 2.36✅ | — | 2.75✅ | +| **f16** | 6.87✅ | 5.51✅ | 5.35✅ | 4.23✅ | 4.21✅ | 3.88✅ | 2.04✅ | 3.04✅ | 1.09✅ | 3.86✅ | 1.46✅ | 2.87✅ | 0.96🟡 | — | 1.55✅ | +| **f32** | 4.89✅ | 3.29✅ | 2.71✅ | 1.88✅ | 2.02✅ | 2.15✅ | 1.47✅ | 2.21✅ | 0.86🟡 | 1.84✅ | 3.65✅ | 2.09✅ | 2.11✅ | — | 2.29✅ | +| **f64** | 2.70✅ | 2.15✅ | 2.14✅ | 1.78✅ | 1.77✅ | 2.11✅ | 1.49✅ | 1.99✅ | 0.88🟡 | 1.81✅ | 1.58✅ | 2.04✅ | 2.51✅ | — | 2.66✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.09✅ | 1.06✅ | 1.05✅ | 1.38✅ | 1.40✅ | 1.75✅ | 1.35✅ | 0.84🟡 | 0.80🟡 | 1.39✅ | 1.50✅ | 1.56✅ | 2.01✅ | — | 2.94✅ | + +## Lagging cells (<1.0) — the worklist (118 cells) + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| bool\|F\|bool | 0.0595 | 0.0144 | 0.24 🟠 | +| f64\|sliced\|i32 | 0.9124 | 0.6414 | 0.70 🟡 | +| u64\|strided\|f32 | 0.5215 | 0.3885 | 0.74 🟡 | +| c128\|bcast\|u64 | 1.5413 | 1.2301 | 0.80 🟡 | +| f32\|strided\|u64 | 0.7987 | 0.6399 | 0.80 🟡 | +| i8\|bcast\|i8 | 0.0619 | 0.0496 | 0.80 🟡 | +| c128\|sliced\|u64 | 1.7479 | 1.4021 | 0.80 🟡 | +| f64\|strided\|u64 | 0.7758 | 0.6243 | 0.80 🟡 | +| f64\|negrow\|i64 | 1.5209 | 1.2241 | 0.80 🟡 | +| c128\|F\|u64 | 1.7023 | 1.3717 | 0.81 🟡 | +| f32\|negcol\|u64 | 1.5659 | 1.2627 | 0.81 🟡 | +| f64\|C\|i8 | 0.2927 | 0.2376 | 0.81 🟡 | +| f64\|C\|u8 | 0.2892 | 0.2350 | 0.81 🟡 | +| f32\|F\|i64 | 1.4588 | 1.1945 | 0.82 🟡 | +| c128\|strided\|u64 | 0.9366 | 0.7745 | 0.83 🟡 | +| u64\|strided\|i16 | 0.1726 | 0.1432 | 0.83 🟡 | +| f32\|C\|i64 | 1.4773 | 1.2276 | 0.83 🟡 | +| f64\|negcol\|u64 | 1.5574 | 1.2946 | 0.83 🟡 | +| f32\|T\|i64 | 1.4640 | 1.2208 | 0.83 🟡 | +| f64\|negcol\|i64 | 1.4625 | 1.2196 | 0.83 🟡 | +| c128\|C\|u64 | 1.6652 | 1.3911 | 0.84 🟡 | +| f32\|negrow\|i64 | 1.4768 | 1.2373 | 0.84 🟡 | +| f32\|F\|u64 | 1.4675 | 1.2315 | 0.84 🟡 | +| f64\|sliced\|i64 | 1.4533 | 1.2221 | 0.84 🟡 | +| c128\|bcast\|i64 | 1.4280 | 1.2013 | 0.84 🟡 | +| f64\|sliced\|u64 | 1.4453 | 1.2198 | 0.84 🟡 | +| i8\|T\|i8 | 0.0613 | 0.0519 | 0.85 🟡 | +| c128\|T\|u64 | 1.6154 | 1.3692 | 0.85 🟡 | +| f32\|negrow\|u64 | 1.4957 | 1.2720 | 0.85 🟡 | +| f32\|negcol\|i64 | 1.4173 | 1.2088 | 0.85 🟡 | +| f64\|C\|i64 | 1.4556 | 1.2468 | 0.86 🟡 | +| i64\|strided\|i16 | 0.1748 | 0.1499 | 0.86 🟡 | +| f32\|sliced\|i64 | 1.4408 | 1.2354 | 0.86 🟡 | +| f64\|strided\|u16 | 0.1706 | 0.1469 | 0.86 🟡 | +| f32\|T\|u64 | 1.4532 | 1.2546 | 0.86 🟡 | +| f32\|bcast\|u64 | 1.4571 | 1.2602 | 0.86 🟡 | +| c128\|negrow\|i64 | 1.5665 | 1.3619 | 0.87 🟡 | +| f64\|F\|i64 | 1.4506 | 1.2612 | 0.87 🟡 | +| f64\|T\|i64 | 1.4409 | 1.2540 | 0.87 🟡 | +| f32\|C\|u64 | 1.4695 | 1.2834 | 0.87 🟡 | +| f64\|bcast\|u64 | 1.4020 | 1.2277 | 0.88 🟡 | +| f64\|negrow\|u64 | 1.4430 | 1.2673 | 0.88 🟡 | +| c128\|F\|i8 | 0.3572 | 0.3148 | 0.88 🟡 | +| f32\|sliced\|u64 | 1.4888 | 1.3174 | 0.88 🟡 | +| f16\|negcol\|u64 | 2.1147 | 1.8765 | 0.89 🟡 | +| u8\|bcast\|u8 | 0.0587 | 0.0522 | 0.89 🟡 | +| f64\|strided\|i64 | 0.7057 | 0.6283 | 0.89 🟡 | +| f64\|C\|u64 | 1.4293 | 1.2761 | 0.89 🟡 | +| f16\|strided\|u64 | 1.0346 | 0.9241 | 0.89 🟡 | +| c128\|strided\|f16 | 0.8811 | 0.7874 | 0.89 🟡 | +| f64\|T\|u64 | 1.4221 | 1.2717 | 0.89 🟡 | +| c128\|T\|i64 | 1.5151 | 1.3650 | 0.90 🟡 | +| c128\|negcol\|u64 | 1.6586 | 1.4945 | 0.90 🟡 | +| f64\|F\|u64 | 1.4496 | 1.3097 | 0.90 🟡 | +| f32\|strided\|u32 | 0.3838 | 0.3480 | 0.91 🟡 | +| c128\|sliced\|char | 0.5601 | 0.5081 | 0.91 🟡 | +| f64\|strided\|i16 | 0.1641 | 0.1489 | 0.91 🟡 | +| c128\|F\|u8 | 0.3391 | 0.3083 | 0.91 🟡 | +| i64\|strided\|char | 0.1534 | 0.1397 | 0.91 🟡 | +| i8\|strided\|bool | 0.1632 | 0.1489 | 0.91 🟡 | +| i8\|C\|i8 | 0.0595 | 0.0543 | 0.91 🟡 | +| c128\|strided\|u16 | 0.3051 | 0.2789 | 0.91 🟡 | +| c128\|C\|i64 | 1.5153 | 1.3895 | 0.92 🟡 | +| u64\|F\|u8 | 0.2149 | 0.1979 | 0.92 🟡 | +| c128\|negrow\|u64 | 1.7009 | 1.5680 | 0.92 🟡 | +| i64\|F\|i8 | 0.2150 | 0.1982 | 0.92 🟡 | +| f16\|C\|f64 | 1.5894 | 1.4665 | 0.92 🟡 | +| u64\|C\|u8 | 0.2155 | 0.1988 | 0.92 🟡 | +| i8\|sliced\|i8 | 0.0575 | 0.0530 | 0.92 🟡 | +| c128\|strided\|i16 | 0.3130 | 0.2897 | 0.93 🟡 | +| c128\|C\|u8 | 0.3526 | 0.3283 | 0.93 🟡 | +| u64\|negcol\|i8 | 0.2475 | 0.2306 | 0.93 🟡 | +| i64\|T\|i8 | 0.2114 | 0.1973 | 0.93 🟡 | +| c128\|sliced\|i64 | 1.4869 | 1.3889 | 0.93 🟡 | +| u64\|strided\|u8 | 0.1409 | 0.1316 | 0.93 🟡 | +| c128\|strided\|char | 0.2944 | 0.2754 | 0.94 🟡 | +| f32\|strided\|i64 | 0.7048 | 0.6596 | 0.94 🟡 | +| c128\|C\|i8 | 0.3417 | 0.3201 | 0.94 🟡 | +| i64\|strided\|u16 | 0.1550 | 0.1454 | 0.94 🟡 | +| u64\|F\|i8 | 0.2121 | 0.1991 | 0.94 🟡 | +| u64\|strided\|i8 | 0.1389 | 0.1305 | 0.94 🟡 | +| u64\|T\|u8 | 0.2105 | 0.1978 | 0.94 🟡 | +| i64\|F\|u8 | 0.2204 | 0.2078 | 0.94 🟡 | +| c128\|negrow\|u8 | 0.3492 | 0.3294 | 0.94 🟡 | +| f64\|strided\|char | 0.1593 | 0.1504 | 0.94 🟡 | +| f64\|strided\|u32 | 0.3797 | 0.3587 | 0.94 🟡 | +| i64\|strided\|i8 | 0.1438 | 0.1358 | 0.94 🟡 | +| u64\|C\|i8 | 0.2096 | 0.1981 | 0.95 🟡 | +| f16\|strided\|f64 | 0.7709 | 0.7306 | 0.95 🟡 | +| f16\|F\|f64 | 1.5066 | 1.4286 | 0.95 🟡 | +| i64\|strided\|u8 | 0.1424 | 0.1351 | 0.95 🟡 | +| u64\|T\|i8 | 0.2094 | 0.1987 | 0.95 🟡 | +| c128\|negcol\|f16 | 1.8203 | 1.7315 | 0.95 🟡 | +| f16\|sliced\|f64 | 1.4890 | 1.4241 | 0.96 🟡 | +| c128\|F\|i64 | 1.5008 | 1.4359 | 0.96 🟡 | +| i64\|negcol\|u8 | 0.2439 | 0.2335 | 0.96 🟡 | +| f16\|bcast\|f64 | 1.5177 | 1.4532 | 0.96 🟡 | +| c128\|sliced\|i8 | 0.3253 | 0.3118 | 0.96 🟡 | +| i64\|C\|i8 | 0.2090 | 0.2004 | 0.96 🟡 | +| f16\|negcol\|f64 | 1.5238 | 1.4668 | 0.96 🟡 | +| char\|C\|u16 | 0.2540 | 0.2457 | 0.97 🟡 | +| c128\|sliced\|bool | 0.4498 | 0.4355 | 0.97 🟡 | +| c128\|strided\|i64 | 0.8006 | 0.7755 | 0.97 🟡 | +| u64\|sliced\|f32 | 0.7665 | 0.7425 | 0.97 🟡 | +| f16\|negrow\|f64 | 1.5293 | 1.4823 | 0.97 🟡 | +| f64\|strided\|i8 | 0.1454 | 0.1413 | 0.97 🟡 | +| i8\|negrow\|i8 | 0.0558 | 0.0542 | 0.97 🟡 | +| u8\|strided\|bool | 0.1537 | 0.1495 | 0.97 🟡 | +| i64\|negcol\|i8 | 0.2480 | 0.2414 | 0.97 🟡 | +| i64\|C\|u8 | 0.2108 | 0.2062 | 0.98 🟡 | +| c128\|negcol\|u8 | 0.3485 | 0.3423 | 0.98 🟡 | +| f64\|strided\|u8 | 0.1456 | 0.1431 | 0.98 🟡 | +| c128\|negcol\|i64 | 1.6104 | 1.5838 | 0.98 🟡 | +| f16\|C\|u64 | 1.8886 | 1.8634 | 0.99 🟡 | +| c128\|F\|bool | 0.4151 | 0.4098 | 0.99 🟡 | +| c128\|strided\|i8 | 0.2650 | 0.2633 | 0.99 🟡 | +| f16\|T\|f64 | 1.4800 | 1.4751 | 1.00 🟡 | +| u64\|negrow\|f32 | 0.7923 | 0.7904 | 1.00 🟡 | + +_1568 comparable cells (1800 NumSharp rows; 118 lagging <1.0)._ + + +--- + +## Fusion — np.evaluate vs unfused chains + +`np.evaluate` runs a whole expression tree in one NDIter pass (no intermediates). Fixed-expression gate plus an operand-layout sweep of the flagship `a*b+c` (C/F/T/strided/bcast — does the fused single-pass win survive non-contiguous operands?), not a dtype/layout matrix — so reported as-is. + +``` +NumSharp — fused np.evaluate vs unfused np.* chains (4M elements, best-of-9; (Nx) = unfused ÷ fused, >1 = fusion faster): + +correctness cross-checks ok + +4M float64, best of 9: + a*b+c fused 3.53 ms unfused 6.08 ms (1.72x) + (a-b)/(a+b) fused 3.16 ms unfused 12.32 ms (3.90x) + sum(a*b) fused 2.30 ms unfused 4.33 ms (1.88x) + sum(af*bf) fused 1.43 ms unfused 1.57 ms (1.10x) [f32] + a*b+c out= fused 3.56 ms [1-pass fused-into-out] + i4*2+f8 fused 2.78 ms unfused 4.04 ms (1.45x) + + a*b+c across operand layouts (2-D 2000x2000, all 3 operands same layout): + [C ] fused 3.43 ms unfused 6.05 ms (1.77x) + [F ] fused 3.52 ms unfused 6.18 ms (1.75x) + [T ] fused 3.50 ms unfused 6.27 ms (1.79x) + [strided] fused 3.31 ms unfused 4.72 ms (1.43x) + [bcast ] fused 1.06 ms unfused 3.75 ms (3.53x) + +NumPy — absolutes on the same box (context for the unfused column): + +numpy 2.4.2, 4M float64, best of 9: + a*b+c 12.35 ms + (a-b)/(a+b) 18.75 ms + sum(a*b) 8.60 ms + sum(af*bf) 4.14 ms [f32] + a*b+c out= 4.68 ms [two-pass with out=] + i4*2+f8 9.67 ms + a*b+c across operand layouts (2-D 2000x2000, unfused): + [C ] 12.52 ms + [F ] 12.54 ms + [T ] 12.51 ms + [strided] 7.91 ms + [bcast ] 11.95 ms +``` diff --git a/benchmark/history/2026-06-29_2d16f477/cards/cat.png b/benchmark/history/2026-06-29_2d16f477/cards/cat.png new file mode 100644 index 000000000..c39b1352e Binary files /dev/null and b/benchmark/history/2026-06-29_2d16f477/cards/cat.png differ diff --git a/benchmark/history/2026-06-29_2d16f477/cards/ops.png b/benchmark/history/2026-06-29_2d16f477/cards/ops.png new file mode 100644 index 000000000..9c7e85580 Binary files /dev/null and b/benchmark/history/2026-06-29_2d16f477/cards/ops.png differ diff --git a/benchmark/history/2026-06-29_2d16f477/cast_results.md b/benchmark/history/2026-06-29_2d16f477/cast_results.md new file mode 100644 index 000000000..5dcc78884 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/cast_results.md @@ -0,0 +1,316 @@ +# Cast matrix — astype src→dst × layout × dtype (NumSharp vs NumPy 2.4.2) + +Full `astype(dst, copy:true)` sweep over every src→dst dtype pair × 8 memory layouts at 1M elements, best-of-3. ratio = NumPy_ms / NumSharp_ms — **>1.0 = NumSharp faster**. +✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2 · `—` = no NumPy counterpart (Decimal has no NumPy dtype). + +## Summary + +- **118 / 1568** comparable cells lag (<1.0); **1450** win (≥1.0). +- **🔴 <0.2** — 0 cells. +- **🟠 0.2–0.5** — 1 cells. Top: 1× * → bool +- **🟡 0.5–1.0** — 117 cells. Top: 23× int → sub-word (narrow); 21× float/cplx → narrow-int (bool/u8/i8/i16/u16/char); 8× f16 → f64 + +**float/complex → narrow-int geomean by src** (the historical cliff): `f32`→narrow **1.96**, `f64`→narrow **1.38**, `f16`→narrow **3.71**, `c128`→narrow **1.08**. + +## Geomean by layout (all src×dst, excl. Decimal) + +| C | F | T | sliced | negrow | negcol | strided | bcast | +|---|---|---|---|---|---|---|---| +| 1.86 ✅ | 1.88 ✅ | 1.93 ✅ | 1.95 ✅ | 1.97 ✅ | 1.82 ✅ | 1.47 ✅ | 2.25 ✅ | + +## Geomean by src dtype (all layouts×dst) + +| bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 2.35 ✅ | 2.18 ✅ | 2.16 ✅ | 2.19 ✅ | 2.14 ✅ | 1.92 ✅ | 1.88 ✅ | 1.62 ✅ | 1.55 ✅ | 1.98 ✅ | 2.36 ✅ | 1.75 ✅ | 1.43 ✅ | nan ? | 1.23 ✅ | + +## Geomean by dst dtype (all layouts×src) + +| bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 2.17 ✅ | 1.94 ✅ | 1.93 ✅ | 1.61 ✅ | 1.60 ✅ | 1.80 ✅ | 1.64 ✅ | 1.89 ✅ | 1.73 ✅ | 1.60 ✅ | 2.48 ✅ | 1.60 ✅ | 2.03 ✅ | nan ? | 2.59 ✅ | + +## Layout: C (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.04✅ | 2.60✅ | 2.76✅ | 2.10✅ | 1.98✅ | 1.53✅ | 1.46✅ | 2.04✅ | 2.25✅ | 1.73✅ | 3.29✅ | 1.71✅ | 2.49✅ | — | 2.94✅ | +| **u8** | 3.55✅ | 1.55✅ | 3.56✅ | 1.69✅ | 1.83✅ | 2.01✅ | 1.89✅ | 2.21✅ | 2.47✅ | 1.62✅ | 3.90✅ | 1.38✅ | 2.41✅ | — | 3.07✅ | +| **i8** | 2.61✅ | 3.17✅ | 0.91🟡 | 1.82✅ | 1.76✅ | 1.95✅ | 1.95✅ | 2.35✅ | 2.66✅ | 1.76✅ | 3.94✅ | 1.79✅ | 2.64✅ | — | 2.98✅ | +| **i16** | 2.20✅ | 2.29✅ | 2.59✅ | 1.39✅ | 2.11✅ | 2.09✅ | 1.95✅ | 2.42✅ | 2.52✅ | 1.57✅ | 3.71✅ | 1.92✅ | 2.61✅ | — | 2.79✅ | +| **u16** | 2.22✅ | 2.80✅ | 2.81✅ | 2.12✅ | 1.24✅ | 2.09✅ | 2.14✅ | 2.63✅ | 2.22✅ | 1.08✅ | 3.71✅ | 1.93✅ | 2.46✅ | — | 2.97✅ | +| **i32** | 1.50✅ | 1.15✅ | 1.16✅ | 1.46✅ | 1.51✅ | 1.70✅ | 2.12✅ | 2.26✅ | 2.27✅ | 1.43✅ | 3.64✅ | 1.64✅ | 2.62✅ | — | 2.86✅ | +| **u32** | 1.77✅ | 1.18✅ | 1.17✅ | 1.35✅ | 1.44✅ | 2.17✅ | 1.65✅ | 2.19✅ | 2.29✅ | 1.48✅ | 3.66✅ | 1.47✅ | 2.34✅ | — | 2.69✅ | +| **i64** | 1.08✅ | 0.98🟡 | 0.96🟡 | 1.23✅ | 1.27✅ | 1.83✅ | 1.78✅ | 1.87✅ | 2.76✅ | 1.38✅ | 1.81✅ | 1.81✅ | 2.22✅ | — | 2.52✅ | +| **u64** | 1.14✅ | 0.92🟡 | 0.95🟡 | 1.22✅ | 1.18✅ | 1.73✅ | 1.73✅ | 2.56✅ | 2.09✅ | 1.30✅ | 1.65✅ | 1.14✅ | 1.79✅ | — | 2.45✅ | +| **char** | 2.07✅ | 2.02✅ | 2.14✅ | 1.49✅ | 0.97🟡 | 1.55✅ | 1.53✅ | 2.26✅ | 2.20✅ | 1.21✅ | 3.67✅ | 1.42✅ | 2.11✅ | — | 2.62✅ | +| **f16** | 4.51✅ | 5.42✅ | 5.35✅ | 3.82✅ | 3.94✅ | 3.80✅ | 1.96✅ | 2.94✅ | 0.99🟡 | 4.16✅ | 1.25✅ | 1.10✅ | 0.92🟡 | — | 1.64✅ | +| **f32** | 2.82✅ | 1.92✅ | 2.05✅ | 1.64✅ | 1.55✅ | 1.84✅ | 1.38✅ | 0.83🟡 | 0.87🟡 | 1.48✅ | 3.59✅ | 1.76✅ | 2.21✅ | — | 2.35✅ | +| **f64** | 1.81✅ | 0.81🟡 | 0.81🟡 | 1.32✅ | 1.29✅ | 1.68✅ | 1.51✅ | 0.86🟡 | 0.89🟡 | 1.38✅ | 1.04✅ | 1.72✅ | 2.05✅ | — | 2.60✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.11✅ | 0.93🟡 | 0.94🟡 | 1.19✅ | 1.13✅ | 1.69✅ | 1.35✅ | 0.92🟡 | 0.84🟡 | 1.10✅ | 1.50✅ | 1.39✅ | 1.75✅ | — | 3.18✅ | + +## Layout: F (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 0.24🟠 | 2.72✅ | 2.71✅ | 1.94✅ | 1.91✅ | 1.43✅ | 1.42✅ | 2.24✅ | 2.40✅ | 1.89✅ | 4.03✅ | 1.74✅ | 2.55✅ | — | 2.98✅ | +| **u8** | 4.01✅ | 1.11✅ | 3.48✅ | 1.70✅ | 1.71✅ | 2.07✅ | 2.06✅ | 2.11✅ | 2.33✅ | 1.62✅ | 3.89✅ | 1.39✅ | 2.49✅ | — | 3.06✅ | +| **i8** | 3.53✅ | 3.24✅ | 1.05✅ | 1.93✅ | 1.80✅ | 2.14✅ | 2.13✅ | 2.59✅ | 2.51✅ | 1.71✅ | 3.88✅ | 1.77✅ | 2.40✅ | — | 2.95✅ | +| **i16** | 1.87✅ | 2.06✅ | 2.52✅ | 1.31✅ | 1.98✅ | 1.84✅ | 2.01✅ | 2.59✅ | 2.39✅ | 2.19✅ | 3.71✅ | 2.05✅ | 2.39✅ | — | 3.01✅ | +| **u16** | 2.26✅ | 2.74✅ | 2.63✅ | 1.93✅ | 1.27✅ | 1.88✅ | 2.02✅ | 2.68✅ | 2.26✅ | 1.35✅ | 3.65✅ | 1.96✅ | 2.17✅ | — | 2.85✅ | +| **i32** | 1.69✅ | 1.11✅ | 1.18✅ | 1.48✅ | 1.49✅ | 1.76✅ | 2.17✅ | 2.46✅ | 2.48✅ | 1.50✅ | 3.90✅ | 1.72✅ | 2.33✅ | — | 2.85✅ | +| **u32** | 1.85✅ | 1.13✅ | 1.06✅ | 1.54✅ | 1.43✅ | 2.15✅ | 1.64✅ | 2.31✅ | 2.26✅ | 1.50✅ | 3.87✅ | 1.55✅ | 2.16✅ | — | 2.46✅ | +| **i64** | 1.11✅ | 0.94🟡 | 0.92🟡 | 1.17✅ | 1.26✅ | 1.88✅ | 1.75✅ | 2.16✅ | 2.70✅ | 1.28✅ | 1.87✅ | 1.55✅ | 2.17✅ | — | 2.24✅ | +| **u64** | 1.15✅ | 0.92🟡 | 0.94🟡 | 1.21✅ | 1.13✅ | 1.73✅ | 1.73✅ | 2.46✅ | 2.05✅ | 1.39✅ | 2.48✅ | 1.14✅ | 1.76✅ | — | 2.34✅ | +| **char** | 2.08✅ | 2.63✅ | 2.03✅ | 1.90✅ | 1.20✅ | 1.67✅ | 1.69✅ | 2.52✅ | 2.46✅ | 1.20✅ | 3.60✅ | 1.41✅ | 2.10✅ | — | 2.89✅ | +| **f16** | 4.49✅ | 6.02✅ | 6.33✅ | 3.79✅ | 4.31✅ | 3.73✅ | 2.06✅ | 2.85✅ | 1.11✅ | 4.33✅ | 1.24✅ | 2.44✅ | 0.95🟡 | — | 1.62✅ | +| **f32** | 3.44✅ | 2.12✅ | 2.26✅ | 1.62✅ | 1.64✅ | 1.92✅ | 1.35✅ | 0.82🟡 | 0.84🟡 | 1.69✅ | 3.63✅ | 1.67✅ | 2.21✅ | — | 2.26✅ | +| **f64** | 1.90✅ | 1.27✅ | 1.33✅ | 1.40✅ | 1.43✅ | 1.95✅ | 1.47✅ | 0.87🟡 | 0.90🟡 | 1.41✅ | 1.61✅ | 1.73✅ | 2.05✅ | — | 2.69✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 0.99🟡 | 0.91🟡 | 0.88🟡 | 1.15✅ | 1.07✅ | 1.57✅ | 1.33✅ | 0.96🟡 | 0.81🟡 | 1.09✅ | 1.49✅ | 1.15✅ | 1.75✅ | — | 3.26✅ | + +## Layout: T (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.40✅ | 3.39✅ | 3.74✅ | 1.71✅ | 1.80✅ | 1.47✅ | 1.41✅ | 2.31✅ | 2.32✅ | 1.91✅ | 4.20✅ | 1.78✅ | 2.68✅ | — | 2.99✅ | +| **u8** | 3.94✅ | 1.21✅ | 2.55✅ | 1.68✅ | 1.68✅ | 2.05✅ | 1.92✅ | 2.21✅ | 2.56✅ | 1.67✅ | 3.98✅ | 1.41✅ | 2.41✅ | — | 2.98✅ | +| **i8** | 2.58✅ | 3.43✅ | 0.85🟡 | 1.84✅ | 1.75✅ | 2.01✅ | 2.12✅ | 2.50✅ | 2.42✅ | 1.76✅ | 3.79✅ | 1.80✅ | 2.46✅ | — | 3.04✅ | +| **i16** | 2.29✅ | 2.12✅ | 3.21✅ | 1.25✅ | 2.11✅ | 2.01✅ | 2.04✅ | 2.43✅ | 2.25✅ | 2.00✅ | 3.86✅ | 2.02✅ | 2.46✅ | — | 3.02✅ | +| **u16** | 2.23✅ | 2.51✅ | 2.45✅ | 1.91✅ | 1.26✅ | 2.03✅ | 1.99✅ | 2.44✅ | 2.39✅ | 1.44✅ | 3.67✅ | 1.90✅ | 2.29✅ | — | 2.50✅ | +| **i32** | 1.77✅ | 1.13✅ | 1.19✅ | 1.52✅ | 1.52✅ | 1.69✅ | 2.31✅ | 2.07✅ | 2.11✅ | 1.66✅ | 3.96✅ | 1.65✅ | 2.57✅ | — | 2.95✅ | +| **u32** | 1.89✅ | 1.16✅ | 1.16✅ | 1.49✅ | 1.47✅ | 2.25✅ | 1.72✅ | 2.18✅ | 2.15✅ | 1.47✅ | 3.71✅ | 1.49✅ | 2.27✅ | — | 2.82✅ | +| **i64** | 1.28✅ | 1.04✅ | 0.93🟡 | 1.25✅ | 1.27✅ | 1.79✅ | 1.78✅ | 2.09✅ | 2.64✅ | 1.33✅ | 1.86✅ | 1.74✅ | 2.23✅ | — | 2.69✅ | +| **u64** | 1.20✅ | 0.94🟡 | 0.95🟡 | 1.21✅ | 1.16✅ | 1.79✅ | 1.62✅ | 2.52✅ | 2.00✅ | 1.36✅ | 2.47✅ | 1.12✅ | 1.90✅ | — | 2.54✅ | +| **char** | 2.14✅ | 2.15✅ | 2.63✅ | 1.84✅ | 1.22✅ | 1.61✅ | 1.62✅ | 2.24✅ | 2.47✅ | 1.31✅ | 3.50✅ | 1.44✅ | 2.32✅ | — | 2.56✅ | +| **f16** | 5.17✅ | 6.28✅ | 6.15✅ | 4.27✅ | 4.26✅ | 3.56✅ | 2.03✅ | 3.02✅ | 1.14✅ | 4.33✅ | 1.18✅ | 2.84✅ | 1.00🟡 | — | 1.65✅ | +| **f32** | 3.33✅ | 2.16✅ | 2.30✅ | 1.77✅ | 1.63✅ | 2.04✅ | 1.38✅ | 0.83🟡 | 0.86🟡 | 1.63✅ | 3.75✅ | 1.70✅ | 2.56✅ | — | 2.20✅ | +| **f64** | 2.00✅ | 1.35✅ | 1.35✅ | 1.37✅ | 1.41✅ | 1.81✅ | 1.48✅ | 0.87🟡 | 0.89🟡 | 1.31✅ | 1.63✅ | 1.74✅ | 1.93✅ | — | 2.61✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.00✅ | 1.11✅ | 1.21✅ | 1.27✅ | 1.18✅ | 1.66✅ | 1.28✅ | 0.90🟡 | 0.85🟡 | 1.11✅ | 1.53✅ | 1.41✅ | 1.79✅ | — | 3.42✅ | + +## Layout: sliced (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.14✅ | 5.84✅ | 5.99✅ | 1.96✅ | 2.00✅ | 1.49✅ | 1.56✅ | 2.38✅ | 2.06✅ | 1.99✅ | 3.95✅ | 1.74✅ | 2.66✅ | — | 3.02✅ | +| **u8** | 2.74✅ | 1.25✅ | 3.91✅ | 1.79✅ | 1.88✅ | 2.24✅ | 2.14✅ | 2.44✅ | 2.55✅ | 1.72✅ | 3.71✅ | 1.40✅ | 2.83✅ | — | 3.17✅ | +| **i8** | 2.96✅ | 3.03✅ | 0.92🟡 | 1.75✅ | 1.74✅ | 1.99✅ | 1.92✅ | 2.30✅ | 2.14✅ | 1.65✅ | 3.86✅ | 1.69✅ | 2.48✅ | — | 3.07✅ | +| **i16** | 2.25✅ | 2.82✅ | 2.56✅ | 1.45✅ | 1.71✅ | 1.93✅ | 1.90✅ | 2.47✅ | 2.50✅ | 1.62✅ | 3.54✅ | 2.06✅ | 2.58✅ | — | 2.85✅ | +| **u16** | 2.98✅ | 2.66✅ | 2.90✅ | 1.46✅ | 1.33✅ | 2.06✅ | 1.96✅ | 2.50✅ | 2.20✅ | 1.36✅ | 3.62✅ | 1.88✅ | 2.45✅ | — | 3.01✅ | +| **i32** | 1.94✅ | 2.20✅ | 2.10✅ | 1.43✅ | 1.54✅ | 1.90✅ | 1.81✅ | 2.14✅ | 2.23✅ | 1.55✅ | 3.70✅ | 1.58✅ | 2.39✅ | — | 2.86✅ | +| **u32** | 1.99✅ | 2.01✅ | 2.13✅ | 1.44✅ | 1.53✅ | 2.02✅ | 1.85✅ | 2.10✅ | 2.22✅ | 1.55✅ | 3.72✅ | 1.47✅ | 2.12✅ | — | 2.74✅ | +| **i64** | 1.20✅ | 1.18✅ | 1.28✅ | 1.42✅ | 1.33✅ | 1.78✅ | 1.78✅ | 2.22✅ | 2.35✅ | 1.42✅ | 1.82✅ | 1.52✅ | 2.36✅ | — | 2.68✅ | +| **u64** | 1.29✅ | 1.24✅ | 1.22✅ | 1.33✅ | 1.30✅ | 1.74✅ | 1.79✅ | 2.14✅ | 2.22✅ | 1.36✅ | 2.39✅ | 0.97🟡 | 1.58✅ | — | 2.45✅ | +| **char** | 2.16✅ | 2.26✅ | 2.43✅ | 1.50✅ | 1.31✅ | 1.61✅ | 1.60✅ | 2.27✅ | 2.32✅ | 1.31✅ | 3.47✅ | 1.42✅ | 2.23✅ | — | 2.80✅ | +| **f16** | 4.70✅ | 4.95✅ | 4.99✅ | 4.11✅ | 4.05✅ | 4.02✅ | 1.97✅ | 3.08✅ | 1.10✅ | 4.21✅ | 1.33✅ | 2.70✅ | 0.96🟡 | — | 1.49✅ | +| **f32** | 3.63✅ | 2.20✅ | 2.35✅ | 1.64✅ | 1.67✅ | 1.90✅ | 1.34✅ | 0.86🟡 | 0.88🟡 | 1.59✅ | 3.62✅ | 1.97✅ | 2.04✅ | — | 2.35✅ | +| **f64** | 2.01✅ | 1.26✅ | 1.31✅ | 1.42✅ | 1.33✅ | 0.70🟡 | 1.49✅ | 0.84🟡 | 0.84🟡 | 1.34✅ | 1.58✅ | 1.71✅ | 2.49✅ | — | 2.58✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 0.97🟡 | 1.07✅ | 0.96🟡 | 1.13✅ | 1.14✅ | 1.72✅ | 1.30✅ | 0.93🟡 | 0.80🟡 | 0.91🟡 | 1.47✅ | 1.40✅ | 1.75✅ | — | 2.20✅ | + +## Layout: negrow (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 3.38✅ | 4.26✅ | 4.97✅ | 1.92✅ | 2.03✅ | 1.41✅ | 1.57✅ | 2.32✅ | 2.40✅ | 1.98✅ | 3.91✅ | 1.79✅ | 2.59✅ | — | 3.34✅ | +| **u8** | 3.67✅ | 1.14✅ | 3.99✅ | 1.71✅ | 1.63✅ | 2.15✅ | 2.24✅ | 2.37✅ | 2.35✅ | 1.87✅ | 3.81✅ | 1.44✅ | 2.29✅ | — | 3.05✅ | +| **i8** | 3.35✅ | 3.21✅ | 0.97🟡 | 2.04✅ | 1.87✅ | 2.02✅ | 2.04✅ | 2.32✅ | 2.48✅ | 1.72✅ | 3.67✅ | 1.73✅ | 2.58✅ | — | 3.25✅ | +| **i16** | 3.19✅ | 2.80✅ | 2.70✅ | 1.39✅ | 1.68✅ | 1.99✅ | 2.03✅ | 2.29✅ | 2.48✅ | 1.78✅ | 3.72✅ | 2.09✅ | 2.42✅ | — | 3.13✅ | +| **u16** | 2.41✅ | 2.59✅ | 2.35✅ | 1.53✅ | 1.32✅ | 1.77✅ | 1.84✅ | 2.45✅ | 2.56✅ | 1.53✅ | 3.57✅ | 2.04✅ | 2.46✅ | — | 2.82✅ | +| **i32** | 2.01✅ | 2.01✅ | 2.04✅ | 1.52✅ | 1.53✅ | 1.97✅ | 1.89✅ | 2.21✅ | 2.32✅ | 1.57✅ | 3.58✅ | 1.54✅ | 2.04✅ | — | 2.86✅ | +| **u32** | 1.96✅ | 2.10✅ | 2.14✅ | 1.47✅ | 1.49✅ | 1.80✅ | 1.91✅ | 2.27✅ | 2.52✅ | 1.59✅ | 3.59✅ | 1.50✅ | 2.18✅ | — | 2.54✅ | +| **i64** | 1.17✅ | 1.21✅ | 1.33✅ | 1.39✅ | 1.41✅ | 1.84✅ | 1.78✅ | 2.65✅ | 2.22✅ | 1.31✅ | 1.84✅ | 1.46✅ | 2.33✅ | — | 2.59✅ | +| **u64** | 1.13✅ | 1.26✅ | 1.29✅ | 1.33✅ | 1.37✅ | 1.83✅ | 1.96✅ | 2.17✅ | 2.39✅ | 1.31✅ | 2.35✅ | 1.00🟡 | 1.59✅ | — | 2.32✅ | +| **char** | 2.36✅ | 2.38✅ | 2.28✅ | 1.71✅ | 1.37✅ | 1.57✅ | 1.58✅ | 2.34✅ | 2.32✅ | 1.33✅ | 3.52✅ | 1.49✅ | 2.37✅ | — | 2.79✅ | +| **f16** | 5.08✅ | 4.80✅ | 4.78✅ | 3.80✅ | 3.83✅ | 3.85✅ | 2.03✅ | 3.13✅ | 1.09✅ | 3.83✅ | 1.34✅ | 2.87✅ | 0.97🟡 | — | 1.60✅ | +| **f32** | 3.30✅ | 2.23✅ | 2.25✅ | 1.60✅ | 1.67✅ | 1.91✅ | 1.36✅ | 0.84🟡 | 0.85🟡 | 1.66✅ | 3.58✅ | 1.95✅ | 2.09✅ | — | 2.25✅ | +| **f64** | 1.87✅ | 1.23✅ | 1.33✅ | 1.44✅ | 1.48✅ | 1.87✅ | 1.44✅ | 0.80🟡 | 0.88🟡 | 1.46✅ | 1.58✅ | 1.69✅ | 2.36✅ | — | 2.54✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.10✅ | 0.94🟡 | 1.01✅ | 1.15✅ | 1.11✅ | 1.47✅ | 1.37✅ | 0.87🟡 | 0.92🟡 | 1.26✅ | 1.41✅ | 1.37✅ | 1.61✅ | — | 2.29✅ | + +## Layout: negcol (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 4.56✅ | 7.06✅ | 6.59✅ | 2.26✅ | 2.21✅ | 1.54✅ | 1.48✅ | 2.25✅ | 2.21✅ | 2.40✅ | 2.80✅ | 1.88✅ | 2.48✅ | — | 3.10✅ | +| **u8** | 1.42✅ | 3.55✅ | 3.38✅ | 2.00✅ | 1.85✅ | 1.77✅ | 1.83✅ | 2.16✅ | 2.24✅ | 1.88✅ | 2.52✅ | 1.47✅ | 2.46✅ | — | 3.02✅ | +| **i8** | 1.31✅ | 4.32✅ | 2.73✅ | 1.70✅ | 1.89✅ | 1.82✅ | 1.83✅ | 2.24✅ | 2.26✅ | 1.73✅ | 2.63✅ | 1.65✅ | 2.37✅ | — | 3.10✅ | +| **i16** | 3.46✅ | 2.49✅ | 2.83✅ | 1.78✅ | 1.77✅ | 1.66✅ | 1.68✅ | 2.17✅ | 2.25✅ | 1.70✅ | 2.01✅ | 1.78✅ | 2.24✅ | — | 2.86✅ | +| **u16** | 3.61✅ | 3.01✅ | 3.11✅ | 1.76✅ | 1.62✅ | 1.68✅ | 1.75✅ | 2.43✅ | 2.22✅ | 1.69✅ | 2.02✅ | 1.43✅ | 2.38✅ | — | 2.92✅ | +| **i32** | 2.10✅ | 1.95✅ | 1.67✅ | 1.60✅ | 1.61✅ | 1.55✅ | 1.55✅ | 2.56✅ | 2.15✅ | 1.68✅ | 2.06✅ | 1.65✅ | 2.06✅ | — | 2.76✅ | +| **u32** | 2.08✅ | 1.60✅ | 1.53✅ | 1.59✅ | 1.58✅ | 1.48✅ | 1.61✅ | 2.46✅ | 2.30✅ | 1.63✅ | 2.02✅ | 1.47✅ | 2.34✅ | — | 2.84✅ | +| **i64** | 1.33✅ | 0.96🟡 | 0.97🟡 | 1.29✅ | 1.41✅ | 1.75✅ | 1.87✅ | 2.41✅ | 2.36✅ | 1.39✅ | 1.30✅ | 1.58✅ | 2.17✅ | — | 2.44✅ | +| **u64** | 1.26✅ | 1.01✅ | 0.93🟡 | 1.27✅ | 1.33✅ | 1.72✅ | 1.69✅ | 2.32✅ | 2.19✅ | 1.34✅ | 1.65✅ | 1.05✅ | 1.50✅ | — | 2.50✅ | +| **char** | 3.38✅ | 2.34✅ | 3.24✅ | 1.67✅ | 1.60✅ | 1.67✅ | 1.65✅ | 2.21✅ | 2.35✅ | 1.64✅ | 2.03✅ | 1.56✅ | 2.27✅ | — | 2.96✅ | +| **f16** | 4.65✅ | 1.73✅ | 1.73✅ | 1.74✅ | 1.76✅ | 2.23✅ | 1.33✅ | 2.07✅ | 0.89🟡 | 1.76✅ | 1.61✅ | 1.56✅ | 0.96🟡 | — | 1.51✅ | +| **f32** | 2.48✅ | 1.71✅ | 1.67✅ | 1.65✅ | 1.62✅ | 1.90✅ | 1.08✅ | 0.85🟡 | 0.81🟡 | 1.61✅ | 1.94✅ | 1.62✅ | 1.20✅ | — | 2.30✅ | +| **f64** | 1.45✅ | 1.12✅ | 1.10✅ | 1.33✅ | 1.38✅ | 1.75✅ | 1.10✅ | 0.83🟡 | 0.83🟡 | 1.39✅ | 1.19✅ | 1.65✅ | 2.67✅ | — | 2.68✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.02✅ | 0.98🟡 | 1.08✅ | 1.19✅ | 1.10✅ | 1.54✅ | 1.16✅ | 0.98🟡 | 0.90🟡 | 1.22✅ | 0.95🟡 | 1.49✅ | 1.71✅ | — | 2.26✅ | + +## Layout: strided (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 2.26✅ | 3.65✅ | 3.30✅ | 3.63✅ | 3.72✅ | 1.18✅ | 1.12✅ | 1.74✅ | 1.77✅ | 2.09✅ | 2.71✅ | 1.41✅ | 1.75✅ | — | 2.30✅ | +| **u8** | 0.97🟡 | 2.00✅ | 2.27✅ | 2.28✅ | 1.89✅ | 1.30✅ | 1.27✅ | 2.06✅ | 1.84✅ | 1.90✅ | 2.55✅ | 1.13✅ | 1.78✅ | — | 2.61✅ | +| **i8** | 0.91🟡 | 2.13✅ | 2.46✅ | 1.91✅ | 1.77✅ | 1.35✅ | 1.55✅ | 2.04✅ | 1.89✅ | 1.86✅ | 2.45✅ | 1.33✅ | 1.92✅ | — | 2.34✅ | +| **i16** | 2.41✅ | 1.68✅ | 1.97✅ | 1.14✅ | 2.07✅ | 1.21✅ | 1.26✅ | 1.90✅ | 1.96✅ | 1.70✅ | 1.89✅ | 1.18✅ | 1.73✅ | — | 2.39✅ | +| **u16** | 2.39✅ | 1.77✅ | 1.76✅ | 1.37✅ | 1.41✅ | 1.29✅ | 1.32✅ | 1.89✅ | 1.90✅ | 1.52✅ | 1.90✅ | 1.04✅ | 1.81✅ | — | 2.32✅ | +| **i32** | 1.60✅ | 1.43✅ | 1.39✅ | 1.16✅ | 1.16✅ | 1.23✅ | 1.08✅ | 1.86✅ | 1.78✅ | 1.26✅ | 1.88✅ | 1.28✅ | 1.76✅ | — | 2.44✅ | +| **u32** | 1.74✅ | 1.22✅ | 1.18✅ | 1.10✅ | 1.25✅ | 1.13✅ | 1.14✅ | 1.86✅ | 1.84✅ | 1.18✅ | 1.95✅ | 1.13✅ | 1.77✅ | — | 2.24✅ | +| **i64** | 1.11✅ | 0.95🟡 | 0.94🟡 | 0.86🟡 | 0.94🟡 | 1.22✅ | 1.35✅ | 1.77✅ | 1.74✅ | 0.91🟡 | 1.19✅ | 1.26✅ | 1.74✅ | — | 2.43✅ | +| **u64** | 1.07✅ | 0.93🟡 | 0.94🟡 | 0.83🟡 | 1.01✅ | 1.20✅ | 1.27✅ | 1.58✅ | 1.70✅ | 1.03✅ | 1.48✅ | 0.74🟡 | 1.47✅ | — | 2.17✅ | +| **char** | 2.39✅ | 1.80✅ | 1.68✅ | 1.26✅ | 1.49✅ | 1.21✅ | 1.30✅ | 1.85✅ | 1.75✅ | 1.51✅ | 1.83✅ | 1.13✅ | 1.73✅ | — | 2.34✅ | +| **f16** | 2.62✅ | 1.49✅ | 1.52✅ | 1.59✅ | 1.66✅ | 1.76✅ | 1.14✅ | 1.85✅ | 0.89🟡 | 1.59✅ | 1.11✅ | 1.23✅ | 0.95🟡 | — | 1.44✅ | +| **f32** | 1.98✅ | 1.31✅ | 1.31✅ | 1.30✅ | 1.37✅ | 1.34✅ | 0.91🟡 | 0.94🟡 | 0.80🟡 | 1.30✅ | 1.78✅ | 1.16✅ | 1.20✅ | — | 2.43✅ | +| **f64** | 1.25✅ | 0.98🟡 | 0.97🟡 | 0.91🟡 | 0.86🟡 | 1.22✅ | 0.94🟡 | 0.89🟡 | 0.80🟡 | 0.94🟡 | 1.06✅ | 1.07✅ | 1.81✅ | — | 2.08✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.07✅ | 1.14✅ | 0.99🟡 | 0.93🟡 | 0.91🟡 | 1.15✅ | 1.03✅ | 0.97🟡 | 0.83🟡 | 0.94🟡 | 0.89🟡 | 1.08✅ | 1.59✅ | — | 1.66✅ | + +## Layout: bcast (rows=src, cols=dst) + +| src\dst | bool | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | dec | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| **bool** | 1.26✅ | 5.38✅ | 6.24✅ | 2.28✅ | 2.24✅ | 1.51✅ | 1.46✅ | 2.32✅ | 2.18✅ | 2.26✅ | 3.97✅ | 1.91✅ | 2.37✅ | — | 3.14✅ | +| **u8** | 4.95✅ | 0.89🟡 | 4.29✅ | 1.87✅ | 1.88✅ | 2.08✅ | 2.14✅ | 2.52✅ | 2.39✅ | 1.87✅ | 3.76✅ | 2.32✅ | 2.15✅ | — | 2.95✅ | +| **i8** | 5.13✅ | 4.15✅ | 0.80🟡 | 1.82✅ | 1.87✅ | 2.12✅ | 2.43✅ | 2.55✅ | 2.38✅ | 1.91✅ | 3.81✅ | 2.16✅ | 2.28✅ | — | 3.14✅ | +| **i16** | 4.77✅ | 3.50✅ | 3.80✅ | 1.60✅ | 1.72✅ | 1.98✅ | 1.91✅ | 2.18✅ | 2.32✅ | 1.69✅ | 3.62✅ | 2.22✅ | 2.52✅ | — | 3.12✅ | +| **u16** | 4.57✅ | 4.20✅ | 3.20✅ | 1.85✅ | 1.63✅ | 1.98✅ | 1.89✅ | 2.26✅ | 2.27✅ | 1.66✅ | 3.72✅ | 2.08✅ | 2.26✅ | — | 2.70✅ | +| **i32** | 3.42✅ | 2.89✅ | 3.25✅ | 1.70✅ | 1.67✅ | 2.12✅ | 1.92✅ | 2.09✅ | 2.34✅ | 1.94✅ | 3.82✅ | 2.24✅ | 2.67✅ | — | 3.00✅ | +| **u32** | 3.64✅ | 3.72✅ | 2.42✅ | 1.66✅ | 1.77✅ | 2.02✅ | 1.99✅ | 2.23✅ | 2.31✅ | 1.90✅ | 3.73✅ | 2.29✅ | 2.27✅ | — | 2.94✅ | +| **i64** | 2.70✅ | 2.23✅ | 2.29✅ | 1.73✅ | 1.72✅ | 2.04✅ | 2.10✅ | 2.41✅ | 2.12✅ | 1.72✅ | 1.85✅ | 2.08✅ | 2.00✅ | — | 2.67✅ | +| **u64** | 2.57✅ | 2.40✅ | 2.16✅ | 1.60✅ | 1.66✅ | 2.08✅ | 1.92✅ | 2.24✅ | 2.29✅ | 1.75✅ | 2.43✅ | 2.26✅ | 2.14✅ | — | 2.72✅ | +| **char** | 4.78✅ | 3.81✅ | 3.84✅ | 1.74✅ | 1.50✅ | 1.65✅ | 1.66✅ | 2.17✅ | 2.36✅ | 1.65✅ | 3.64✅ | 1.54✅ | 2.36✅ | — | 2.75✅ | +| **f16** | 6.87✅ | 5.51✅ | 5.35✅ | 4.23✅ | 4.21✅ | 3.88✅ | 2.04✅ | 3.04✅ | 1.09✅ | 3.86✅ | 1.46✅ | 2.87✅ | 0.96🟡 | — | 1.55✅ | +| **f32** | 4.89✅ | 3.29✅ | 2.71✅ | 1.88✅ | 2.02✅ | 2.15✅ | 1.47✅ | 2.21✅ | 0.86🟡 | 1.84✅ | 3.65✅ | 2.09✅ | 2.11✅ | — | 2.29✅ | +| **f64** | 2.70✅ | 2.15✅ | 2.14✅ | 1.78✅ | 1.77✅ | 2.11✅ | 1.49✅ | 1.99✅ | 0.88🟡 | 1.81✅ | 1.58✅ | 2.04✅ | 2.51✅ | — | 2.66✅ | +| **dec** | — | — | — | — | — | — | — | — | — | — | — | — | — | — | — | +| **c128** | 1.09✅ | 1.06✅ | 1.05✅ | 1.38✅ | 1.40✅ | 1.75✅ | 1.35✅ | 0.84🟡 | 0.80🟡 | 1.39✅ | 1.50✅ | 1.56✅ | 2.01✅ | — | 2.94✅ | + +## Lagging cells (<1.0) — the worklist (118 cells) + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| bool\|F\|bool | 0.0595 | 0.0144 | 0.24 🟠 | +| f64\|sliced\|i32 | 0.9124 | 0.6414 | 0.70 🟡 | +| u64\|strided\|f32 | 0.5215 | 0.3885 | 0.74 🟡 | +| c128\|bcast\|u64 | 1.5413 | 1.2301 | 0.80 🟡 | +| f32\|strided\|u64 | 0.7987 | 0.6399 | 0.80 🟡 | +| i8\|bcast\|i8 | 0.0619 | 0.0496 | 0.80 🟡 | +| c128\|sliced\|u64 | 1.7479 | 1.4021 | 0.80 🟡 | +| f64\|strided\|u64 | 0.7758 | 0.6243 | 0.80 🟡 | +| f64\|negrow\|i64 | 1.5209 | 1.2241 | 0.80 🟡 | +| c128\|F\|u64 | 1.7023 | 1.3717 | 0.81 🟡 | +| f32\|negcol\|u64 | 1.5659 | 1.2627 | 0.81 🟡 | +| f64\|C\|i8 | 0.2927 | 0.2376 | 0.81 🟡 | +| f64\|C\|u8 | 0.2892 | 0.2350 | 0.81 🟡 | +| f32\|F\|i64 | 1.4588 | 1.1945 | 0.82 🟡 | +| c128\|strided\|u64 | 0.9366 | 0.7745 | 0.83 🟡 | +| u64\|strided\|i16 | 0.1726 | 0.1432 | 0.83 🟡 | +| f32\|C\|i64 | 1.4773 | 1.2276 | 0.83 🟡 | +| f64\|negcol\|u64 | 1.5574 | 1.2946 | 0.83 🟡 | +| f32\|T\|i64 | 1.4640 | 1.2208 | 0.83 🟡 | +| f64\|negcol\|i64 | 1.4625 | 1.2196 | 0.83 🟡 | +| c128\|C\|u64 | 1.6652 | 1.3911 | 0.84 🟡 | +| f32\|negrow\|i64 | 1.4768 | 1.2373 | 0.84 🟡 | +| f32\|F\|u64 | 1.4675 | 1.2315 | 0.84 🟡 | +| f64\|sliced\|i64 | 1.4533 | 1.2221 | 0.84 🟡 | +| c128\|bcast\|i64 | 1.4280 | 1.2013 | 0.84 🟡 | +| f64\|sliced\|u64 | 1.4453 | 1.2198 | 0.84 🟡 | +| i8\|T\|i8 | 0.0613 | 0.0519 | 0.85 🟡 | +| c128\|T\|u64 | 1.6154 | 1.3692 | 0.85 🟡 | +| f32\|negrow\|u64 | 1.4957 | 1.2720 | 0.85 🟡 | +| f32\|negcol\|i64 | 1.4173 | 1.2088 | 0.85 🟡 | +| f64\|C\|i64 | 1.4556 | 1.2468 | 0.86 🟡 | +| i64\|strided\|i16 | 0.1748 | 0.1499 | 0.86 🟡 | +| f32\|sliced\|i64 | 1.4408 | 1.2354 | 0.86 🟡 | +| f64\|strided\|u16 | 0.1706 | 0.1469 | 0.86 🟡 | +| f32\|T\|u64 | 1.4532 | 1.2546 | 0.86 🟡 | +| f32\|bcast\|u64 | 1.4571 | 1.2602 | 0.86 🟡 | +| c128\|negrow\|i64 | 1.5665 | 1.3619 | 0.87 🟡 | +| f64\|F\|i64 | 1.4506 | 1.2612 | 0.87 🟡 | +| f64\|T\|i64 | 1.4409 | 1.2540 | 0.87 🟡 | +| f32\|C\|u64 | 1.4695 | 1.2834 | 0.87 🟡 | +| f64\|bcast\|u64 | 1.4020 | 1.2277 | 0.88 🟡 | +| f64\|negrow\|u64 | 1.4430 | 1.2673 | 0.88 🟡 | +| c128\|F\|i8 | 0.3572 | 0.3148 | 0.88 🟡 | +| f32\|sliced\|u64 | 1.4888 | 1.3174 | 0.88 🟡 | +| f16\|negcol\|u64 | 2.1147 | 1.8765 | 0.89 🟡 | +| u8\|bcast\|u8 | 0.0587 | 0.0522 | 0.89 🟡 | +| f64\|strided\|i64 | 0.7057 | 0.6283 | 0.89 🟡 | +| f64\|C\|u64 | 1.4293 | 1.2761 | 0.89 🟡 | +| f16\|strided\|u64 | 1.0346 | 0.9241 | 0.89 🟡 | +| c128\|strided\|f16 | 0.8811 | 0.7874 | 0.89 🟡 | +| f64\|T\|u64 | 1.4221 | 1.2717 | 0.89 🟡 | +| c128\|T\|i64 | 1.5151 | 1.3650 | 0.90 🟡 | +| c128\|negcol\|u64 | 1.6586 | 1.4945 | 0.90 🟡 | +| f64\|F\|u64 | 1.4496 | 1.3097 | 0.90 🟡 | +| f32\|strided\|u32 | 0.3838 | 0.3480 | 0.91 🟡 | +| c128\|sliced\|char | 0.5601 | 0.5081 | 0.91 🟡 | +| f64\|strided\|i16 | 0.1641 | 0.1489 | 0.91 🟡 | +| c128\|F\|u8 | 0.3391 | 0.3083 | 0.91 🟡 | +| i64\|strided\|char | 0.1534 | 0.1397 | 0.91 🟡 | +| i8\|strided\|bool | 0.1632 | 0.1489 | 0.91 🟡 | +| i8\|C\|i8 | 0.0595 | 0.0543 | 0.91 🟡 | +| c128\|strided\|u16 | 0.3051 | 0.2789 | 0.91 🟡 | +| c128\|C\|i64 | 1.5153 | 1.3895 | 0.92 🟡 | +| u64\|F\|u8 | 0.2149 | 0.1979 | 0.92 🟡 | +| c128\|negrow\|u64 | 1.7009 | 1.5680 | 0.92 🟡 | +| i64\|F\|i8 | 0.2150 | 0.1982 | 0.92 🟡 | +| f16\|C\|f64 | 1.5894 | 1.4665 | 0.92 🟡 | +| u64\|C\|u8 | 0.2155 | 0.1988 | 0.92 🟡 | +| i8\|sliced\|i8 | 0.0575 | 0.0530 | 0.92 🟡 | +| c128\|strided\|i16 | 0.3130 | 0.2897 | 0.93 🟡 | +| c128\|C\|u8 | 0.3526 | 0.3283 | 0.93 🟡 | +| u64\|negcol\|i8 | 0.2475 | 0.2306 | 0.93 🟡 | +| i64\|T\|i8 | 0.2114 | 0.1973 | 0.93 🟡 | +| c128\|sliced\|i64 | 1.4869 | 1.3889 | 0.93 🟡 | +| u64\|strided\|u8 | 0.1409 | 0.1316 | 0.93 🟡 | +| c128\|strided\|char | 0.2944 | 0.2754 | 0.94 🟡 | +| f32\|strided\|i64 | 0.7048 | 0.6596 | 0.94 🟡 | +| c128\|C\|i8 | 0.3417 | 0.3201 | 0.94 🟡 | +| i64\|strided\|u16 | 0.1550 | 0.1454 | 0.94 🟡 | +| u64\|F\|i8 | 0.2121 | 0.1991 | 0.94 🟡 | +| u64\|strided\|i8 | 0.1389 | 0.1305 | 0.94 🟡 | +| u64\|T\|u8 | 0.2105 | 0.1978 | 0.94 🟡 | +| i64\|F\|u8 | 0.2204 | 0.2078 | 0.94 🟡 | +| c128\|negrow\|u8 | 0.3492 | 0.3294 | 0.94 🟡 | +| f64\|strided\|char | 0.1593 | 0.1504 | 0.94 🟡 | +| f64\|strided\|u32 | 0.3797 | 0.3587 | 0.94 🟡 | +| i64\|strided\|i8 | 0.1438 | 0.1358 | 0.94 🟡 | +| u64\|C\|i8 | 0.2096 | 0.1981 | 0.95 🟡 | +| f16\|strided\|f64 | 0.7709 | 0.7306 | 0.95 🟡 | +| f16\|F\|f64 | 1.5066 | 1.4286 | 0.95 🟡 | +| i64\|strided\|u8 | 0.1424 | 0.1351 | 0.95 🟡 | +| u64\|T\|i8 | 0.2094 | 0.1987 | 0.95 🟡 | +| c128\|negcol\|f16 | 1.8203 | 1.7315 | 0.95 🟡 | +| f16\|sliced\|f64 | 1.4890 | 1.4241 | 0.96 🟡 | +| c128\|F\|i64 | 1.5008 | 1.4359 | 0.96 🟡 | +| i64\|negcol\|u8 | 0.2439 | 0.2335 | 0.96 🟡 | +| f16\|bcast\|f64 | 1.5177 | 1.4532 | 0.96 🟡 | +| c128\|sliced\|i8 | 0.3253 | 0.3118 | 0.96 🟡 | +| i64\|C\|i8 | 0.2090 | 0.2004 | 0.96 🟡 | +| f16\|negcol\|f64 | 1.5238 | 1.4668 | 0.96 🟡 | +| char\|C\|u16 | 0.2540 | 0.2457 | 0.97 🟡 | +| c128\|sliced\|bool | 0.4498 | 0.4355 | 0.97 🟡 | +| c128\|strided\|i64 | 0.8006 | 0.7755 | 0.97 🟡 | +| u64\|sliced\|f32 | 0.7665 | 0.7425 | 0.97 🟡 | +| f16\|negrow\|f64 | 1.5293 | 1.4823 | 0.97 🟡 | +| f64\|strided\|i8 | 0.1454 | 0.1413 | 0.97 🟡 | +| i8\|negrow\|i8 | 0.0558 | 0.0542 | 0.97 🟡 | +| u8\|strided\|bool | 0.1537 | 0.1495 | 0.97 🟡 | +| i64\|negcol\|i8 | 0.2480 | 0.2414 | 0.97 🟡 | +| i64\|C\|u8 | 0.2108 | 0.2062 | 0.98 🟡 | +| c128\|negcol\|u8 | 0.3485 | 0.3423 | 0.98 🟡 | +| f64\|strided\|u8 | 0.1456 | 0.1431 | 0.98 🟡 | +| c128\|negcol\|i64 | 1.6104 | 1.5838 | 0.98 🟡 | +| f16\|C\|u64 | 1.8886 | 1.8634 | 0.99 🟡 | +| c128\|F\|bool | 0.4151 | 0.4098 | 0.99 🟡 | +| c128\|strided\|i8 | 0.2650 | 0.2633 | 0.99 🟡 | +| f16\|T\|f64 | 1.4800 | 1.4751 | 1.00 🟡 | +| u64\|negrow\|f32 | 0.7923 | 0.7904 | 1.00 🟡 | + +_1568 comparable cells (1800 NumSharp rows; 118 lagging <1.0)._ \ No newline at end of file diff --git a/benchmark/history/2026-06-29_2d16f477/cast_results.tsv b/benchmark/history/2026-06-29_2d16f477/cast_results.tsv new file mode 100644 index 000000000..36b03afc2 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/cast_results.tsv @@ -0,0 +1,1801 @@ +key ns_ms np_ms +1M|bool|C|bool 0.06404499999999999 0.194845 +1M|bool|C|u8 0.11805000000000002 0.307055 +1M|bool|C|i8 0.113415 0.31312 +1M|bool|C|i16 0.19996 0.41982 +1M|bool|C|u16 0.217735 0.431125 +1M|bool|C|i32 0.445175 0.68075 +1M|bool|C|u32 0.45506 0.662215 +1M|bool|C|i64 0.564765 1.15441 +1M|bool|C|u64 0.52071 1.17214 +1M|bool|C|char 0.23722500000000002 0.410165 +1M|bool|C|f16 0.50716 1.66992 +1M|bool|C|f32 0.39961 0.681805 +1M|bool|C|f64 0.49657999999999997 1.23645 +1M|bool|C|dec 0.8737550000000001 NA +1M|bool|C|c128 0.8150299999999999 2.39481 +1M|bool|F|bool 0.059465000000000004 0.014355 +1M|bool|F|u8 0.067515 0.18386 +1M|bool|F|i8 0.068825 0.18626 +1M|bool|F|i16 0.21559 0.419245 +1M|bool|F|u16 0.217315 0.41522 +1M|bool|F|i32 0.449985 0.64265 +1M|bool|F|u32 0.448425 0.63731 +1M|bool|F|i64 0.526295 1.17998 +1M|bool|F|u64 0.50466 1.21294 +1M|bool|F|char 0.220955 0.41731 +1M|bool|F|f16 0.41302500000000003 1.66335 +1M|bool|F|f32 0.38961 0.676345 +1M|bool|F|f64 0.47333 1.20643 +1M|bool|F|dec 0.79323 NA +1M|bool|F|c128 0.79439 2.36658 +1M|bool|T|bool 0.06365499999999999 0.216645 +1M|bool|T|u8 0.092005 0.312155 +1M|bool|T|i8 0.082155 0.307115 +1M|bool|T|i16 0.2439 0.41757 +1M|bool|T|u16 0.230895 0.415045 +1M|bool|T|i32 0.44867 0.66102 +1M|bool|T|u32 0.45228 0.637785 +1M|bool|T|i64 0.5129699999999999 1.18646 +1M|bool|T|u64 0.510695 1.18597 +1M|bool|T|char 0.218775 0.417555 +1M|bool|T|f16 0.39769 1.66943 +1M|bool|T|f32 0.3863 0.68682 +1M|bool|T|f64 0.4542 1.21939 +1M|bool|T|dec 0.820805 NA +1M|bool|T|c128 0.8068500000000001 2.41601 +1M|bool|sliced|bool 0.06394 0.20101 +1M|bool|sliced|u8 0.054869999999999995 0.320455 +1M|bool|sliced|i8 0.056355 0.3377 +1M|bool|sliced|i16 0.21549000000000001 0.42258 +1M|bool|sliced|u16 0.217035 0.433995 +1M|bool|sliced|i32 0.444835 0.662665 +1M|bool|sliced|u32 0.45736 0.711295 +1M|bool|sliced|i64 0.5196449999999999 1.23738 +1M|bool|sliced|u64 0.569205 1.17498 +1M|bool|sliced|char 0.21214 0.422655 +1M|bool|sliced|f16 0.42152500000000004 1.66641 +1M|bool|sliced|f32 0.39662000000000003 0.691845 +1M|bool|sliced|f64 0.47146 1.25577 +1M|bool|sliced|dec 0.84734 NA +1M|bool|sliced|c128 0.77724 2.34729 +1M|bool|negrow|bool 0.057425000000000004 0.194355 +1M|bool|negrow|u8 0.07701 0.327775 +1M|bool|negrow|i8 0.06735 0.334885 +1M|bool|negrow|i16 0.222295 0.42579 +1M|bool|negrow|u16 0.21298499999999998 0.43175 +1M|bool|negrow|i32 0.46952999999999995 0.66318 +1M|bool|negrow|u32 0.454385 0.71154 +1M|bool|negrow|i64 0.537645 1.24654 +1M|bool|negrow|u64 0.50279 1.20707 +1M|bool|negrow|char 0.22058499999999998 0.436715 +1M|bool|negrow|f16 0.430485 1.68517 +1M|bool|negrow|f32 0.40143000000000006 0.719735 +1M|bool|negrow|f64 0.49200999999999995 1.27408 +1M|bool|negrow|dec 0.830785 NA +1M|bool|negrow|c128 0.7307699999999999 2.43763 +1M|bool|negcol|bool 0.07016 0.320025 +1M|bool|negcol|u8 0.0613 0.43279 +1M|bool|negcol|i8 0.06568500000000001 0.43288 +1M|bool|negcol|i16 0.21112999999999998 0.476725 +1M|bool|negcol|u16 0.21982 0.48517 +1M|bool|negcol|i32 0.449965 0.692235 +1M|bool|negcol|u32 0.46256 0.68405 +1M|bool|negcol|i64 0.53935 1.21345 +1M|bool|negcol|u64 0.55166 1.22101 +1M|bool|negcol|char 0.204405 0.489965 +1M|bool|negcol|f16 0.608755 1.70426 +1M|bool|negcol|f32 0.40071 0.751695 +1M|bool|negcol|f64 0.50963 1.26289 +1M|bool|negcol|dec 0.85258 NA +1M|bool|negcol|c128 0.7905 2.45155 +1M|bool|strided|bool 0.040510000000000004 0.09172 +1M|bool|strided|u8 0.04084 0.149185 +1M|bool|strided|i8 0.045255000000000004 0.149235 +1M|bool|strided|i16 0.07148 0.259565 +1M|bool|strided|u16 0.069455 0.258385 +1M|bool|strided|i32 0.290885 0.344665 +1M|bool|strided|u32 0.301315 0.337745 +1M|bool|strided|i64 0.342015 0.595915 +1M|bool|strided|u64 0.33821 0.598285 +1M|bool|strided|char 0.085215 0.17787 +1M|bool|strided|f16 0.29042500000000004 0.78757 +1M|bool|strided|f32 0.261585 0.3687 +1M|bool|strided|f64 0.338265 0.591795 +1M|bool|strided|dec 0.48308999999999996 NA +1M|bool|strided|c128 0.50981 1.17061 +1M|bool|bcast|bool 0.059625 0.07502 +1M|bool|bcast|u8 0.06395999999999999 0.34415 +1M|bool|bcast|i8 0.05497 0.343155 +1M|bool|bcast|i16 0.20972 0.477115 +1M|bool|bcast|u16 0.21095999999999998 0.47203 +1M|bool|bcast|i32 0.44618 0.675895 +1M|bool|bcast|u32 0.46165 0.673235 +1M|bool|bcast|i64 0.5299750000000001 1.23032 +1M|bool|bcast|u64 0.548535 1.19812 +1M|bool|bcast|char 0.20867 0.471975 +1M|bool|bcast|f16 0.424315 1.68373 +1M|bool|bcast|f32 0.38906999999999997 0.741645 +1M|bool|bcast|f64 0.50722 1.2034 +1M|bool|bcast|dec 0.8892049999999999 NA +1M|bool|bcast|c128 0.774525 2.43429 +1M|u8|C|bool 0.063495 0.225395 +1M|u8|C|u8 0.055815000000000003 0.08672 +1M|u8|C|i8 0.06732 0.23971 +1M|u8|C|i16 0.219245 0.370905 +1M|u8|C|u16 0.20227 0.370105 +1M|u8|C|i32 0.30579 0.61441 +1M|u8|C|u32 0.325755 0.61544 +1M|u8|C|i64 0.53069 1.17168 +1M|u8|C|u64 0.47347 1.17173 +1M|u8|C|char 0.22981500000000002 0.371765 +1M|u8|C|f16 0.401785 1.5658 +1M|u8|C|f32 0.45969 0.635055 +1M|u8|C|f64 0.50522 1.21957 +1M|u8|C|dec 0.7978850000000001 NA +1M|u8|C|c128 0.773935 2.37815 +1M|u8|F|bool 0.057030000000000004 0.228875 +1M|u8|F|u8 0.07466500000000001 0.082845 +1M|u8|F|i8 0.06797 0.23661 +1M|u8|F|i16 0.21891500000000003 0.37223 +1M|u8|F|u16 0.22152500000000003 0.377725 +1M|u8|F|i32 0.30147 0.62352 +1M|u8|F|u32 0.29945499999999997 0.61629 +1M|u8|F|i64 0.53809 1.13373 +1M|u8|F|u64 0.4955 1.15578 +1M|u8|F|char 0.23027000000000003 0.373835 +1M|u8|F|f16 0.40235000000000004 1.56691 +1M|u8|F|f32 0.46195 0.639915 +1M|u8|F|f64 0.500225 1.24747 +1M|u8|F|dec 0.8293699999999999 NA +1M|u8|F|c128 0.781765 2.39373 +1M|u8|T|bool 0.057569999999999996 0.226565 +1M|u8|T|u8 0.062055000000000006 0.075125 +1M|u8|T|i8 0.091395 0.232655 +1M|u8|T|i16 0.22357 0.37611 +1M|u8|T|u16 0.22271999999999997 0.373515 +1M|u8|T|i32 0.303525 0.623105 +1M|u8|T|u32 0.31717 0.608905 +1M|u8|T|i64 0.537265 1.18901 +1M|u8|T|u64 0.467815 1.1995 +1M|u8|T|char 0.22510500000000003 0.375515 +1M|u8|T|f16 0.392825 1.5626 +1M|u8|T|f32 0.456065 0.644105 +1M|u8|T|f64 0.50995 1.22972 +1M|u8|T|dec 0.8770300000000001 NA +1M|u8|T|c128 0.8155849999999999 2.42833 +1M|u8|sliced|bool 0.08659 0.236845 +1M|u8|sliced|u8 0.066805 0.0835 +1M|u8|sliced|i8 0.0606 0.23693 +1M|u8|sliced|i16 0.21527500000000002 0.385595 +1M|u8|sliced|u16 0.205575 0.386485 +1M|u8|sliced|i32 0.29342999999999997 0.657915 +1M|u8|sliced|u32 0.31429999999999997 0.672545 +1M|u8|sliced|i64 0.494585 1.20794 +1M|u8|sliced|u64 0.46307 1.18105 +1M|u8|sliced|char 0.224005 0.38482 +1M|u8|sliced|f16 0.42966499999999996 1.5946 +1M|u8|sliced|f32 0.459765 0.645955 +1M|u8|sliced|f64 0.461585 1.30505 +1M|u8|sliced|dec 0.835485 NA +1M|u8|sliced|c128 0.7505 2.38214 +1M|u8|negrow|bool 0.06573999999999999 0.241395 +1M|u8|negrow|u8 0.07173500000000001 0.08212 +1M|u8|negrow|i8 0.06082 0.24276 +1M|u8|negrow|i16 0.23512 0.402695 +1M|u8|negrow|u16 0.2414 0.392415 +1M|u8|negrow|i32 0.3025 0.65185 +1M|u8|negrow|u32 0.29512 0.66043 +1M|u8|negrow|i64 0.496035 1.17598 +1M|u8|negrow|u64 0.516925 1.21576 +1M|u8|negrow|char 0.215985 0.40394 +1M|u8|negrow|f16 0.425315 1.61946 +1M|u8|negrow|f32 0.46204 0.66704 +1M|u8|negrow|f64 0.555495 1.27478 +1M|u8|negrow|dec 0.77773 NA +1M|u8|negrow|c128 0.7964249999999999 2.43244 +1M|u8|negcol|bool 0.25266 0.358175 +1M|u8|negcol|u8 0.067515 0.23987 +1M|u8|negcol|i8 0.07577 0.2558 +1M|u8|negcol|i16 0.20917 0.418215 +1M|u8|negcol|u16 0.22508 0.415355 +1M|u8|negcol|i32 0.37461500000000003 0.66422 +1M|u8|negcol|u32 0.36921499999999996 0.675365 +1M|u8|negcol|i64 0.5611349999999999 1.20984 +1M|u8|negcol|u64 0.53817 1.20688 +1M|u8|negcol|char 0.22251500000000002 0.417445 +1M|u8|negcol|f16 0.633625 1.59876 +1M|u8|negcol|f32 0.466505 0.687995 +1M|u8|negcol|f64 0.5394300000000001 1.32438 +1M|u8|negcol|dec 0.8343400000000001 NA +1M|u8|negcol|c128 0.8121700000000001 2.45 +1M|u8|strided|bool 0.15370999999999999 0.149485 +1M|u8|strided|u8 0.046005000000000004 0.09213 +1M|u8|strided|i8 0.04551 0.103195 +1M|u8|strided|i16 0.064265 0.146415 +1M|u8|strided|u16 0.076095 0.144005 +1M|u8|strided|i32 0.24925999999999998 0.32414 +1M|u8|strided|u32 0.25101 0.31936 +1M|u8|strided|i64 0.305745 0.63021 +1M|u8|strided|u64 0.33927 0.625095 +1M|u8|strided|char 0.077455 0.1468 +1M|u8|strided|f16 0.292845 0.74583 +1M|u8|strided|f32 0.29801 0.337765 +1M|u8|strided|f64 0.338125 0.60197 +1M|u8|strided|dec 0.49054000000000003 NA +1M|u8|strided|c128 0.46891999999999995 1.22556 +1M|u8|bcast|bool 0.07033500000000001 0.348195 +1M|u8|bcast|u8 0.058699999999999995 0.05222 +1M|u8|bcast|i8 0.05565 0.238765 +1M|u8|bcast|i16 0.21831 0.407215 +1M|u8|bcast|u16 0.22152500000000003 0.416565 +1M|u8|bcast|i32 0.31761 0.66192 +1M|u8|bcast|u32 0.30949499999999996 0.660795 +1M|u8|bcast|i64 0.48303 1.21845 +1M|u8|bcast|u64 0.52089 1.2428 +1M|u8|bcast|char 0.21961499999999998 0.41089 +1M|u8|bcast|f16 0.423705 1.59486 +1M|u8|bcast|f32 0.29547 0.68432 +1M|u8|bcast|f64 0.57533 1.23437 +1M|u8|bcast|dec 0.78096 NA +1M|u8|bcast|c128 0.8144450000000001 2.40176 +1M|i8|C|bool 0.08035 0.209775 +1M|i8|C|u8 0.06753 0.214035 +1M|i8|C|i8 0.05945 0.05433 +1M|i8|C|i16 0.22710499999999997 0.41268 +1M|i8|C|u16 0.22250999999999999 0.39247 +1M|i8|C|i32 0.3342 0.650185 +1M|i8|C|u32 0.31989999999999996 0.62456 +1M|i8|C|i64 0.52332 1.22745 +1M|i8|C|u64 0.46462000000000003 1.23515 +1M|i8|C|char 0.21812 0.384435 +1M|i8|C|f16 0.40559 1.59977 +1M|i8|C|f32 0.364425 0.65279 +1M|i8|C|f64 0.479655 1.26572 +1M|i8|C|dec 0.778705 NA +1M|i8|C|c128 0.797535 2.37751 +1M|i8|F|bool 0.059715 0.210915 +1M|i8|F|u8 0.06467 0.20965 +1M|i8|F|i8 0.055975 0.058655 +1M|i8|F|i16 0.21578499999999998 0.417505 +1M|i8|F|u16 0.21878000000000003 0.394505 +1M|i8|F|i32 0.30531 0.653325 +1M|i8|F|u32 0.29266000000000003 0.622375 +1M|i8|F|i64 0.474845 1.22786 +1M|i8|F|u64 0.49336 1.23637 +1M|i8|F|char 0.22691499999999998 0.38776 +1M|i8|F|f16 0.4069 1.57864 +1M|i8|F|f32 0.36751 0.651415 +1M|i8|F|f64 0.521735 1.24957 +1M|i8|F|dec 0.855465 NA +1M|i8|F|c128 0.8190500000000001 2.41363 +1M|i8|T|bool 0.081135 0.209445 +1M|i8|T|u8 0.060655 0.20785 +1M|i8|T|i8 0.06129 0.05191 +1M|i8|T|i16 0.22254999999999997 0.409535 +1M|i8|T|u16 0.22639499999999999 0.39714 +1M|i8|T|i32 0.32204 0.64679 +1M|i8|T|u32 0.322805 0.68534 +1M|i8|T|i64 0.51764 1.29557 +1M|i8|T|u64 0.5086350000000001 1.23128 +1M|i8|T|char 0.216155 0.380015 +1M|i8|T|f16 0.418305 1.58603 +1M|i8|T|f32 0.36677 0.65912 +1M|i8|T|f64 0.52195 1.28166 +1M|i8|T|dec 0.79762 NA +1M|i8|T|c128 0.79943 2.42771 +1M|i8|sliced|bool 0.073145 0.21645 +1M|i8|sliced|u8 0.070395 0.21348 +1M|i8|sliced|i8 0.05746 0.053045 +1M|i8|sliced|i16 0.24095 0.422295 +1M|i8|sliced|u16 0.223345 0.389365 +1M|i8|sliced|i32 0.31521499999999997 0.62844 +1M|i8|sliced|u32 0.329295 0.630975 +1M|i8|sliced|i64 0.534605 1.2316 +1M|i8|sliced|u64 0.556655 1.19231 +1M|i8|sliced|char 0.232385 0.3836 +1M|i8|sliced|f16 0.417175 1.60879 +1M|i8|sliced|f32 0.388385 0.65445 +1M|i8|sliced|f64 0.501865 1.24366 +1M|i8|sliced|dec 0.859155 NA +1M|i8|sliced|c128 0.8081950000000001 2.47819 +1M|i8|negrow|bool 0.06731000000000001 0.22573 +1M|i8|negrow|u8 0.067995 0.218245 +1M|i8|negrow|i8 0.05580500000000001 0.05424 +1M|i8|negrow|i16 0.217855 0.443945 +1M|i8|negrow|u16 0.21516000000000002 0.403055 +1M|i8|negrow|i32 0.320535 0.648725 +1M|i8|negrow|u32 0.31791 0.64716 +1M|i8|negrow|i64 0.52031 1.20596 +1M|i8|negrow|u64 0.49444499999999997 1.2278 +1M|i8|negrow|char 0.23176000000000002 0.39973 +1M|i8|negrow|f16 0.442375 1.6228 +1M|i8|negrow|f32 0.39846 0.68904 +1M|i8|negrow|f64 0.489775 1.26555 +1M|i8|negrow|dec 0.82204 NA +1M|i8|negrow|c128 0.77514 2.52088 +1M|i8|negcol|bool 0.253975 0.332975 +1M|i8|negcol|u8 0.055425 0.239385 +1M|i8|negcol|i8 0.079795 0.21797 +1M|i8|negcol|i16 0.24329 0.41312 +1M|i8|negcol|u16 0.21855000000000002 0.41405 +1M|i8|negcol|i32 0.363255 0.66157 +1M|i8|negcol|u32 0.3778 0.690315 +1M|i8|negcol|i64 0.54161 1.21193 +1M|i8|negcol|u64 0.5469299999999999 1.23621 +1M|i8|negcol|char 0.24396 0.42149 +1M|i8|negcol|f16 0.62257 1.63459 +1M|i8|negcol|f32 0.42417 0.698555 +1M|i8|negcol|f64 0.547835 1.29604 +1M|i8|negcol|dec 0.855535 NA +1M|i8|negcol|c128 0.799545 2.48043 +1M|i8|strided|bool 0.163165 0.148865 +1M|i8|strided|u8 0.048095 0.10244 +1M|i8|strided|i8 0.037385 0.092055 +1M|i8|strided|i16 0.069065 0.132255 +1M|i8|strided|u16 0.07258 0.128535 +1M|i8|strided|i32 0.243325 0.328345 +1M|i8|strided|u32 0.23274499999999998 0.360245 +1M|i8|strided|i64 0.318925 0.649035 +1M|i8|strided|u64 0.33039 0.62578 +1M|i8|strided|char 0.068435 0.1275 +1M|i8|strided|f16 0.29568500000000003 0.72562 +1M|i8|strided|f32 0.26522999999999997 0.35166 +1M|i8|strided|f64 0.32043 0.6142 +1M|i8|strided|dec 0.50292 NA +1M|i8|strided|c128 0.5144949999999999 1.20205 +1M|i8|bcast|bool 0.06381 0.32761 +1M|i8|bcast|u8 0.057035 0.23646 +1M|i8|bcast|i8 0.06193 0.049645 +1M|i8|bcast|i16 0.22440000000000002 0.40882 +1M|i8|bcast|u16 0.217935 0.4078 +1M|i8|bcast|i32 0.320325 0.67852 +1M|i8|bcast|u32 0.294225 0.714555 +1M|i8|bcast|i64 0.49832 1.27232 +1M|i8|bcast|u64 0.519305 1.23525 +1M|i8|bcast|char 0.21760000000000002 0.416115 +1M|i8|bcast|f16 0.42344499999999996 1.61437 +1M|i8|bcast|f32 0.31927 0.69068 +1M|i8|bcast|f64 0.5467 1.24419 +1M|i8|bcast|dec 0.8230299999999999 NA +1M|i8|bcast|c128 0.774715 2.43284 +1M|i16|C|bool 0.09503 0.20867 +1M|i16|C|u8 0.08610999999999999 0.19681 +1M|i16|C|i8 0.090365 0.23408 +1M|i16|C|i16 0.181385 0.2517 +1M|i16|C|u16 0.17826999999999998 0.37701 +1M|i16|C|i32 0.31084 0.64919 +1M|i16|C|u32 0.328615 0.640855 +1M|i16|C|i64 0.497025 1.20252 +1M|i16|C|u64 0.49654999999999994 1.25048 +1M|i16|C|char 0.24794999999999998 0.3889 +1M|i16|C|f16 0.42683 1.58143 +1M|i16|C|f32 0.326785 0.625965 +1M|i16|C|f64 0.47465 1.24073 +1M|i16|C|dec 0.86962 NA +1M|i16|C|c128 0.86579 2.41287 +1M|i16|F|bool 0.10528 0.19734 +1M|i16|F|u8 0.0953 0.19632 +1M|i16|F|i8 0.08259 0.208365 +1M|i16|F|i16 0.18939 0.24825 +1M|i16|F|u16 0.191205 0.379395 +1M|i16|F|i32 0.336605 0.6206 +1M|i16|F|u32 0.314175 0.632355 +1M|i16|F|i64 0.47519999999999996 1.22883 +1M|i16|F|u64 0.517155 1.2369 +1M|i16|F|char 0.17664 0.387605 +1M|i16|F|f16 0.428265 1.58723 +1M|i16|F|f32 0.3173 0.651885 +1M|i16|F|f64 0.52054 1.24663 +1M|i16|F|dec 0.8764649999999999 NA +1M|i16|F|c128 0.829735 2.49616 +1M|i16|T|bool 0.086675 0.198255 +1M|i16|T|u8 0.09289 0.19717 +1M|i16|T|i8 0.074385 0.239005 +1M|i16|T|i16 0.19715 0.246865 +1M|i16|T|u16 0.18083 0.382445 +1M|i16|T|i32 0.31504 0.63385 +1M|i16|T|u32 0.315665 0.64488 +1M|i16|T|i64 0.49966499999999997 1.21411 +1M|i16|T|u64 0.5435 1.22378 +1M|i16|T|char 0.19250499999999998 0.385135 +1M|i16|T|f16 0.40642500000000004 1.57049 +1M|i16|T|f32 0.31181000000000003 0.631095 +1M|i16|T|f64 0.49722 1.22117 +1M|i16|T|dec 0.8300750000000001 NA +1M|i16|T|c128 0.810055 2.44545 +1M|i16|sliced|bool 0.092525 0.20776 +1M|i16|sliced|u8 0.07315 0.20613 +1M|i16|sliced|i8 0.081035 0.20769 +1M|i16|sliced|i16 0.236565 0.3434 +1M|i16|sliced|u16 0.22231499999999998 0.381005 +1M|i16|sliced|i32 0.32254499999999997 0.62354 +1M|i16|sliced|u32 0.339515 0.643435 +1M|i16|sliced|i64 0.48549499999999995 1.19706 +1M|i16|sliced|u64 0.48597 1.21389 +1M|i16|sliced|char 0.24964499999999998 0.403275 +1M|i16|sliced|f16 0.45137 1.59921 +1M|i16|sliced|f32 0.305555 0.62948 +1M|i16|sliced|f64 0.50168 1.29444 +1M|i16|sliced|dec 0.89595 NA +1M|i16|sliced|c128 0.86889 2.47694 +1M|i16|negrow|bool 0.069235 0.22109 +1M|i16|negrow|u8 0.075705 0.21213 +1M|i16|negrow|i8 0.078565 0.212205 +1M|i16|negrow|i16 0.24733999999999998 0.344095 +1M|i16|negrow|u16 0.23653 0.39786 +1M|i16|negrow|i32 0.324905 0.646225 +1M|i16|negrow|u32 0.30891 0.628065 +1M|i16|negrow|i64 0.5342450000000001 1.22079 +1M|i16|negrow|u64 0.508135 1.26148 +1M|i16|negrow|char 0.22261999999999998 0.39591 +1M|i16|negrow|f16 0.43661500000000003 1.62328 +1M|i16|negrow|f32 0.31177 0.651765 +1M|i16|negrow|f64 0.49640500000000004 1.19991 +1M|i16|negrow|dec 0.83886 NA +1M|i16|negrow|c128 0.79977 2.5023 +1M|i16|negcol|bool 0.09389 0.324865 +1M|i16|negcol|u8 0.09084 0.225845 +1M|i16|negcol|i8 0.08306 0.2348 +1M|i16|negcol|i16 0.22872499999999998 0.406865 +1M|i16|negcol|u16 0.237865 0.421975 +1M|i16|negcol|i32 0.39779 0.659765 +1M|i16|negcol|u32 0.387965 0.651805 +1M|i16|negcol|i64 0.58344 1.26494 +1M|i16|negcol|u64 0.547155 1.23263 +1M|i16|negcol|char 0.24745499999999998 0.41945 +1M|i16|negcol|f16 0.8047449999999999 1.61381 +1M|i16|negcol|f32 0.40302 0.716315 +1M|i16|negcol|f64 0.54687 1.22521 +1M|i16|negcol|dec 0.8224 NA +1M|i16|negcol|c128 0.829095 2.37096 +1M|i16|strided|bool 0.06532 0.15755 +1M|i16|strided|u8 0.06414 0.10766 +1M|i16|strided|i8 0.056115000000000005 0.110825 +1M|i16|strided|i16 0.093485 0.106235 +1M|i16|strided|u16 0.070165 0.145305 +1M|i16|strided|i32 0.261375 0.317345 +1M|i16|strided|u32 0.25447000000000003 0.31989 +1M|i16|strided|i64 0.31455500000000003 0.597925 +1M|i16|strided|u64 0.30961 0.606905 +1M|i16|strided|char 0.085075 0.144825 +1M|i16|strided|f16 0.379405 0.71769 +1M|i16|strided|f32 0.283425 0.33432 +1M|i16|strided|f64 0.351885 0.609105 +1M|i16|strided|dec 0.5164799999999999 NA +1M|i16|strided|c128 0.50182 1.19785 +1M|i16|bcast|bool 0.06666 0.317965 +1M|i16|bcast|u8 0.06089 0.213105 +1M|i16|bcast|i8 0.0593 0.22508 +1M|i16|bcast|i16 0.22851499999999997 0.36628 +1M|i16|bcast|u16 0.23936000000000002 0.41052 +1M|i16|bcast|i32 0.319525 0.63144 +1M|i16|bcast|u32 0.33283 0.635585 +1M|i16|bcast|i64 0.528385 1.15419 +1M|i16|bcast|u64 0.51827 1.20476 +1M|i16|bcast|char 0.250915 0.424645 +1M|i16|bcast|f16 0.43861 1.58978 +1M|i16|bcast|f32 0.31282 0.69479 +1M|i16|bcast|f64 0.47935999999999995 1.20729 +1M|i16|bcast|dec 0.8452299999999999 NA +1M|i16|bcast|c128 0.779715 2.43466 +1M|u16|C|bool 0.09009500000000001 0.20021 +1M|u16|C|u8 0.07433 0.208405 +1M|u16|C|i8 0.070085 0.19674 +1M|u16|C|i16 0.1758 0.37317 +1M|u16|C|u16 0.198125 0.24538 +1M|u16|C|i32 0.30615000000000003 0.63887 +1M|u16|C|u32 0.30833499999999997 0.65931 +1M|u16|C|i64 0.473375 1.24292 +1M|u16|C|u64 0.5501750000000001 1.22148 +1M|u16|C|char 0.23765999999999998 0.256525 +1M|u16|C|f16 0.423655 1.57068 +1M|u16|C|f32 0.32823 0.63351 +1M|u16|C|f64 0.496915 1.22128 +1M|u16|C|dec 0.9060600000000001 NA +1M|u16|C|c128 0.8336600000000001 2.47535 +1M|u16|F|bool 0.091435 0.20691 +1M|u16|F|u8 0.07606 0.208335 +1M|u16|F|i8 0.074765 0.19648 +1M|u16|F|i16 0.193525 0.37336 +1M|u16|F|u16 0.191 0.242425 +1M|u16|F|i32 0.334405 0.630155 +1M|u16|F|u32 0.32331 0.653335 +1M|u16|F|i64 0.44798499999999997 1.2 +1M|u16|F|u64 0.54159 1.22263 +1M|u16|F|char 0.185095 0.25055 +1M|u16|F|f16 0.43384999999999996 1.58268 +1M|u16|F|f32 0.32072 0.627305 +1M|u16|F|f64 0.5534399999999999 1.20136 +1M|u16|F|dec 0.8473200000000001 NA +1M|u16|F|c128 0.8252649999999999 2.35538 +1M|u16|T|bool 0.088785 0.1976 +1M|u16|T|u8 0.07879 0.197565 +1M|u16|T|i8 0.08003 0.19642 +1M|u16|T|i16 0.196495 0.37621 +1M|u16|T|u16 0.19415 0.24381 +1M|u16|T|i32 0.31854 0.648045 +1M|u16|T|u32 0.32925499999999996 0.654215 +1M|u16|T|i64 0.48709499999999994 1.1904 +1M|u16|T|u64 0.517115 1.23803 +1M|u16|T|char 0.17108 0.24709 +1M|u16|T|f16 0.428655 1.57279 +1M|u16|T|f32 0.33172 0.62931 +1M|u16|T|f64 0.5178550000000001 1.18448 +1M|u16|T|dec 0.83759 NA +1M|u16|T|c128 0.94532 2.3616 +1M|u16|sliced|bool 0.06919499999999999 0.20628 +1M|u16|sliced|u8 0.07989500000000001 0.212255 +1M|u16|sliced|i8 0.07052 0.204375 +1M|u16|sliced|i16 0.258115 0.37582 +1M|u16|sliced|u16 0.24640499999999999 0.32786 +1M|u16|sliced|i32 0.31133500000000003 0.64273 +1M|u16|sliced|u32 0.345435 0.67768 +1M|u16|sliced|i64 0.48267499999999997 1.20659 +1M|u16|sliced|u64 0.539605 1.18676 +1M|u16|sliced|char 0.24314 0.331465 +1M|u16|sliced|f16 0.44592 1.6129 +1M|u16|sliced|f32 0.33254 0.624035 +1M|u16|sliced|f64 0.48761 1.19229 +1M|u16|sliced|dec 0.89861 NA +1M|u16|sliced|c128 0.80731 2.43133 +1M|u16|negrow|bool 0.091025 0.21976 +1M|u16|negrow|u8 0.084715 0.219025 +1M|u16|negrow|i8 0.08940000000000001 0.210455 +1M|u16|negrow|i16 0.25646 0.39147 +1M|u16|negrow|u16 0.25216 0.33247 +1M|u16|negrow|i32 0.35155 0.622065 +1M|u16|negrow|u32 0.33903500000000003 0.62477 +1M|u16|negrow|i64 0.48632 1.19299 +1M|u16|negrow|u64 0.47157 1.20696 +1M|u16|negrow|char 0.22585000000000002 0.34608 +1M|u16|negrow|f16 0.457465 1.63401 +1M|u16|negrow|f32 0.324795 0.66401 +1M|u16|negrow|f64 0.4888 1.20376 +1M|u16|negrow|dec 0.82739 NA +1M|u16|negrow|c128 0.8378249999999999 2.36516 +1M|u16|negcol|bool 0.090165 0.32543 +1M|u16|negcol|u8 0.08193 0.246455 +1M|u16|negcol|i8 0.07447000000000001 0.231255 +1M|u16|negcol|i16 0.23449 0.41192 +1M|u16|negcol|u16 0.24196 0.392875 +1M|u16|negcol|i32 0.39654 0.664315 +1M|u16|negcol|u32 0.375725 0.657645 +1M|u16|negcol|i64 0.49067 1.19124 +1M|u16|negcol|u64 0.545705 1.21069 +1M|u16|negcol|char 0.239435 0.40365 +1M|u16|negcol|f16 0.810335 1.63547 +1M|u16|negcol|f32 0.49022 0.70334 +1M|u16|negcol|f64 0.534625 1.27278 +1M|u16|negcol|dec 0.93183 NA +1M|u16|negcol|c128 0.82036 2.3954 +1M|u16|strided|bool 0.06611500000000001 0.158 +1M|u16|strided|u8 0.059775 0.105855 +1M|u16|strided|i8 0.06272 0.1105 +1M|u16|strided|i16 0.08641499999999999 0.11821 +1M|u16|strided|u16 0.07517 0.106115 +1M|u16|strided|i32 0.25768 0.33174 +1M|u16|strided|u32 0.24987499999999999 0.329335 +1M|u16|strided|i64 0.32464499999999996 0.61515 +1M|u16|strided|u64 0.32459 0.61725 +1M|u16|strided|char 0.07100999999999999 0.1081 +1M|u16|strided|f16 0.38544999999999996 0.731475 +1M|u16|strided|f32 0.32016 0.3319 +1M|u16|strided|f64 0.33291499999999996 0.60177 +1M|u16|strided|dec 0.497745 NA +1M|u16|strided|c128 0.521685 1.21052 +1M|u16|bcast|bool 0.06889999999999999 0.31518 +1M|u16|bcast|u8 0.056799999999999996 0.2388 +1M|u16|bcast|i8 0.0705 0.225905 +1M|u16|bcast|i16 0.21737 0.402425 +1M|u16|bcast|u16 0.221685 0.362315 +1M|u16|bcast|i32 0.326275 0.646635 +1M|u16|bcast|u32 0.343935 0.65059 +1M|u16|bcast|i64 0.5445450000000001 1.23025 +1M|u16|bcast|u64 0.537605 1.22073 +1M|u16|bcast|char 0.221415 0.368565 +1M|u16|bcast|f16 0.43422499999999997 1.61353 +1M|u16|bcast|f32 0.325675 0.67647 +1M|u16|bcast|f64 0.537005 1.21156 +1M|u16|bcast|dec 0.818445 NA +1M|u16|bcast|c128 0.86954 2.35067 +1M|i32|C|bool 0.134575 0.201385 +1M|i32|C|u8 0.171495 0.197545 +1M|i32|C|i8 0.17192000000000002 0.2001 +1M|i32|C|i16 0.256755 0.37529 +1M|i32|C|u16 0.252925 0.38289 +1M|i32|C|i32 0.28502 0.483525 +1M|i32|C|u32 0.29672 0.62766 +1M|i32|C|i64 0.52675 1.19264 +1M|i32|C|u64 0.5337799999999999 1.21212 +1M|i32|C|char 0.268995 0.38445 +1M|i32|C|f16 0.432045 1.57144 +1M|i32|C|f32 0.38129 0.624195 +1M|i32|C|f64 0.47626 1.24648 +1M|i32|C|dec 0.8738849999999999 NA +1M|i32|C|c128 0.8667849999999999 2.48193 +1M|i32|F|bool 0.11691499999999999 0.19737 +1M|i32|F|u8 0.17783 0.19687 +1M|i32|F|i8 0.16904 0.198645 +1M|i32|F|i16 0.260305 0.38508 +1M|i32|F|u16 0.26078 0.388615 +1M|i32|F|i32 0.28668 0.503705 +1M|i32|F|u32 0.300855 0.653535 +1M|i32|F|i64 0.501395 1.23539 +1M|i32|F|u64 0.503795 1.24866 +1M|i32|F|char 0.2647 0.39594 +1M|i32|F|f16 0.40709999999999996 1.5883 +1M|i32|F|f32 0.36442 0.62823 +1M|i32|F|f64 0.52495 1.22263 +1M|i32|F|dec 0.9323600000000001 NA +1M|i32|F|c128 0.840505 2.39604 +1M|i32|T|bool 0.111245 0.19717 +1M|i32|T|u8 0.17419500000000002 0.197185 +1M|i32|T|i8 0.16866 0.20048 +1M|i32|T|i16 0.24894500000000003 0.378245 +1M|i32|T|u16 0.251755 0.38367 +1M|i32|T|i32 0.29057 0.490475 +1M|i32|T|u32 0.280345 0.64849 +1M|i32|T|i64 0.58555 1.21111 +1M|i32|T|u64 0.56959 1.20022 +1M|i32|T|char 0.252205 0.41768 +1M|i32|T|f16 0.39835 1.57819 +1M|i32|T|f32 0.3751 0.61719 +1M|i32|T|f64 0.48041 1.23254 +1M|i32|T|dec 0.87058 NA +1M|i32|T|c128 0.832755 2.4593 +1M|i32|sliced|bool 0.107015 0.207425 +1M|i32|sliced|u8 0.093055 0.20517 +1M|i32|sliced|i8 0.09858 0.2069 +1M|i32|sliced|i16 0.26376 0.376525 +1M|i32|sliced|u16 0.250295 0.38512 +1M|i32|sliced|i32 0.342615 0.651775 +1M|i32|sliced|u32 0.34052 0.6158 +1M|i32|sliced|i64 0.54494 1.1653 +1M|i32|sliced|u64 0.535895 1.19567 +1M|i32|sliced|char 0.249355 0.38752 +1M|i32|sliced|f16 0.42701500000000003 1.57903 +1M|i32|sliced|f32 0.40374 0.63884 +1M|i32|sliced|f64 0.49402 1.18286 +1M|i32|sliced|dec 0.851845 NA +1M|i32|sliced|c128 0.828665 2.36717 +1M|i32|negrow|bool 0.109765 0.220205 +1M|i32|negrow|u8 0.104925 0.21137 +1M|i32|negrow|i8 0.10389 0.211945 +1M|i32|negrow|i16 0.26211 0.39772 +1M|i32|negrow|u16 0.256435 0.392875 +1M|i32|negrow|i32 0.332415 0.654635 +1M|i32|negrow|u32 0.351225 0.66337 +1M|i32|negrow|i64 0.556745 1.23195 +1M|i32|negrow|u64 0.523145 1.21383 +1M|i32|negrow|char 0.25749 0.40517 +1M|i32|negrow|f16 0.449305 1.6104 +1M|i32|negrow|f32 0.41058500000000003 0.631515 +1M|i32|negrow|f64 0.5868 1.19996 +1M|i32|negrow|dec 0.86471 NA +1M|i32|negrow|c128 0.8558049999999999 2.45169 +1M|i32|negcol|bool 0.154895 0.32502 +1M|i32|negcol|u8 0.144955 0.281945 +1M|i32|negcol|i8 0.134135 0.224365 +1M|i32|negcol|i16 0.26266 0.421535 +1M|i32|negcol|u16 0.258345 0.41654 +1M|i32|negcol|i32 0.40671999999999997 0.63221 +1M|i32|negcol|u32 0.423865 0.657905 +1M|i32|negcol|i64 0.47650499999999996 1.21809 +1M|i32|negcol|u64 0.5654 1.21492 +1M|i32|negcol|char 0.25221 0.42335 +1M|i32|negcol|f16 0.787865 1.62427 +1M|i32|negcol|f32 0.41337999999999997 0.680875 +1M|i32|negcol|f64 0.587115 1.21083 +1M|i32|negcol|dec 0.900815 NA +1M|i32|negcol|c128 0.867015 2.39177 +1M|i32|strided|bool 0.098435 0.15737 +1M|i32|strided|u8 0.08107 0.116105 +1M|i32|strided|i8 0.076285 0.106195 +1M|i32|strided|i16 0.10093 0.11685 +1M|i32|strided|u16 0.10001 0.11645 +1M|i32|strided|i32 0.262705 0.323965 +1M|i32|strided|u32 0.299685 0.323595 +1M|i32|strided|i64 0.328805 0.611855 +1M|i32|strided|u64 0.34178000000000003 0.609915 +1M|i32|strided|char 0.094695 0.11941 +1M|i32|strided|f16 0.380135 0.71446 +1M|i32|strided|f32 0.257725 0.3301 +1M|i32|strided|f64 0.34441 0.607365 +1M|i32|strided|dec 0.52331 NA +1M|i32|strided|c128 0.49106500000000003 1.19795 +1M|i32|bcast|bool 0.092625 0.316755 +1M|i32|bcast|u8 0.095725 0.276555 +1M|i32|bcast|i8 0.06869 0.22338 +1M|i32|bcast|i16 0.241425 0.409295 +1M|i32|bcast|u16 0.24319000000000002 0.406985 +1M|i32|bcast|i32 0.337315 0.713935 +1M|i32|bcast|u32 0.329845 0.631885 +1M|i32|bcast|i64 0.56391 1.18029 +1M|i32|bcast|u64 0.5092399999999999 1.19282 +1M|i32|bcast|char 0.21119500000000002 0.40928 +1M|i32|bcast|f16 0.420365 1.60758 +1M|i32|bcast|f32 0.296775 0.66541 +1M|i32|bcast|f64 0.45529000000000003 1.21429 +1M|i32|bcast|dec 0.827205 NA +1M|i32|bcast|c128 0.794925 2.38366 +1M|u32|C|bool 0.111395 0.19738 +1M|u32|C|u8 0.16934 0.19999 +1M|u32|C|i8 0.172365 0.20096 +1M|u32|C|i16 0.27789 0.37447 +1M|u32|C|u16 0.257605 0.371395 +1M|u32|C|i32 0.290435 0.629815 +1M|u32|C|u32 0.29400499999999996 0.48644 +1M|u32|C|i64 0.56006 1.2277 +1M|u32|C|u64 0.5146200000000001 1.17723 +1M|u32|C|char 0.26053000000000004 0.3853 +1M|u32|C|f16 0.454545 1.66476 +1M|u32|C|f32 0.49587000000000003 0.73097 +1M|u32|C|f64 0.5169699999999999 1.20967 +1M|u32|C|dec 0.9105000000000001 NA +1M|u32|C|c128 0.91396 2.45799 +1M|u32|F|bool 0.106685 0.197735 +1M|u32|F|u8 0.175285 0.19818 +1M|u32|F|i8 0.185135 0.196465 +1M|u32|F|i16 0.25173999999999996 0.386785 +1M|u32|F|u16 0.26637 0.381565 +1M|u32|F|i32 0.29300000000000004 0.62903 +1M|u32|F|u32 0.301195 0.495275 +1M|u32|F|i64 0.527045 1.21797 +1M|u32|F|u64 0.53886 1.21804 +1M|u32|F|char 0.254265 0.38143 +1M|u32|F|f16 0.436315 1.68675 +1M|u32|F|f32 0.48756000000000005 0.7533 +1M|u32|F|f64 0.56435 1.2187 +1M|u32|F|dec 0.89458 NA +1M|u32|F|c128 0.9891349999999999 2.42843 +1M|u32|T|bool 0.10525 0.198925 +1M|u32|T|u8 0.1704 0.197055 +1M|u32|T|i8 0.173 0.20003 +1M|u32|T|i16 0.256985 0.382315 +1M|u32|T|u16 0.25753499999999996 0.37863 +1M|u32|T|i32 0.300845 0.67577 +1M|u32|T|u32 0.288315 0.495435 +1M|u32|T|i64 0.5523 1.20241 +1M|u32|T|u64 0.56176 1.2053 +1M|u32|T|char 0.2521 0.371645 +1M|u32|T|f16 0.44909499999999997 1.66583 +1M|u32|T|f32 0.49573 0.73784 +1M|u32|T|f64 0.542095 1.22871 +1M|u32|T|dec 0.852965 NA +1M|u32|T|c128 0.84984 2.39585 +1M|u32|sliced|bool 0.10294 0.20473 +1M|u32|sliced|u8 0.10108500000000001 0.203075 +1M|u32|sliced|i8 0.09501 0.20207 +1M|u32|sliced|i16 0.26549999999999996 0.38317 +1M|u32|sliced|u16 0.254805 0.390955 +1M|u32|sliced|i32 0.31809 0.64281 +1M|u32|sliced|u32 0.360655 0.666345 +1M|u32|sliced|i64 0.566755 1.19192 +1M|u32|sliced|u64 0.538285 1.19659 +1M|u32|sliced|char 0.24803000000000003 0.384495 +1M|u32|sliced|f16 0.45125000000000004 1.67921 +1M|u32|sliced|f32 0.49146 0.72286 +1M|u32|sliced|f64 0.554065 1.17456 +1M|u32|sliced|dec 0.8552949999999999 NA +1M|u32|sliced|c128 0.8702400000000001 2.38215 +1M|u32|negrow|bool 0.11291 0.22106 +1M|u32|negrow|u8 0.100915 0.2116 +1M|u32|negrow|i8 0.09917000000000001 0.21181 +1M|u32|negrow|i16 0.2701 0.39757 +1M|u32|negrow|u16 0.26343 0.39181 +1M|u32|negrow|i32 0.35348999999999997 0.637145 +1M|u32|negrow|u32 0.349005 0.66749 +1M|u32|negrow|i64 0.52818 1.20022 +1M|u32|negrow|u64 0.49582499999999996 1.25055 +1M|u32|negrow|char 0.25097 0.39982 +1M|u32|negrow|f16 0.47146 1.69095 +1M|u32|negrow|f32 0.50629 0.759225 +1M|u32|negrow|f64 0.57932 1.2656 +1M|u32|negrow|dec 0.8759349999999999 NA +1M|u32|negrow|c128 0.9552949999999999 2.42412 +1M|u32|negcol|bool 0.15588 0.324605 +1M|u32|negcol|u8 0.14793 0.23636 +1M|u32|negcol|i8 0.147035 0.22511 +1M|u32|negcol|i16 0.26661999999999997 0.423015 +1M|u32|negcol|u16 0.26410999999999996 0.417105 +1M|u32|negcol|i32 0.442935 0.65561 +1M|u32|negcol|u32 0.412045 0.664275 +1M|u32|negcol|i64 0.5200549999999999 1.27825 +1M|u32|negcol|u64 0.53691 1.23502 +1M|u32|negcol|char 0.257555 0.419245 +1M|u32|negcol|f16 0.837245 1.69072 +1M|u32|negcol|f32 0.51544 0.760005 +1M|u32|negcol|f64 0.518195 1.21508 +1M|u32|negcol|dec 0.88041 NA +1M|u32|negcol|c128 0.888045 2.5188 +1M|u32|strided|bool 0.090625 0.157425 +1M|u32|strided|u8 0.09085499999999999 0.111135 +1M|u32|strided|i8 0.09165 0.10849 +1M|u32|strided|i16 0.10771 0.118575 +1M|u32|strided|u16 0.099215 0.123825 +1M|u32|strided|i32 0.29517000000000004 0.332445 +1M|u32|strided|u32 0.28861 0.33027 +1M|u32|strided|i64 0.342465 0.637305 +1M|u32|strided|u64 0.346655 0.637655 +1M|u32|strided|char 0.09902 0.11706 +1M|u32|strided|f16 0.3877 0.754115 +1M|u32|strided|f32 0.330575 0.372445 +1M|u32|strided|f64 0.352725 0.62268 +1M|u32|strided|dec 0.536165 NA +1M|u32|strided|c128 0.53105 1.18947 +1M|u32|bcast|bool 0.086785 0.31592 +1M|u32|bcast|u8 0.060125 0.22348 +1M|u32|bcast|i8 0.0897 0.21689 +1M|u32|bcast|i16 0.24339 0.403615 +1M|u32|bcast|u16 0.227315 0.40327 +1M|u32|bcast|i32 0.31446 0.63532 +1M|u32|bcast|u32 0.35743 0.709505 +1M|u32|bcast|i64 0.540425 1.20493 +1M|u32|bcast|u64 0.5269199999999999 1.21527 +1M|u32|bcast|char 0.21812 0.41462 +1M|u32|bcast|f16 0.44611999999999996 1.663 +1M|u32|bcast|f32 0.326855 0.748405 +1M|u32|bcast|f64 0.537695 1.22295 +1M|u32|bcast|dec 0.8263199999999999 NA +1M|u32|bcast|c128 0.8094250000000001 2.38358 +1M|i64|C|bool 0.20190999999999998 0.21835 +1M|i64|C|u8 0.21084 0.206195 +1M|i64|C|i8 0.209 0.200395 +1M|i64|C|i16 0.323205 0.39862 +1M|i64|C|u16 0.309805 0.39355 +1M|i64|C|i32 0.36269999999999997 0.66517 +1M|i64|C|u32 0.372525 0.663655 +1M|i64|C|i64 0.52645 0.98459 +1M|i64|C|u64 0.46492000000000006 1.28327 +1M|i64|C|char 0.288185 0.39809 +1M|i64|C|f16 0.8935150000000001 1.61704 +1M|i64|C|f32 0.39376 0.7125 +1M|i64|C|f64 0.57448 1.27471 +1M|i64|C|dec 1.049595 NA +1M|i64|C|c128 0.962815 2.42383 +1M|i64|F|bool 0.195525 0.217755 +1M|i64|F|u8 0.22041 0.20779 +1M|i64|F|i8 0.21498 0.198195 +1M|i64|F|i16 0.33308499999999996 0.391285 +1M|i64|F|u16 0.31262 0.395405 +1M|i64|F|i32 0.36277499999999996 0.683725 +1M|i64|F|u32 0.38547 0.67531 +1M|i64|F|i64 0.46893 1.01253 +1M|i64|F|u64 0.458575 1.23951 +1M|i64|F|char 0.31208 0.39935 +1M|i64|F|f16 0.85282 1.59541 +1M|i64|F|f32 0.42224500000000004 0.655905 +1M|i64|F|f64 0.56358 1.22257 +1M|i64|F|dec 0.91249 NA +1M|i64|F|c128 1.07803 2.41979 +1M|i64|T|bool 0.167025 0.21428 +1M|i64|T|u8 0.212635 0.22119 +1M|i64|T|i8 0.21139000000000002 0.197345 +1M|i64|T|i16 0.31959499999999996 0.40017 +1M|i64|T|u16 0.326335 0.413365 +1M|i64|T|i32 0.36998000000000003 0.66052 +1M|i64|T|u32 0.37374 0.666165 +1M|i64|T|i64 0.467295 0.974725 +1M|i64|T|u64 0.496035 1.31137 +1M|i64|T|char 0.30707 0.40743 +1M|i64|T|f16 0.8627 1.60739 +1M|i64|T|f32 0.40885 0.710085 +1M|i64|T|f64 0.549935 1.22487 +1M|i64|T|dec 0.9844649999999999 NA +1M|i64|T|c128 0.91964 2.47449 +1M|i64|sliced|bool 0.1817 0.218515 +1M|i64|sliced|u8 0.177905 0.209155 +1M|i64|sliced|i8 0.160775 0.20514 +1M|i64|sliced|i16 0.295555 0.41839 +1M|i64|sliced|u16 0.29486500000000004 0.391825 +1M|i64|sliced|i32 0.37517 0.669305 +1M|i64|sliced|u32 0.37698 0.672055 +1M|i64|sliced|i64 0.601315 1.33422 +1M|i64|sliced|u64 0.53942 1.26595 +1M|i64|sliced|char 0.29447999999999996 0.417385 +1M|i64|sliced|f16 0.8923500000000001 1.62629 +1M|i64|sliced|f32 0.44911 0.681055 +1M|i64|sliced|f64 0.51997 1.22703 +1M|i64|sliced|dec 0.964315 NA +1M|i64|sliced|c128 0.9306749999999999 2.49447 +1M|i64|negrow|bool 0.207225 0.24273 +1M|i64|negrow|u8 0.18061 0.218285 +1M|i64|negrow|i8 0.165025 0.21965 +1M|i64|negrow|i16 0.29775 0.412625 +1M|i64|negrow|u16 0.297005 0.41976 +1M|i64|negrow|i32 0.380025 0.6997 +1M|i64|negrow|u32 0.379425 0.67663 +1M|i64|negrow|i64 0.519635 1.37557 +1M|i64|negrow|u64 0.5581050000000001 1.2394 +1M|i64|negrow|char 0.3142 0.41128 +1M|i64|negrow|f16 0.8954650000000001 1.64755 +1M|i64|negrow|f32 0.466635 0.680705 +1M|i64|negrow|f64 0.540335 1.25796 +1M|i64|negrow|dec 0.9234249999999999 NA +1M|i64|negrow|c128 0.9497450000000001 2.46379 +1M|i64|negcol|bool 0.26839 0.355625 +1M|i64|negcol|u8 0.24394 0.23352 +1M|i64|negcol|i8 0.24799500000000002 0.24142 +1M|i64|negcol|i16 0.346365 0.447085 +1M|i64|negcol|u16 0.316915 0.446685 +1M|i64|negcol|i32 0.396725 0.695505 +1M|i64|negcol|u32 0.39105 0.72931 +1M|i64|negcol|i64 0.544915 1.31474 +1M|i64|negcol|u64 0.53101 1.25546 +1M|i64|negcol|char 0.32281499999999996 0.44717 +1M|i64|negcol|f16 1.273995 1.65296 +1M|i64|negcol|f32 0.44184999999999997 0.699175 +1M|i64|negcol|f64 0.56639 1.22877 +1M|i64|negcol|dec 1.007655 NA +1M|i64|negcol|c128 1.002415 2.442 +1M|i64|strided|bool 0.15850999999999998 0.17525 +1M|i64|strided|u8 0.14238 0.13509 +1M|i64|strided|i8 0.143765 0.13585 +1M|i64|strided|i16 0.17482999999999999 0.14988 +1M|i64|strided|u16 0.15501 0.14545 +1M|i64|strided|i32 0.29581 0.36225 +1M|i64|strided|u32 0.278665 0.376675 +1M|i64|strided|i64 0.376715 0.667295 +1M|i64|strided|u64 0.37557999999999997 0.65525 +1M|i64|strided|char 0.15340499999999999 0.13971 +1M|i64|strided|f16 0.61873 0.733635 +1M|i64|strided|f32 0.29405000000000003 0.37088 +1M|i64|strided|f64 0.376815 0.654535 +1M|i64|strided|dec 0.53769 NA +1M|i64|strided|c128 0.52206 1.26693 +1M|i64|bcast|bool 0.12783 0.344925 +1M|i64|bcast|u8 0.09728 0.216605 +1M|i64|bcast|i8 0.098925 0.226765 +1M|i64|bcast|i16 0.244205 0.421355 +1M|i64|bcast|u16 0.24502000000000002 0.42158 +1M|i64|bcast|i32 0.331975 0.677665 +1M|i64|bcast|u32 0.318355 0.667955 +1M|i64|bcast|i64 0.584595 1.41121 +1M|i64|bcast|u64 0.55669 1.17824 +1M|i64|bcast|char 0.24267500000000003 0.417095 +1M|i64|bcast|f16 0.87748 1.62042 +1M|i64|bcast|f32 0.32514 0.675385 +1M|i64|bcast|f64 0.590685 1.18012 +1M|i64|bcast|dec 0.86342 NA +1M|i64|bcast|c128 0.90048 2.40667 +1M|u64|C|bool 0.19258 0.220015 +1M|u64|C|u8 0.21545999999999998 0.1988 +1M|u64|C|i8 0.20958000000000002 0.19813 +1M|u64|C|i16 0.316955 0.385915 +1M|u64|C|u16 0.32663000000000003 0.387025 +1M|u64|C|i32 0.37162 0.64192 +1M|u64|C|u32 0.38541 0.668245 +1M|u64|C|i64 0.47273 1.20882 +1M|u64|C|u64 0.478705 0.99884 +1M|u64|C|char 0.30141 0.39219 +1M|u64|C|f16 1.1041050000000001 1.81853 +1M|u64|C|f32 0.6545650000000001 0.74442 +1M|u64|C|f64 0.700175 1.25507 +1M|u64|C|dec 1.073685 NA +1M|u64|C|c128 0.99541 2.43906 +1M|u64|F|bool 0.18869 0.2161 +1M|u64|F|u8 0.214875 0.19787 +1M|u64|F|i8 0.21206999999999998 0.199125 +1M|u64|F|i16 0.316185 0.382055 +1M|u64|F|u16 0.33647 0.37953 +1M|u64|F|i32 0.37333 0.644205 +1M|u64|F|u32 0.37549 0.651305 +1M|u64|F|i64 0.49711999999999995 1.22253 +1M|u64|F|u64 0.48427499999999996 0.991025 +1M|u64|F|char 0.284615 0.395875 +1M|u64|F|f16 0.727065 1.80632 +1M|u64|F|f32 0.645335 0.738325 +1M|u64|F|f64 0.707525 1.24357 +1M|u64|F|dec 1.015955 NA +1M|u64|F|c128 1.07293 2.51212 +1M|u64|T|bool 0.179635 0.21515 +1M|u64|T|u8 0.21048 0.197825 +1M|u64|T|i8 0.209405 0.198705 +1M|u64|T|i16 0.320625 0.38871 +1M|u64|T|u16 0.327405 0.38038 +1M|u64|T|i32 0.358095 0.642085 +1M|u64|T|u32 0.38795 0.62884 +1M|u64|T|i64 0.48235 1.21494 +1M|u64|T|u64 0.483985 0.96631 +1M|u64|T|char 0.28742999999999996 0.39009 +1M|u64|T|f16 0.7348600000000001 1.81192 +1M|u64|T|f32 0.66541 0.747745 +1M|u64|T|f64 0.653885 1.24103 +1M|u64|T|dec 1.00074 NA +1M|u64|T|c128 0.970315 2.46116 +1M|u64|sliced|bool 0.17004 0.21969 +1M|u64|sliced|u8 0.165095 0.20412 +1M|u64|sliced|i8 0.167625 0.204975 +1M|u64|sliced|i16 0.29708 0.39521 +1M|u64|sliced|u16 0.29634 0.38632 +1M|u64|sliced|i32 0.36389 0.63282 +1M|u64|sliced|u32 0.38197000000000003 0.68399 +1M|u64|sliced|i64 0.5736100000000001 1.22841 +1M|u64|sliced|u64 0.591305 1.30978 +1M|u64|sliced|char 0.29249 0.39677 +1M|u64|sliced|f16 0.7575350000000001 1.81018 +1M|u64|sliced|f32 0.766475 0.74248 +1M|u64|sliced|f64 0.77278 1.22451 +1M|u64|sliced|dec 1.010745 NA +1M|u64|sliced|c128 0.985585 2.41511 +1M|u64|negrow|bool 0.21098 0.23764 +1M|u64|negrow|u8 0.17278500000000002 0.217295 +1M|u64|negrow|i8 0.17062 0.22043 +1M|u64|negrow|i16 0.30598000000000003 0.407265 +1M|u64|negrow|u16 0.295605 0.406315 +1M|u64|negrow|i32 0.37287 0.68309 +1M|u64|negrow|u32 0.352695 0.69084 +1M|u64|negrow|i64 0.581075 1.25879 +1M|u64|negrow|u64 0.558115 1.33217 +1M|u64|negrow|char 0.30587 0.401625 +1M|u64|negrow|f16 0.782575 1.83589 +1M|u64|negrow|f32 0.79226 0.79038 +1M|u64|negrow|f64 0.81143 1.29246 +1M|u64|negrow|dec 0.957245 NA +1M|u64|negrow|c128 1.061125 2.45784 +1M|u64|negcol|bool 0.276945 0.34851 +1M|u64|negcol|u8 0.24783499999999997 0.24978 +1M|u64|negcol|i8 0.24749 0.2306 +1M|u64|negcol|i16 0.34060999999999997 0.43255 +1M|u64|negcol|u16 0.32527 0.433565 +1M|u64|negcol|i32 0.38527 0.66304 +1M|u64|negcol|u32 0.39150999999999997 0.660725 +1M|u64|negcol|i64 0.5362750000000001 1.24457 +1M|u64|negcol|u64 0.580955 1.27454 +1M|u64|negcol|char 0.32402000000000003 0.434655 +1M|u64|negcol|f16 1.1197599999999999 1.84326 +1M|u64|negcol|f32 0.737385 0.775935 +1M|u64|negcol|f64 0.8270899999999999 1.24447 +1M|u64|negcol|dec 1.11423 NA +1M|u64|negcol|c128 1.009285 2.52076 +1M|u64|strided|bool 0.16696 0.17788 +1M|u64|strided|u8 0.140865 0.131585 +1M|u64|strided|i8 0.13889 0.130535 +1M|u64|strided|i16 0.17258 0.143225 +1M|u64|strided|u16 0.156365 0.158675 +1M|u64|strided|i32 0.29619 0.35459 +1M|u64|strided|u32 0.2793 0.354335 +1M|u64|strided|i64 0.40778 0.642455 +1M|u64|strided|u64 0.38261 0.650675 +1M|u64|strided|char 0.150705 0.154685 +1M|u64|strided|f16 0.554805 0.81983 +1M|u64|strided|f32 0.5215449999999999 0.38846 +1M|u64|strided|f64 0.42623 0.62455 +1M|u64|strided|dec 0.57294 NA +1M|u64|strided|c128 0.563615 1.22148 +1M|u64|bcast|bool 0.123865 0.318305 +1M|u64|bcast|u8 0.10281 0.246745 +1M|u64|bcast|i8 0.10303500000000002 0.222625 +1M|u64|bcast|i16 0.249925 0.401045 +1M|u64|bcast|u16 0.243885 0.40527 +1M|u64|bcast|i32 0.305355 0.6361 +1M|u64|bcast|u32 0.329655 0.632205 +1M|u64|bcast|i64 0.55254 1.23565 +1M|u64|bcast|u64 0.60621 1.39001 +1M|u64|bcast|char 0.232215 0.40556 +1M|u64|bcast|f16 0.74813 1.81849 +1M|u64|bcast|f32 0.33132 0.749295 +1M|u64|bcast|f64 0.599395 1.28329 +1M|u64|bcast|dec 0.8269399999999999 NA +1M|u64|bcast|c128 0.88909 2.42039 +1M|char|C|bool 0.09786 0.20258 +1M|char|C|u8 0.100855 0.203925 +1M|char|C|i8 0.094565 0.20267 +1M|char|C|i16 0.25246 0.376495 +1M|char|C|u16 0.253995 0.245665 +1M|char|C|i32 0.39487 0.61137 +1M|char|C|u32 0.40290499999999996 0.617795 +1M|char|C|i64 0.52683 1.19153 +1M|char|C|u64 0.5376299999999999 1.18088 +1M|char|C|char 0.20536 0.247515 +1M|char|C|f16 0.42888000000000004 1.5723 +1M|char|C|f32 0.44267 0.627025 +1M|char|C|f64 0.559335 1.18166 +1M|char|C|dec 0.890855 NA +1M|char|C|c128 0.8931699999999999 2.3394 +1M|char|F|bool 0.09586 0.19954 +1M|char|F|u8 0.076485 0.201205 +1M|char|F|i8 0.096635 0.19589 +1M|char|F|i16 0.201585 0.382945 +1M|char|F|u16 0.20473 0.24648 +1M|char|F|i32 0.38108 0.63819 +1M|char|F|u32 0.375005 0.635305 +1M|char|F|i64 0.47961 1.211 +1M|char|F|u64 0.496225 1.2213 +1M|char|F|char 0.20561 0.24639 +1M|char|F|f16 0.43966500000000003 1.5832 +1M|char|F|f32 0.44795999999999997 0.63339 +1M|char|F|f64 0.578715 1.21664 +1M|char|F|dec 0.88576 NA +1M|char|F|c128 0.83363 2.40788 +1M|char|T|bool 0.091885 0.196765 +1M|char|T|u8 0.093085 0.200405 +1M|char|T|i8 0.07517 0.19763 +1M|char|T|i16 0.20600000000000002 0.37809 +1M|char|T|u16 0.200175 0.24455 +1M|char|T|i32 0.38834 0.623315 +1M|char|T|u32 0.39164 0.634 +1M|char|T|i64 0.5428200000000001 1.21517 +1M|char|T|u64 0.497215 1.22565 +1M|char|T|char 0.19369 0.25278 +1M|char|T|f16 0.44767999999999997 1.56856 +1M|char|T|f32 0.44383999999999996 0.638285 +1M|char|T|f64 0.542675 1.26057 +1M|char|T|dec 0.86029 NA +1M|char|T|c128 0.9318649999999999 2.3892 +1M|char|sliced|bool 0.095595 0.20664 +1M|char|sliced|u8 0.09647 0.21833 +1M|char|sliced|i8 0.0834 0.202395 +1M|char|sliced|i16 0.25065499999999996 0.37707 +1M|char|sliced|u16 0.24985 0.32805 +1M|char|sliced|i32 0.38465 0.618675 +1M|char|sliced|u32 0.395225 0.63214 +1M|char|sliced|i64 0.52774 1.20033 +1M|char|sliced|u64 0.522685 1.21127 +1M|char|sliced|char 0.256345 0.33513 +1M|char|sliced|f16 0.46445499999999995 1.60939 +1M|char|sliced|f32 0.440925 0.62771 +1M|char|sliced|f64 0.539655 1.20548 +1M|char|sliced|dec 0.85483 NA +1M|char|sliced|c128 0.85527 2.39836 +1M|char|negrow|bool 0.092915 0.219595 +1M|char|negrow|u8 0.09112 0.21654 +1M|char|negrow|i8 0.092385 0.21093 +1M|char|negrow|i16 0.242545 0.413555 +1M|char|negrow|u16 0.24773499999999998 0.339775 +1M|char|negrow|i32 0.39931 0.62715 +1M|char|negrow|u32 0.394495 0.623935 +1M|char|negrow|i64 0.5244449999999999 1.22892 +1M|char|negrow|u64 0.51319 1.19223 +1M|char|negrow|char 0.24701499999999998 0.32922 +1M|char|negrow|f16 0.46041999999999994 1.62067 +1M|char|negrow|f32 0.43809 0.652935 +1M|char|negrow|f64 0.50024 1.18381 +1M|char|negrow|dec 0.8525750000000001 NA +1M|char|negrow|c128 0.8504200000000001 2.37087 +1M|char|negcol|bool 0.096005 0.32492 +1M|char|negcol|u8 0.098065 0.22964 +1M|char|negcol|i8 0.07116 0.230805 +1M|char|negcol|i16 0.254615 0.42577 +1M|char|negcol|u16 0.253945 0.405755 +1M|char|negcol|i32 0.39770500000000003 0.665075 +1M|char|negcol|u32 0.396675 0.65318 +1M|char|negcol|i64 0.547295 1.21067 +1M|char|negcol|u64 0.5320199999999999 1.25026 +1M|char|negcol|char 0.24338 0.40034 +1M|char|negcol|f16 0.812565 1.64832 +1M|char|negcol|f32 0.44523 0.69518 +1M|char|negcol|f64 0.551135 1.25341 +1M|char|negcol|dec 0.94023 NA +1M|char|negcol|c128 0.833675 2.46875 +1M|char|strided|bool 0.06693 0.1602 +1M|char|strided|u8 0.059414999999999996 0.107 +1M|char|strided|i8 0.06597 0.11094 +1M|char|strided|i16 0.09206 0.116245 +1M|char|strided|u16 0.07123 0.106045 +1M|char|strided|i32 0.2642 0.32056 +1M|char|strided|u32 0.253335 0.328365 +1M|char|strided|i64 0.331885 0.61488 +1M|char|strided|u64 0.34504 0.603545 +1M|char|strided|char 0.06991 0.105335 +1M|char|strided|f16 0.396155 0.72639 +1M|char|strided|f32 0.296125 0.333305 +1M|char|strided|f64 0.34945 0.605925 +1M|char|strided|dec 0.50886 NA +1M|char|strided|c128 0.506745 1.18633 +1M|char|bcast|bool 0.065845 0.314905 +1M|char|bcast|u8 0.066295 0.25245 +1M|char|bcast|i8 0.058975 0.226345 +1M|char|bcast|i16 0.230555 0.40192 +1M|char|bcast|u16 0.24377 0.36647 +1M|char|bcast|i32 0.39455 0.650915 +1M|char|bcast|u32 0.388985 0.645775 +1M|char|bcast|i64 0.555635 1.20616 +1M|char|bcast|u64 0.51983 1.22786 +1M|char|bcast|char 0.233685 0.38494 +1M|char|bcast|f16 0.44893 1.63416 +1M|char|bcast|f32 0.44040999999999997 0.679325 +1M|char|bcast|f64 0.51682 1.21734 +1M|char|bcast|dec 0.92049 NA +1M|char|bcast|c128 0.8545400000000001 2.35176 +1M|f16|C|bool 0.101025 0.455845 +1M|f16|C|u8 0.173795 0.94254 +1M|f16|C|i8 0.17466500000000001 0.934695 +1M|f16|C|i16 0.291615 1.11345 +1M|f16|C|u16 0.281115 1.1081 +1M|f16|C|i32 0.3398 1.29056 +1M|f16|C|u32 0.65429 1.28215 +1M|f16|C|i64 0.572495 1.68124 +1M|f16|C|u64 1.88861 1.86338 +1M|f16|C|char 0.26843 1.11788 +1M|f16|C|f16 0.19751000000000002 0.247 +1M|f16|C|f32 0.9343299999999999 1.03164 +1M|f16|C|f64 1.58938 1.46647 +1M|f16|C|dec 6.5646 NA +1M|f16|C|c128 1.63412 2.68663 +1M|f16|F|bool 0.10293000000000001 0.461785 +1M|f16|F|u8 0.15546 0.936045 +1M|f16|F|i8 0.149925 0.94919 +1M|f16|F|i16 0.29288 1.10991 +1M|f16|F|u16 0.259555 1.11961 +1M|f16|F|i32 0.34731 1.29408 +1M|f16|F|u32 0.628465 1.29191 +1M|f16|F|i64 0.594645 1.69268 +1M|f16|F|u64 1.66291 1.85311 +1M|f16|F|char 0.25661 1.11051 +1M|f16|F|f16 0.20137999999999998 0.249135 +1M|f16|F|f32 0.42505499999999996 1.03651 +1M|f16|F|f64 1.50663 1.42865 +1M|f16|F|dec 6.592230000000001 NA +1M|f16|F|c128 1.595215 2.58994 +1M|f16|T|bool 0.08851 0.45787 +1M|f16|T|u8 0.149995 0.942605 +1M|f16|T|i8 0.15167999999999998 0.93333 +1M|f16|T|i16 0.25898 1.10572 +1M|f16|T|u16 0.25861 1.10265 +1M|f16|T|i32 0.36137 1.28583 +1M|f16|T|u32 0.629815 1.2804 +1M|f16|T|i64 0.5594 1.68821 +1M|f16|T|u64 1.65087 1.88325 +1M|f16|T|char 0.25651999999999997 1.1101 +1M|f16|T|f16 0.2083 0.24576 +1M|f16|T|f32 0.362555 1.03036 +1M|f16|T|f64 1.479955 1.47507 +1M|f16|T|dec 6.56352 NA +1M|f16|T|c128 1.61787 2.67051 +1M|f16|sliced|bool 0.095705 0.449505 +1M|f16|sliced|u8 0.190215 0.94127 +1M|f16|sliced|i8 0.18948 0.94631 +1M|f16|sliced|i16 0.270285 1.1117 +1M|f16|sliced|u16 0.27384 1.10904 +1M|f16|sliced|i32 0.320575 1.28985 +1M|f16|sliced|u32 0.6557000000000001 1.29072 +1M|f16|sliced|i64 0.5528150000000001 1.70533 +1M|f16|sliced|u64 1.6742000000000001 1.84778 +1M|f16|sliced|char 0.26463000000000003 1.11303 +1M|f16|sliced|f16 0.24854500000000002 0.33116 +1M|f16|sliced|f32 0.38016 1.02478 +1M|f16|sliced|f64 1.489025 1.42412 +1M|f16|sliced|dec 6.563124999999999 NA +1M|f16|sliced|c128 1.72099 2.56228 +1M|f16|negrow|bool 0.09040000000000001 0.459345 +1M|f16|negrow|u8 0.1984 0.952905 +1M|f16|negrow|i8 0.19848 0.948135 +1M|f16|negrow|i16 0.29562499999999997 1.12203 +1M|f16|negrow|u16 0.29531999999999997 1.13128 +1M|f16|negrow|i32 0.340445 1.31113 +1M|f16|negrow|u32 0.641855 1.30538 +1M|f16|negrow|i64 0.54559 1.7076 +1M|f16|negrow|u64 1.7160199999999999 1.86386 +1M|f16|negrow|char 0.295145 1.13054 +1M|f16|negrow|f16 0.254625 0.341705 +1M|f16|negrow|f32 0.36635 1.05072 +1M|f16|negrow|f64 1.52929 1.48231 +1M|f16|negrow|dec 6.60459 NA +1M|f16|negrow|c128 1.642045 2.61962 +1M|f16|negcol|bool 0.098665 0.458915 +1M|f16|negcol|u8 0.55316 0.955165 +1M|f16|negcol|i8 0.55158 0.951545 +1M|f16|negcol|i16 0.65181 1.13095 +1M|f16|negcol|u16 0.640295 1.12597 +1M|f16|negcol|i32 0.58948 1.31299 +1M|f16|negcol|u32 0.992005 1.3184 +1M|f16|negcol|i64 0.82182 1.70128 +1M|f16|negcol|u64 2.11467 1.8765 +1M|f16|negcol|char 0.641365 1.12689 +1M|f16|negcol|f16 0.24823 0.398735 +1M|f16|negcol|f32 0.673365 1.05012 +1M|f16|negcol|f64 1.523825 1.46683 +1M|f16|negcol|dec 6.7063999999999995 NA +1M|f16|negcol|c128 1.769095 2.67393 +1M|f16|strided|bool 0.08629 0.22624 +1M|f16|strided|u8 0.31358 0.46653 +1M|f16|strided|i8 0.31073 0.47311 +1M|f16|strided|i16 0.295335 0.470795 +1M|f16|strided|u16 0.293845 0.486685 +1M|f16|strided|i32 0.36738499999999996 0.646705 +1M|f16|strided|u32 0.568375 0.64601 +1M|f16|strided|i64 0.45101 0.835825 +1M|f16|strided|u64 1.034595 0.924135 +1M|f16|strided|char 0.29695499999999997 0.471555 +1M|f16|strided|f16 0.09443 0.105265 +1M|f16|strided|f32 0.42469999999999997 0.522915 +1M|f16|strided|f64 0.77093 0.73061 +1M|f16|strided|dec 3.408995 NA +1M|f16|strided|c128 0.93559 1.34563 +1M|f16|bcast|bool 0.065795 0.452275 +1M|f16|bcast|u8 0.17108 0.943485 +1M|f16|bcast|i8 0.1774 0.948415 +1M|f16|bcast|i16 0.26309 1.11168 +1M|f16|bcast|u16 0.264695 1.11473 +1M|f16|bcast|i32 0.33338999999999996 1.29496 +1M|f16|bcast|u32 0.63149 1.29047 +1M|f16|bcast|i64 0.55556 1.68898 +1M|f16|bcast|u64 1.7063400000000002 1.86511 +1M|f16|bcast|char 0.290905 1.12157 +1M|f16|bcast|f16 0.24811999999999998 0.36167 +1M|f16|bcast|f32 0.363 1.04226 +1M|f16|bcast|f64 1.517735 1.4532 +1M|f16|bcast|dec 6.5030850000000004 NA +1M|f16|bcast|c128 1.6825800000000002 2.60254 +1M|f32|C|bool 0.139805 0.394465 +1M|f32|C|u8 0.122825 0.23583 +1M|f32|C|i8 0.11681 0.23892 +1M|f32|C|i16 0.26378 0.432795 +1M|f32|C|u16 0.26799 0.41639 +1M|f32|C|i32 0.35261 0.648995 +1M|f32|C|u32 0.48732 0.674565 +1M|f32|C|i64 1.47732 1.22762 +1M|f32|C|u64 1.469475 1.2834 +1M|f32|C|char 0.28558500000000003 0.423175 +1M|f32|C|f16 0.41535500000000003 1.48909 +1M|f32|C|f32 0.28287 0.49719 +1M|f32|C|f64 0.55828 1.23607 +1M|f32|C|dec 9.594755000000001 NA +1M|f32|C|c128 1.03795 2.44267 +1M|f32|F|bool 0.11399999999999999 0.3921 +1M|f32|F|u8 0.11145000000000001 0.23653 +1M|f32|F|i8 0.10484500000000001 0.23703 +1M|f32|F|i16 0.27645 0.446925 +1M|f32|F|u16 0.26256 0.42959 +1M|f32|F|i32 0.355775 0.683075 +1M|f32|F|u32 0.48978 0.663255 +1M|f32|F|i64 1.45883 1.19448 +1M|f32|F|u64 1.46747 1.23148 +1M|f32|F|char 0.24876 0.420705 +1M|f32|F|f16 0.41109999999999997 1.49042 +1M|f32|F|f32 0.29537 0.49392 +1M|f32|F|f64 0.55212 1.2193 +1M|f32|F|dec 9.55886 NA +1M|f32|F|c128 1.04964 2.37152 +1M|f32|T|bool 0.114175 0.37974 +1M|f32|T|u8 0.10948 0.236235 +1M|f32|T|i8 0.102755 0.23598 +1M|f32|T|i16 0.250925 0.44411 +1M|f32|T|u16 0.262005 0.42814 +1M|f32|T|i32 0.328015 0.67045 +1M|f32|T|u32 0.47430500000000003 0.65635 +1M|f32|T|i64 1.46401 1.22075 +1M|f32|T|u64 1.45323 1.2546 +1M|f32|T|char 0.25786 0.421275 +1M|f32|T|f16 0.39825 1.49374 +1M|f32|T|f32 0.2953 0.5016 +1M|f32|T|f64 0.486225 1.24271 +1M|f32|T|dec 9.57869 NA +1M|f32|T|c128 1.07355 2.35716 +1M|f32|sliced|bool 0.10867500000000001 0.394155 +1M|f32|sliced|u8 0.10966000000000001 0.241625 +1M|f32|sliced|i8 0.10339000000000001 0.24283 +1M|f32|sliced|i16 0.27622 0.453075 +1M|f32|sliced|u16 0.25838 0.43145 +1M|f32|sliced|i32 0.35172 0.668025 +1M|f32|sliced|u32 0.499265 0.67127 +1M|f32|sliced|i64 1.440755 1.23544 +1M|f32|sliced|u64 1.4888299999999999 1.31743 +1M|f32|sliced|char 0.26627999999999996 0.42444 +1M|f32|sliced|f16 0.41254 1.49497 +1M|f32|sliced|f32 0.345155 0.681025 +1M|f32|sliced|f64 0.5829500000000001 1.191 +1M|f32|sliced|dec 9.58286 NA +1M|f32|sliced|c128 1.032195 2.42601 +1M|f32|negrow|bool 0.12175499999999999 0.402045 +1M|f32|negrow|u8 0.112785 0.25122 +1M|f32|negrow|i8 0.11207 0.252275 +1M|f32|negrow|i16 0.283935 0.4546 +1M|f32|negrow|u16 0.26225 0.43866 +1M|f32|negrow|i32 0.34558 0.66139 +1M|f32|negrow|u32 0.503765 0.68448 +1M|f32|negrow|i64 1.476835 1.23734 +1M|f32|negrow|u64 1.49566 1.27201 +1M|f32|negrow|char 0.2683 0.44597 +1M|f32|negrow|f16 0.42347 1.51448 +1M|f32|negrow|f32 0.352995 0.68828 +1M|f32|negrow|f64 0.583715 1.2221 +1M|f32|negrow|dec 9.60346 NA +1M|f32|negrow|c128 1.06366 2.39156 +1M|f32|negcol|bool 0.16349 0.40481 +1M|f32|negcol|u8 0.15526500000000001 0.26504 +1M|f32|negcol|i8 0.15561 0.259875 +1M|f32|negcol|i16 0.27427999999999997 0.452785 +1M|f32|negcol|u16 0.285665 0.46381 +1M|f32|negcol|i32 0.36018 0.68536 +1M|f32|negcol|u32 0.619555 0.66745 +1M|f32|negcol|i64 1.4172850000000001 1.20882 +1M|f32|negcol|u64 1.565885 1.26269 +1M|f32|negcol|char 0.280565 0.45294 +1M|f32|negcol|f16 0.784215 1.52048 +1M|f32|negcol|f32 0.398625 0.64415 +1M|f32|negcol|f64 1.01898 1.2217 +1M|f32|negcol|dec 9.702095 NA +1M|f32|negcol|c128 1.048505 2.40735 +1M|f32|strided|bool 0.098635 0.19535 +1M|f32|strided|u8 0.099085 0.129635 +1M|f32|strided|i8 0.09951 0.13004 +1M|f32|strided|i16 0.105545 0.136935 +1M|f32|strided|u16 0.098165 0.134375 +1M|f32|strided|i32 0.257815 0.345405 +1M|f32|strided|u32 0.383795 0.34798 +1M|f32|strided|i64 0.704815 0.659625 +1M|f32|strided|u64 0.79869 0.63985 +1M|f32|strided|char 0.103715 0.134535 +1M|f32|strided|f16 0.37390500000000004 0.667315 +1M|f32|strided|f32 0.280035 0.3237 +1M|f32|strided|f64 0.509715 0.6127 +1M|f32|strided|dec 4.92152 NA +1M|f32|strided|c128 0.5141600000000001 1.24744 +1M|f32|bcast|bool 0.078925 0.385625 +1M|f32|bcast|u8 0.077975 0.25688 +1M|f32|bcast|i8 0.093955 0.25497 +1M|f32|bcast|i16 0.23697 0.445855 +1M|f32|bcast|u16 0.21964999999999998 0.4445 +1M|f32|bcast|i32 0.315875 0.68069 +1M|f32|bcast|u32 0.46389500000000006 0.680025 +1M|f32|bcast|i64 0.550155 1.21674 +1M|f32|bcast|u64 1.45712 1.26019 +1M|f32|bcast|char 0.244145 0.44915 +1M|f32|bcast|f16 0.411205 1.50169 +1M|f32|bcast|f32 0.349985 0.73206 +1M|f32|bcast|f64 0.56974 1.20038 +1M|f32|bcast|dec 9.5656 NA +1M|f32|bcast|c128 1.0234 2.34302 +1M|f64|C|bool 0.21047500000000002 0.381145 +1M|f64|C|u8 0.28924500000000003 0.235025 +1M|f64|C|i8 0.29268 0.237625 +1M|f64|C|i16 0.31417 0.41458 +1M|f64|C|u16 0.32124 0.41527 +1M|f64|C|i32 0.38703 0.650135 +1M|f64|C|u32 0.44374 0.67215 +1M|f64|C|i64 1.455565 1.24683 +1M|f64|C|u64 1.429275 1.27606 +1M|f64|C|char 0.307395 0.424075 +1M|f64|C|f16 1.6189900000000002 1.67663 +1M|f64|C|f32 0.37836 0.652625 +1M|f64|C|f64 0.47054 0.96524 +1M|f64|C|dec 5.969625 NA +1M|f64|C|c128 0.9417 2.44475 +1M|f64|F|bool 0.20194499999999999 0.383585 +1M|f64|F|u8 0.19508 0.24706 +1M|f64|F|i8 0.185005 0.246255 +1M|f64|F|i16 0.313375 0.43923 +1M|f64|F|u16 0.30827 0.441835 +1M|f64|F|i32 0.37706 0.737005 +1M|f64|F|u32 0.455365 0.669085 +1M|f64|F|i64 1.45062 1.26124 +1M|f64|F|u64 1.4496449999999999 1.30971 +1M|f64|F|char 0.30543 0.43016 +1M|f64|F|f16 1.044335 1.67965 +1M|f64|F|f32 0.3911 0.675275 +1M|f64|F|f64 0.483355 0.99025 +1M|f64|F|dec 5.98716 NA +1M|f64|F|c128 0.953305 2.56673 +1M|f64|T|bool 0.19111499999999998 0.38268 +1M|f64|T|u8 0.17434 0.234755 +1M|f64|T|i8 0.17500500000000002 0.23566 +1M|f64|T|i16 0.303985 0.41722 +1M|f64|T|u16 0.29646 0.417385 +1M|f64|T|i32 0.37696 0.684005 +1M|f64|T|u32 0.45332 0.67147 +1M|f64|T|i64 1.440865 1.25403 +1M|f64|T|u64 1.422105 1.27174 +1M|f64|T|char 0.31916 0.41838 +1M|f64|T|f16 1.026515 1.67086 +1M|f64|T|f32 0.368245 0.64025 +1M|f64|T|f64 0.50243 0.96782 +1M|f64|T|dec 5.94824 NA +1M|f64|T|c128 0.9555149999999999 2.49311 +1M|f64|sliced|bool 0.195865 0.393005 +1M|f64|sliced|u8 0.190905 0.239745 +1M|f64|sliced|i8 0.188725 0.247525 +1M|f64|sliced|i16 0.296145 0.420375 +1M|f64|sliced|u16 0.32025000000000003 0.42636 +1M|f64|sliced|i32 0.91238 0.641415 +1M|f64|sliced|u32 0.438025 0.651155 +1M|f64|sliced|i64 1.453285 1.22214 +1M|f64|sliced|u64 1.44527 1.21981 +1M|f64|sliced|char 0.314805 0.42213 +1M|f64|sliced|f16 1.06167 1.67346 +1M|f64|sliced|f32 0.383985 0.656295 +1M|f64|sliced|f64 0.53746 1.3399 +1M|f64|sliced|dec 5.94416 NA +1M|f64|sliced|c128 0.945515 2.44165 +1M|f64|negrow|bool 0.21641 0.40565 +1M|f64|negrow|u8 0.203025 0.250315 +1M|f64|negrow|i8 0.20002 0.26533 +1M|f64|negrow|i16 0.30364 0.43798 +1M|f64|negrow|u16 0.29671 0.43939 +1M|f64|negrow|i32 0.36613 0.68466 +1M|f64|negrow|u32 0.46081000000000005 0.66275 +1M|f64|negrow|i64 1.52094 1.22406 +1M|f64|negrow|u64 1.44302 1.26732 +1M|f64|negrow|char 0.31194 0.454955 +1M|f64|negrow|f16 1.0801500000000002 1.70425 +1M|f64|negrow|f32 0.40686 0.687775 +1M|f64|negrow|f64 0.5729650000000001 1.34953 +1M|f64|negrow|dec 6.088035 NA +1M|f64|negrow|c128 0.988575 2.51096 +1M|f64|negcol|bool 0.28262 0.410865 +1M|f64|negcol|u8 0.24720499999999998 0.276425 +1M|f64|negcol|i8 0.248655 0.274065 +1M|f64|negcol|i16 0.34718 0.46131 +1M|f64|negcol|u16 0.327125 0.45265 +1M|f64|negcol|i32 0.38864 0.680085 +1M|f64|negcol|u32 0.62332 0.684695 +1M|f64|negcol|i64 1.462485 1.21961 +1M|f64|negcol|u64 1.557445 1.29463 +1M|f64|negcol|char 0.336675 0.46907 +1M|f64|negcol|f16 1.413465 1.68585 +1M|f64|negcol|f32 0.44159 0.72708 +1M|f64|negcol|f64 0.542895 1.44923 +1M|f64|negcol|dec 6.02346 NA +1M|f64|negcol|c128 0.92928 2.48753 +1M|f64|strided|bool 0.15550999999999998 0.19469 +1M|f64|strided|u8 0.14558 0.143085 +1M|f64|strided|i8 0.14545 0.1413 +1M|f64|strided|i16 0.16409 0.148885 +1M|f64|strided|u16 0.17056 0.146925 +1M|f64|strided|i32 0.294705 0.360595 +1M|f64|strided|u32 0.37974 0.358695 +1M|f64|strided|i64 0.705675 0.62829 +1M|f64|strided|u64 0.7757799999999999 0.624325 +1M|f64|strided|char 0.1593 0.15042 +1M|f64|strided|f16 0.690505 0.732225 +1M|f64|strided|f32 0.34204 0.36443 +1M|f64|strided|f64 0.35989 0.65167 +1M|f64|strided|dec 3.14178 NA +1M|f64|strided|c128 0.591955 1.22885 +1M|f64|bcast|bool 0.14540999999999998 0.392025 +1M|f64|bcast|u8 0.121655 0.261645 +1M|f64|bcast|i8 0.12054499999999999 0.258475 +1M|f64|bcast|i16 0.247065 0.439345 +1M|f64|bcast|u16 0.24772500000000003 0.43889 +1M|f64|bcast|i32 0.312705 0.661295 +1M|f64|bcast|u32 0.44496 0.66232 +1M|f64|bcast|i64 0.60824 1.21271 +1M|f64|bcast|u64 1.40199 1.22769 +1M|f64|bcast|char 0.24139 0.435835 +1M|f64|bcast|f16 1.061285 1.6773 +1M|f64|bcast|f32 0.340715 0.695305 +1M|f64|bcast|f64 0.560685 1.4061 +1M|f64|bcast|dec 5.83879 NA +1M|f64|bcast|c128 0.88569 2.36032 +1M|dec|C|bool 0.967595 NA +1M|dec|C|u8 4.3141300000000005 NA +1M|dec|C|i8 4.273865 NA +1M|dec|C|i16 4.3298000000000005 NA +1M|dec|C|u16 4.315005 NA +1M|dec|C|i32 4.400354999999999 NA +1M|dec|C|u32 4.244295 NA +1M|dec|C|i64 4.538045 NA +1M|dec|C|u64 4.99588 NA +1M|dec|C|char 4.3459449999999995 NA +1M|dec|C|f16 4.074605 NA +1M|dec|C|f32 1.92613 NA +1M|dec|C|f64 2.02318 NA +1M|dec|C|dec 0.602295 NA +1M|dec|C|c128 2.14174 NA +1M|dec|F|bool 0.987275 NA +1M|dec|F|u8 4.257915 NA +1M|dec|F|i8 4.28991 NA +1M|dec|F|i16 4.301375 NA +1M|dec|F|u16 4.287225 NA +1M|dec|F|i32 4.367515 NA +1M|dec|F|u32 4.26117 NA +1M|dec|F|i64 4.5270850000000005 NA +1M|dec|F|u64 5.018915 NA +1M|dec|F|char 4.36839 NA +1M|dec|F|f16 4.013115 NA +1M|dec|F|f32 2.017645 NA +1M|dec|F|f64 2.045795 NA +1M|dec|F|dec 0.61144 NA +1M|dec|F|c128 2.079795 NA +1M|dec|T|bool 1.006505 NA +1M|dec|T|u8 4.30607 NA +1M|dec|T|i8 4.307095 NA +1M|dec|T|i16 4.352225 NA +1M|dec|T|u16 4.30921 NA +1M|dec|T|i32 4.387515 NA +1M|dec|T|u32 4.31321 NA +1M|dec|T|i64 4.52331 NA +1M|dec|T|u64 4.956015 NA +1M|dec|T|char 4.337095 NA +1M|dec|T|f16 4.00037 NA +1M|dec|T|f32 1.9142050000000002 NA +1M|dec|T|f64 2.03415 NA +1M|dec|T|dec 0.622515 NA +1M|dec|T|c128 2.333355 NA +1M|dec|sliced|bool 1.02731 NA +1M|dec|sliced|u8 4.2834 NA +1M|dec|sliced|i8 4.295450000000001 NA +1M|dec|sliced|i16 4.338125 NA +1M|dec|sliced|u16 4.3581 NA +1M|dec|sliced|i32 4.3945799999999995 NA +1M|dec|sliced|u32 4.24522 NA +1M|dec|sliced|i64 4.55494 NA +1M|dec|sliced|u64 4.946009999999999 NA +1M|dec|sliced|char 4.298145 NA +1M|dec|sliced|f16 4.01396 NA +1M|dec|sliced|f32 1.9431349999999998 NA +1M|dec|sliced|f64 2.05389 NA +1M|dec|sliced|dec 1.22814 NA +1M|dec|sliced|c128 2.0849900000000003 NA +1M|dec|negrow|bool 1.01767 NA +1M|dec|negrow|u8 4.336105 NA +1M|dec|negrow|i8 4.3320799999999995 NA +1M|dec|negrow|i16 4.369035 NA +1M|dec|negrow|u16 4.413045 NA +1M|dec|negrow|i32 4.44452 NA +1M|dec|negrow|u32 4.3130049999999995 NA +1M|dec|negrow|i64 4.58926 NA +1M|dec|negrow|u64 4.99331 NA +1M|dec|negrow|char 4.396915 NA +1M|dec|negrow|f16 4.02588 NA +1M|dec|negrow|f32 1.996885 NA +1M|dec|negrow|f64 2.09723 NA +1M|dec|negrow|dec 1.22426 NA +1M|dec|negrow|c128 2.2846 NA +1M|dec|negcol|bool 0.99739 NA +1M|dec|negcol|u8 4.3474200000000005 NA +1M|dec|negcol|i8 4.377245 NA +1M|dec|negcol|i16 4.407625 NA +1M|dec|negcol|u16 4.390455 NA +1M|dec|negcol|i32 4.3994349999999995 NA +1M|dec|negcol|u32 4.354195 NA +1M|dec|negcol|i64 4.64623 NA +1M|dec|negcol|u64 5.072095 NA +1M|dec|negcol|char 4.356745 NA +1M|dec|negcol|f16 4.0382750000000005 NA +1M|dec|negcol|f32 1.9546500000000002 NA +1M|dec|negcol|f64 2.0730899999999997 NA +1M|dec|negcol|dec 1.301075 NA +1M|dec|negcol|c128 2.16183 NA +1M|dec|strided|bool 0.5507299999999999 NA +1M|dec|strided|u8 2.1722650000000003 NA +1M|dec|strided|i8 2.19347 NA +1M|dec|strided|i16 2.251115 NA +1M|dec|strided|u16 2.2442450000000003 NA +1M|dec|strided|i32 2.2706299999999997 NA +1M|dec|strided|u32 2.223935 NA +1M|dec|strided|i64 2.34512 NA +1M|dec|strided|u64 2.5378 NA +1M|dec|strided|char 2.3108750000000002 NA +1M|dec|strided|f16 2.13185 NA +1M|dec|strided|f32 1.120515 NA +1M|dec|strided|f64 1.0269650000000001 NA +1M|dec|strided|dec 0.74505 NA +1M|dec|strided|c128 1.3032400000000002 NA +1M|dec|bcast|bool 0.917325 NA +1M|dec|bcast|u8 4.25576 NA +1M|dec|bcast|i8 4.203145 NA +1M|dec|bcast|i16 4.22396 NA +1M|dec|bcast|u16 4.24058 NA +1M|dec|bcast|i32 4.26438 NA +1M|dec|bcast|u32 4.12489 NA +1M|dec|bcast|i64 4.382385 NA +1M|dec|bcast|u64 4.872985 NA +1M|dec|bcast|char 4.23591 NA +1M|dec|bcast|f16 3.86884 NA +1M|dec|bcast|f32 1.679555 NA +1M|dec|bcast|f64 1.7932549999999998 NA +1M|dec|bcast|dec 0.837315 NA +1M|dec|bcast|c128 1.853125 NA +1M|c128|C|bool 0.395305 0.437755 +1M|c128|C|u8 0.35255000000000003 0.32835 +1M|c128|C|i8 0.341745 0.32015 +1M|c128|C|i16 0.490635 0.58577 +1M|c128|C|u16 0.48929999999999996 0.55304 +1M|c128|C|i32 0.514545 0.86938 +1M|c128|C|u32 0.573715 0.77524 +1M|c128|C|i64 1.51528 1.38951 +1M|c128|C|u64 1.665165 1.39111 +1M|c128|C|char 0.47088 0.519505 +1M|c128|C|f16 1.1288 1.69123 +1M|c128|C|f32 0.608005 0.846485 +1M|c128|C|f64 0.798245 1.39932 +1M|c128|C|dec 6.1008249999999995 NA +1M|c128|C|c128 0.6482300000000001 2.06067 +1M|c128|F|bool 0.41505000000000003 0.40976 +1M|c128|F|u8 0.339065 0.30829 +1M|c128|F|i8 0.35718 0.31479 +1M|c128|F|i16 0.427295 0.48949 +1M|c128|F|u16 0.45274000000000003 0.485875 +1M|c128|F|i32 0.48799000000000003 0.76596 +1M|c128|F|u32 0.664095 0.884185 +1M|c128|F|i64 1.50076 1.4359 +1M|c128|F|u64 1.70234 1.37172 +1M|c128|F|char 0.52354 0.572495 +1M|c128|F|f16 1.117545 1.66061 +1M|c128|F|f32 0.634845 0.72968 +1M|c128|F|f64 0.7725 1.35337 +1M|c128|F|dec 6.12928 NA +1M|c128|F|c128 0.61231 1.99356 +1M|c128|T|bool 0.41754499999999994 0.41836 +1M|c128|T|u8 0.3224 0.358795 +1M|c128|T|i8 0.32374 0.393115 +1M|c128|T|i16 0.49365 0.62633 +1M|c128|T|u16 0.44347000000000003 0.52236 +1M|c128|T|i32 0.48365 0.80434 +1M|c128|T|u32 0.588275 0.75266 +1M|c128|T|i64 1.5151249999999998 1.36501 +1M|c128|T|u64 1.61543 1.36921 +1M|c128|T|char 0.44421 0.494875 +1M|c128|T|f16 1.097145 1.67757 +1M|c128|T|f32 0.54227 0.764575 +1M|c128|T|f64 0.749865 1.34586 +1M|c128|T|dec 6.114105 NA +1M|c128|T|c128 0.5968950000000001 2.03961 +1M|c128|sliced|bool 0.44977 0.435455 +1M|c128|sliced|u8 0.319395 0.34069 +1M|c128|sliced|i8 0.32532 0.311755 +1M|c128|sliced|i16 0.45253 0.5096 +1M|c128|sliced|u16 0.44281 0.505515 +1M|c128|sliced|i32 0.48592 0.833635 +1M|c128|sliced|u32 0.63573 0.82831 +1M|c128|sliced|i64 1.486945 1.38891 +1M|c128|sliced|u64 1.74786 1.40213 +1M|c128|sliced|char 0.560125 0.508115 +1M|c128|sliced|f16 1.157105 1.70034 +1M|c128|sliced|f32 0.551585 0.77274 +1M|c128|sliced|f64 0.827665 1.44743 +1M|c128|sliced|dec 6.105345 NA +1M|c128|sliced|c128 1.32098 2.90082 +1M|c128|negrow|bool 0.43326000000000003 0.47838 +1M|c128|negrow|u8 0.34916 0.32937 +1M|c128|negrow|i8 0.336075 0.33784 +1M|c128|negrow|i16 0.452495 0.52245 +1M|c128|negrow|u16 0.46902999999999995 0.52203 +1M|c128|negrow|i32 0.559365 0.822905 +1M|c128|negrow|u32 0.607305 0.83494 +1M|c128|negrow|i64 1.5664500000000001 1.36191 +1M|c128|negrow|u64 1.7009250000000002 1.56799 +1M|c128|negrow|char 0.45589500000000005 0.575605 +1M|c128|negrow|f16 1.197775 1.69383 +1M|c128|negrow|f32 0.57576 0.78852 +1M|c128|negrow|f64 0.8431900000000001 1.35378 +1M|c128|negrow|dec 6.219075 NA +1M|c128|negrow|c128 1.26112 2.88197 +1M|c128|negcol|bool 0.44734999999999997 0.4542 +1M|c128|negcol|u8 0.34845000000000004 0.34234 +1M|c128|negcol|i8 0.345895 0.3739 +1M|c128|negcol|i16 0.45641999999999994 0.541295 +1M|c128|negcol|u16 0.481685 0.531375 +1M|c128|negcol|i32 0.526285 0.81175 +1M|c128|negcol|u32 0.720135 0.834735 +1M|c128|negcol|i64 1.6103999999999998 1.58382 +1M|c128|negcol|u64 1.6585999999999999 1.49453 +1M|c128|negcol|char 0.470415 0.57562 +1M|c128|negcol|f16 1.82029 1.73149 +1M|c128|negcol|f32 0.590785 0.87995 +1M|c128|negcol|f64 0.8277850000000001 1.41646 +1M|c128|negcol|dec 6.30264 NA +1M|c128|negcol|c128 1.299285 2.93851 +1M|c128|strided|bool 0.323555 0.346335 +1M|c128|strided|u8 0.26362 0.301685 +1M|c128|strided|i8 0.264975 0.2633 +1M|c128|strided|i16 0.31295 0.2897 +1M|c128|strided|u16 0.30512 0.278935 +1M|c128|strided|i32 0.42408999999999997 0.488765 +1M|c128|strided|u32 0.480465 0.493365 +1M|c128|strided|i64 0.8005850000000001 0.775465 +1M|c128|strided|u64 0.93657 0.774475 +1M|c128|strided|char 0.294425 0.2754 +1M|c128|strided|f16 0.8811 0.787425 +1M|c128|strided|f32 0.43935500000000005 0.47355 +1M|c128|strided|f64 0.4875 0.77438 +1M|c128|strided|dec 3.374055 NA +1M|c128|strided|c128 0.8499399999999999 1.41198 +1M|c128|bcast|bool 0.362785 0.39615 +1M|c128|bcast|u8 0.2465 0.26117 +1M|c128|bcast|i8 0.24663 0.259295 +1M|c128|bcast|i16 0.32149 0.44475 +1M|c128|bcast|u16 0.31433 0.44154 +1M|c128|bcast|i32 0.37855500000000003 0.662405 +1M|c128|bcast|u32 0.49912 0.67287 +1M|c128|bcast|i64 1.42795 1.2013 +1M|c128|bcast|u64 1.541295 1.23008 +1M|c128|bcast|char 0.318505 0.444075 +1M|c128|bcast|f16 1.1087099999999999 1.66516 +1M|c128|bcast|f32 0.444195 0.6919 +1M|c128|bcast|f64 0.573805 1.15569 +1M|c128|bcast|dec 5.91227 NA +1M|c128|bcast|c128 0.88156 2.59177 diff --git a/benchmark/history/2026-06-29_2d16f477/fusion_results.md b/benchmark/history/2026-06-29_2d16f477/fusion_results.md new file mode 100644 index 000000000..b945c5a25 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/fusion_results.md @@ -0,0 +1,40 @@ +# Fusion — np.evaluate vs unfused chains (and NumPy context) + +`np.evaluate` runs a whole expression tree in one NDIter pass (no intermediates). Fixed-expression gate plus an operand-layout sweep of the flagship `a*b+c` (C/F/T/strided/bcast — does the fused single-pass win survive non-contiguous operands?), not a dtype/layout matrix — so reported as-is. + +``` +NumSharp — fused np.evaluate vs unfused np.* chains (4M elements, best-of-9; (Nx) = unfused ÷ fused, >1 = fusion faster): + +correctness cross-checks ok + +4M float64, best of 9: + a*b+c fused 3.53 ms unfused 6.08 ms (1.72x) + (a-b)/(a+b) fused 3.16 ms unfused 12.32 ms (3.90x) + sum(a*b) fused 2.30 ms unfused 4.33 ms (1.88x) + sum(af*bf) fused 1.43 ms unfused 1.57 ms (1.10x) [f32] + a*b+c out= fused 3.56 ms [1-pass fused-into-out] + i4*2+f8 fused 2.78 ms unfused 4.04 ms (1.45x) + + a*b+c across operand layouts (2-D 2000x2000, all 3 operands same layout): + [C ] fused 3.43 ms unfused 6.05 ms (1.77x) + [F ] fused 3.52 ms unfused 6.18 ms (1.75x) + [T ] fused 3.50 ms unfused 6.27 ms (1.79x) + [strided] fused 3.31 ms unfused 4.72 ms (1.43x) + [bcast ] fused 1.06 ms unfused 3.75 ms (3.53x) + +NumPy — absolutes on the same box (context for the unfused column): + +numpy 2.4.2, 4M float64, best of 9: + a*b+c 12.35 ms + (a-b)/(a+b) 18.75 ms + sum(a*b) 8.60 ms + sum(af*bf) 4.14 ms [f32] + a*b+c out= 4.68 ms [two-pass with out=] + i4*2+f8 9.67 ms + a*b+c across operand layouts (2-D 2000x2000, unfused): + [C ] 12.52 ms + [F ] 12.54 ms + [T ] 12.51 ms + [strided] 7.91 ms + [bcast ] 11.95 ms +``` diff --git a/benchmark/history/2026-06-29_2d16f477/layout_results.md b/benchmark/history/2026-06-29_2d16f477/layout_results.md new file mode 100644 index 000000000..59bd6d08e --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/layout_results.md @@ -0,0 +1,126 @@ +# Layout suite — reduction / copy / elementwise × memory layout × dtype + +ratio = NumPy_ms / NumSharp_ms — **>1.0 = NumSharp faster**. ✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2. +Layouts (8, harmonized with the cast subsystem): `C`, `F` (Fortran), `T` (transpose), `strided` `[:, ::2]`, `sliced` (offset), `negrow` `[::-1,:]`, `negcol` `[:,::-1]`, `bcast` (stride-0). Fills the op-matrix's blind spot (it measures C-contiguous only). 100K + 1M elements, best-of-rounds. + +### Reduction (sum/min/max/prod, both axes) + +**Geomean by lay** + +| size | C | F | T | strided | negrow | negcol | sliced | bcast | +|---|---|---|---|---|---|---|---|---| +| 100K | 0.99 🟡 | 1.02 ✅ | 1.02 ✅ | 0.55 🟡 | 0.70 🟡 | 0.70 🟡 | 0.72 🟡 | 0.74 🟡 | +| 1M | 0.95 🟡 | 0.94 🟡 | 0.95 🟡 | 0.65 🟡 | 0.87 🟡 | 0.73 🟡 | 0.75 🟡 | 0.68 🟡 | + +**Geomean by dt** + +| size | f64 | f32 | c128 | dec | f16 | i32 | i64 | +|---|---|---|---|---|---|---|---| +| 100K | 0.87 🟡 | 1.00 🟡 | 0.98 🟡 | 0.08 🔴 | 1.03 ✅ | 1.33 ✅ | 1.14 ✅ | +| 1M | 1.12 ✅ | 1.15 ✅ | 1.04 ✅ | 0.07 🔴 | 1.02 ✅ | 1.19 ✅ | 1.02 ✅ | + +**Geomean by op** + +| size | sum | min | max | prod | +|---|---|---|---|---| +| 100K | 0.80 🟡 | 0.66 🟡 | 0.66 🟡 | 1.19 ✅ | +| 1M | 0.84 🟡 | 0.65 🟡 | 0.64 🟡 | 1.28 ✅ | + +**Worst 15 cells (NumSharp slowest vs NumPy)** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 1M\|dec\|bcast\|sum\|ax0 | 5.5269 | 0.0655 | 0.01 🔴 | +| 100K\|dec\|bcast\|sum\|ax0 | 0.5555 | 0.0087 | 0.02 🔴 | +| 100K\|dec\|F\|sum\|ax1 | 0.5585 | 0.0094 | 0.02 🔴 | +| 100K\|dec\|C\|sum\|ax0 | 0.5615 | 0.0111 | 0.02 🔴 | +| 100K\|dec\|T\|sum\|ax1 | 0.5582 | 0.0111 | 0.02 🔴 | +| 100K\|dec\|negrow\|sum\|ax0 | 0.5592 | 0.0114 | 0.02 🔴 | +| 100K\|dec\|sliced\|sum\|ax0 | 0.5517 | 0.0115 | 0.02 🔴 | +| 1M\|dec\|sliced\|sum\|ax0 | 5.5802 | 0.1240 | 0.02 🔴 | +| 1M\|dec\|negrow\|sum\|ax0 | 5.5707 | 0.1242 | 0.02 🔴 | +| 1M\|dec\|F\|sum\|ax1 | 5.6157 | 0.1254 | 0.02 🔴 | +| 1M\|dec\|T\|sum\|ax1 | 5.5849 | 0.1278 | 0.02 🔴 | +| 1M\|dec\|C\|sum\|ax0 | 5.5736 | 0.1524 | 0.03 🔴 | +| 100K\|dec\|C\|min\|ax0 | 0.3021 | 0.0141 | 0.05 🔴 | +| 1M\|dec\|negcol\|sum\|ax0 | 5.6678 | 0.2866 | 0.05 🔴 | +| 100K\|dec\|negcol\|sum\|ax0 | 0.5594 | 0.0302 | 0.05 🔴 | + +### Copy / identity-ufunc (np.positive) + +**Geomean by lay** + +| size | C | F | T | strided | sliced | negrow | negcol | bcast | +|---|---|---|---|---|---|---|---|---| +| 100K | 1.22 ✅ | 1.51 ✅ | 1.28 ✅ | 0.83 🟡 | 1.54 ✅ | 1.48 ✅ | 2.20 ✅ | 1.62 ✅ | +| 1M | 2.82 ✅ | 2.89 ✅ | 2.88 ✅ | 2.08 ✅ | 2.58 ✅ | 2.64 ✅ | 3.16 ✅ | 2.66 ✅ | + +**Geomean by dt** + +| size | u8 | i8 | i16 | u16 | i32 | u32 | i64 | u64 | char | f16 | f32 | f64 | c128 | +|---|---|---|---|---|---|---|---|---|---|---|---|---|---| +| 100K | 0.92 🟡 | 1.03 ✅ | 1.51 ✅ | 1.99 ✅ | 1.02 ✅ | 1.09 ✅ | 1.65 ✅ | 1.08 ✅ | 2.56 ✅ | 2.47 ✅ | 1.15 ✅ | 0.85 🟡 | 2.56 ✅ | +| 1M | 4.60 ✅ | 4.87 ✅ | 2.13 ✅ | 2.14 ✅ | 2.11 ✅ | 2.12 ✅ | 2.56 ✅ | 2.46 ✅ | 2.20 ✅ | 2.10 ✅ | 2.14 ✅ | 2.59 ✅ | 5.47 ✅ | + +**Worst 15 cells (NumSharp slowest vs NumPy)** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 100K\|f64\|strided\|pos | 0.0243 | 0.0100 | 0.41 🟠 | +| 100K\|u64\|strided\|pos | 0.0241 | 0.0110 | 0.46 🟠 | +| 100K\|i64\|strided\|pos | 0.0237 | 0.0109 | 0.46 🟠 | +| 100K\|f32\|strided\|pos | 0.0216 | 0.0100 | 0.46 🟠 | +| 100K\|i32\|strided\|pos | 0.0213 | 0.0110 | 0.52 🟡 | +| 100K\|i64\|C\|pos | 0.0400 | 0.0210 | 0.53 🟡 | +| 100K\|i64\|T\|pos | 0.0387 | 0.0208 | 0.54 🟡 | +| 100K\|i8\|sliced\|pos | 0.0423 | 0.0228 | 0.54 🟡 | +| 100K\|u8\|bcast\|pos | 0.0416 | 0.0229 | 0.55 🟡 | +| 100K\|u8\|sliced\|pos | 0.0410 | 0.0227 | 0.55 🟡 | +| 100K\|u8\|negrow\|pos | 0.0410 | 0.0231 | 0.56 🟡 | +| 100K\|u32\|strided\|pos | 0.0191 | 0.0109 | 0.57 🟡 | +| 100K\|f64\|T\|pos | 0.0389 | 0.0227 | 0.58 🟡 | +| 100K\|f64\|F\|pos | 0.0362 | 0.0227 | 0.63 🟡 | +| 100K\|f64\|C\|pos | 0.0361 | 0.0228 | 0.63 🟡 | + +### Elementwise (add/mul/neg/abs/sqrt/less/copy) + +**Geomean by lay** + +| size | C | F | T | strided | sliced | negrow | negcol | bcast | +|---|---|---|---|---|---|---|---|---| +| 100K | 0.73 🟡 | 0.70 🟡 | 0.68 🟡 | 0.53 🟡 | 0.84 🟡 | 0.85 🟡 | 1.18 ✅ | 0.85 🟡 | +| 1M | 1.54 ✅ | 1.48 ✅ | 1.48 ✅ | 1.12 ✅ | 1.64 ✅ | 1.65 ✅ | 1.80 ✅ | 1.63 ✅ | + +**Geomean by dt** + +| size | f64 | f32 | c128 | f16 | i32 | i64 | +|---|---|---|---|---|---|---| +| 100K | 0.67 🟡 | 0.57 🟡 | 1.15 ✅ | 0.75 🟡 | 0.82 🟡 | 0.81 🟡 | +| 1M | 1.86 ✅ | 1.53 ✅ | 1.73 ✅ | 0.94 🟡 | 1.54 ✅ | 1.79 ✅ | + +**Geomean by op** + +| size | add | mul | neg | abs | sqrt | less | copy | +|---|---|---|---|---|---|---|---| +| 100K | 1.04 ✅ | 0.99 🟡 | 0.76 🟡 | 0.74 🟡 | 0.94 🟡 | 0.61 🟡 | 0.51 🟡 | +| 1M | 1.81 ✅ | 1.78 ✅ | 2.11 ✅ | 1.62 ✅ | 1.50 ✅ | 0.68 🟡 | 1.75 ✅ | + +**Worst 15 cells (NumSharp slowest vs NumPy)** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 100K\|f64\|strided\|abs | 0.0466 | 0.0077 | 0.17 🔴 | +| 100K\|f64\|strided\|neg | 0.0473 | 0.0088 | 0.19 🔴 | +| 100K\|i32\|bcast\|copy | 0.0233 | 0.0050 | 0.21 🟠 | +| 100K\|f16\|bcast\|copy | 0.0134 | 0.0030 | 0.22 🟠 | +| 100K\|f16\|negrow\|copy | 0.0168 | 0.0038 | 0.23 🟠 | +| 100K\|f32\|C\|copy | 0.0244 | 0.0059 | 0.24 🟠 | +| 100K\|i64\|strided\|neg | 0.0296 | 0.0076 | 0.26 🟠 | +| 100K\|f64\|strided\|copy | 0.0413 | 0.0108 | 0.26 🟠 | +| 100K\|f64\|negrow\|copy | 0.0595 | 0.0160 | 0.27 🟠 | +| 100K\|f16\|sliced\|copy | 0.0134 | 0.0037 | 0.27 🟠 | +| 100K\|f64\|sliced\|copy | 0.0592 | 0.0162 | 0.27 🟠 | +| 100K\|i32\|negrow\|copy | 0.0234 | 0.0064 | 0.28 🟠 | +| 100K\|f32\|C\|add | 0.0240 | 0.0066 | 0.28 🟠 | +| 100K\|f64\|strided\|mul | 0.0509 | 0.0142 | 0.28 🟠 | +| 100K\|f64\|strided\|add | 0.0516 | 0.0147 | 0.28 🟠 | diff --git a/benchmark/history/2026-06-29_2d16f477/layout_results.tsv b/benchmark/history/2026-06-29_2d16f477/layout_results.tsv new file mode 100644 index 000000000..4ba35d00a --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/layout_results.tsv @@ -0,0 +1,1745 @@ +bench key ns_ms np_ms +reduce_layout_bench 100K|f64|C|sum|ax0 0.020216500000000002 0.013917 +reduce_layout_bench 100K|f64|C|sum|ax1 0.0185565 0.017839 +reduce_layout_bench 100K|f64|C|min|ax0 0.017513 0.0149405 +reduce_layout_bench 100K|f64|C|min|ax1 0.023124500000000003 0.0169835 +reduce_layout_bench 100K|f64|C|max|ax0 0.0173355 0.012944 +reduce_layout_bench 100K|f64|C|max|ax1 0.024343499999999997 0.016917 +reduce_layout_bench 100K|f64|C|prod|ax0 0.010136000000000001 0.009504 +reduce_layout_bench 100K|f64|C|prod|ax1 0.007717000000000001 0.0573175 +reduce_layout_bench 100K|f64|F|sum|ax0 0.0166445 0.017558 +reduce_layout_bench 100K|f64|F|sum|ax1 0.0167675 0.011122 +reduce_layout_bench 100K|f64|F|min|ax0 0.0237145 0.016947 +reduce_layout_bench 100K|f64|F|min|ax1 0.016506 0.0140815 +reduce_layout_bench 100K|f64|F|max|ax0 0.022847 0.017022 +reduce_layout_bench 100K|f64|F|max|ax1 0.016604 0.0140985 +reduce_layout_bench 100K|f64|F|prod|ax0 0.0050735 0.057241 +reduce_layout_bench 100K|f64|F|prod|ax1 0.0090895 0.011168 +reduce_layout_bench 100K|f64|T|sum|ax0 0.018172 0.0178745 +reduce_layout_bench 100K|f64|T|sum|ax1 0.018120499999999998 0.0093755 +reduce_layout_bench 100K|f64|T|min|ax0 0.0240055 0.0172835 +reduce_layout_bench 100K|f64|T|min|ax1 0.0173175 0.0129695 +reduce_layout_bench 100K|f64|T|max|ax0 0.024304000000000003 0.0169725 +reduce_layout_bench 100K|f64|T|max|ax1 0.016991 0.012958 +reduce_layout_bench 100K|f64|T|prod|ax0 0.00769 0.057772 +reduce_layout_bench 100K|f64|T|prod|ax1 0.010156499999999999 0.0095345 +reduce_layout_bench 100K|f64|strided|sum|ax0 0.0266565 0.017522 +reduce_layout_bench 100K|f64|strided|sum|ax1 0.0200095 0.010462 +reduce_layout_bench 100K|f64|strided|min|ax0 0.0401255 0.0146705 +reduce_layout_bench 100K|f64|strided|min|ax1 0.06679249999999999 0.0229845 +reduce_layout_bench 100K|f64|strided|max|ax0 0.042086 0.014727 +reduce_layout_bench 100K|f64|strided|max|ax1 0.0677935 0.0231295 +reduce_layout_bench 100K|f64|strided|prod|ax0 0.021987 0.0172435 +reduce_layout_bench 100K|f64|strided|prod|ax1 0.050993000000000004 0.024497 +reduce_layout_bench 100K|f64|negrow|sum|ax0 0.018607 0.009932 +reduce_layout_bench 100K|f64|negrow|sum|ax1 0.019178999999999998 0.018621 +reduce_layout_bench 100K|f64|negrow|min|ax0 0.0291245 0.0131475 +reduce_layout_bench 100K|f64|negrow|min|ax1 0.0196675 0.017037 +reduce_layout_bench 100K|f64|negrow|max|ax0 0.028196500000000003 0.0132445 +reduce_layout_bench 100K|f64|negrow|max|ax1 0.020354 0.0169145 +reduce_layout_bench 100K|f64|negrow|prod|ax0 0.0092275 0.009864 +reduce_layout_bench 100K|f64|negrow|prod|ax1 0.10438449999999999 0.0584105 +reduce_layout_bench 100K|f64|negcol|sum|ax0 0.0511925 0.0302035 +reduce_layout_bench 100K|f64|negcol|sum|ax1 0.0203235 0.0188085 +reduce_layout_bench 100K|f64|negcol|min|ax0 0.112372 0.025622 +reduce_layout_bench 100K|f64|negcol|min|ax1 0.0111185 0.039116 +reduce_layout_bench 100K|f64|negcol|max|ax0 0.1085395 0.0269845 +reduce_layout_bench 100K|f64|negcol|max|ax1 0.0116295 0.039607 +reduce_layout_bench 100K|f64|negcol|prod|ax0 0.0392575 0.0303325 +reduce_layout_bench 100K|f64|negcol|prod|ax1 0.023352499999999998 0.05671 +reduce_layout_bench 100K|f64|sliced|sum|ax0 0.012574 0.014441 +reduce_layout_bench 100K|f64|sliced|sum|ax1 0.0119315 0.0177925 +reduce_layout_bench 100K|f64|sliced|min|ax0 0.0224925 0.0161745 +reduce_layout_bench 100K|f64|sliced|min|ax1 0.10606249999999999 0.0168425 +reduce_layout_bench 100K|f64|sliced|max|ax0 0.023268499999999998 0.014308 +reduce_layout_bench 100K|f64|sliced|max|ax1 0.1061685 0.015676 +reduce_layout_bench 100K|f64|sliced|prod|ax0 0.008905999999999999 0.0111935 +reduce_layout_bench 100K|f64|sliced|prod|ax1 0.0182645 0.0569915 +reduce_layout_bench 100K|f64|bcast|sum|ax0 0.0092375 0.008812 +reduce_layout_bench 100K|f64|bcast|sum|ax1 0.0101475 0.0144455 +reduce_layout_bench 100K|f64|bcast|min|ax0 0.019178999999999998 0.011985 +reduce_layout_bench 100K|f64|bcast|min|ax1 0.009356 0.016127 +reduce_layout_bench 100K|f64|bcast|max|ax0 0.0193765 0.011953 +reduce_layout_bench 100K|f64|bcast|max|ax1 0.0097345 0.016122 +reduce_layout_bench 100K|f64|bcast|prod|ax0 0.0052334999999999994 0.0094725 +reduce_layout_bench 100K|f64|bcast|prod|ax1 0.039046 0.056879 +reduce_layout_bench 100K|f32|C|sum|ax0 0.008217 0.007246 +reduce_layout_bench 100K|f32|C|sum|ax1 0.013166 0.016084 +reduce_layout_bench 100K|f32|C|min|ax0 0.0098055 0.009395 +reduce_layout_bench 100K|f32|C|min|ax1 0.0182585 0.012097 +reduce_layout_bench 100K|f32|C|max|ax0 0.009961 0.0093525 +reduce_layout_bench 100K|f32|C|max|ax1 0.017778000000000002 0.011773 +reduce_layout_bench 100K|f32|C|prod|ax0 0.0050360000000000005 0.007926 +reduce_layout_bench 100K|f32|C|prod|ax1 0.003495 0.057982 +reduce_layout_bench 100K|f32|F|sum|ax0 0.0130575 0.0160745 +reduce_layout_bench 100K|f32|F|sum|ax1 0.00773 0.007242 +reduce_layout_bench 100K|f32|F|min|ax0 0.01782 0.0122405 +reduce_layout_bench 100K|f32|F|min|ax1 0.00996 0.009435 +reduce_layout_bench 100K|f32|F|max|ax0 0.018874500000000002 0.0117635 +reduce_layout_bench 100K|f32|F|max|ax1 0.010086 0.009416 +reduce_layout_bench 100K|f32|F|prod|ax0 0.0033085 0.058327 +reduce_layout_bench 100K|f32|F|prod|ax1 0.004805 0.0079135 +reduce_layout_bench 100K|f32|T|sum|ax0 0.01272 0.016213 +reduce_layout_bench 100K|f32|T|sum|ax1 0.007884 0.0074435 +reduce_layout_bench 100K|f32|T|min|ax0 0.017778000000000002 0.011865 +reduce_layout_bench 100K|f32|T|min|ax1 0.0100725 0.0093365 +reduce_layout_bench 100K|f32|T|max|ax0 0.0175955 0.0119905 +reduce_layout_bench 100K|f32|T|max|ax1 0.009868 0.009447 +reduce_layout_bench 100K|f32|T|prod|ax0 0.0034685 0.057641 +reduce_layout_bench 100K|f32|T|prod|ax1 0.0054405 0.007958 +reduce_layout_bench 100K|f32|strided|sum|ax0 0.023176000000000002 0.017103 +reduce_layout_bench 100K|f32|strided|sum|ax1 0.014658500000000001 0.008631 +reduce_layout_bench 100K|f32|strided|min|ax0 0.040421500000000006 0.0119065 +reduce_layout_bench 100K|f32|strided|min|ax1 0.0438255 0.0231505 +reduce_layout_bench 100K|f32|strided|max|ax0 0.041014999999999996 0.0119665 +reduce_layout_bench 100K|f32|strided|max|ax1 0.0435295 0.022881 +reduce_layout_bench 100K|f32|strided|prod|ax0 0.0208575 0.017786 +reduce_layout_bench 100K|f32|strided|prod|ax1 0.0319915 0.025744 +reduce_layout_bench 100K|f32|negrow|sum|ax0 0.0079935 0.0072595 +reduce_layout_bench 100K|f32|negrow|sum|ax1 0.012854 0.01689 +reduce_layout_bench 100K|f32|negrow|min|ax0 0.013218 0.0094115 +reduce_layout_bench 100K|f32|negrow|min|ax1 0.011262000000000001 0.01182 +reduce_layout_bench 100K|f32|negrow|max|ax0 0.013395999999999998 0.0094265 +reduce_layout_bench 100K|f32|negrow|max|ax1 0.012001999999999999 0.011799 +reduce_layout_bench 100K|f32|negrow|prod|ax0 0.0046905 0.00796 +reduce_layout_bench 100K|f32|negrow|prod|ax1 0.060843 0.058834 +reduce_layout_bench 100K|f32|negcol|sum|ax0 0.042268 0.0295965 +reduce_layout_bench 100K|f32|negcol|sum|ax1 0.0130045 0.016848 +reduce_layout_bench 100K|f32|negcol|min|ax0 0.1098215 0.039166 +reduce_layout_bench 100K|f32|negcol|min|ax1 0.0109945 0.03963 +reduce_layout_bench 100K|f32|negcol|max|ax0 0.10946550000000001 0.038433 +reduce_layout_bench 100K|f32|negcol|max|ax1 0.010610999999999999 0.0398665 +reduce_layout_bench 100K|f32|negcol|prod|ax0 0.0390165 0.030098 +reduce_layout_bench 100K|f32|negcol|prod|ax1 0.054823000000000004 0.05798 +reduce_layout_bench 100K|f32|sliced|sum|ax0 0.008232 0.0070005 +reduce_layout_bench 100K|f32|sliced|sum|ax1 0.012525 0.0156815 +reduce_layout_bench 100K|f32|sliced|min|ax0 0.0128115 0.009291 +reduce_layout_bench 100K|f32|sliced|min|ax1 0.061960499999999995 0.010786 +reduce_layout_bench 100K|f32|sliced|max|ax0 0.0130225 0.009398 +reduce_layout_bench 100K|f32|sliced|max|ax1 0.061760999999999996 0.0108435 +reduce_layout_bench 100K|f32|sliced|prod|ax0 0.0049125 0.0081385 +reduce_layout_bench 100K|f32|sliced|prod|ax1 0.061510999999999996 0.0567475 +reduce_layout_bench 100K|f32|bcast|sum|ax0 0.006724 0.00667 +reduce_layout_bench 100K|f32|bcast|sum|ax1 0.0130545 0.014526 +reduce_layout_bench 100K|f32|bcast|min|ax0 0.0122985 0.0087795 +reduce_layout_bench 100K|f32|bcast|min|ax1 0.009795 0.0113935 +reduce_layout_bench 100K|f32|bcast|max|ax0 0.0123305 0.00883 +reduce_layout_bench 100K|f32|bcast|max|ax1 0.009923 0.0113785 +reduce_layout_bench 100K|f32|bcast|prod|ax0 0.0036655 0.0073145 +reduce_layout_bench 100K|f32|bcast|prod|ax1 0.039446 0.0585505 +reduce_layout_bench 100K|c128|C|sum|ax0 0.021345 0.015076 +reduce_layout_bench 100K|c128|C|sum|ax1 0.0301875 0.031425 +reduce_layout_bench 100K|c128|C|min|ax0 0.1877165 0.137835 +reduce_layout_bench 100K|c128|C|min|ax1 0.15428050000000001 0.151286 +reduce_layout_bench 100K|c128|C|max|ax0 0.1520455 0.138264 +reduce_layout_bench 100K|c128|C|max|ax1 0.11508850000000001 0.148863 +reduce_layout_bench 100K|c128|C|prod|ax0 0.071138 0.02992 +reduce_layout_bench 100K|c128|C|prod|ax1 0.149361 0.230536 +reduce_layout_bench 100K|c128|F|sum|ax0 0.030978500000000003 0.0311195 +reduce_layout_bench 100K|c128|F|sum|ax1 0.021051 0.019079 +reduce_layout_bench 100K|c128|F|min|ax0 0.142787 0.148802 +reduce_layout_bench 100K|c128|F|min|ax1 0.14208199999999999 0.137911 +reduce_layout_bench 100K|c128|F|max|ax0 0.1133745 0.150032 +reduce_layout_bench 100K|c128|F|max|ax1 0.115392 0.13736 +reduce_layout_bench 100K|c128|F|prod|ax0 0.1487755 0.230851 +reduce_layout_bench 100K|c128|F|prod|ax1 0.0699205 0.0297995 +reduce_layout_bench 100K|c128|T|sum|ax0 0.02923 0.029866 +reduce_layout_bench 100K|c128|T|sum|ax1 0.0204685 0.019334 +reduce_layout_bench 100K|c128|T|min|ax0 0.140335 0.151706 +reduce_layout_bench 100K|c128|T|min|ax1 0.142631 0.137783 +reduce_layout_bench 100K|c128|T|max|ax0 0.11639250000000001 0.14905 +reduce_layout_bench 100K|c128|T|max|ax1 0.114355 0.137736 +reduce_layout_bench 100K|c128|T|prod|ax0 0.1509315 0.232691 +reduce_layout_bench 100K|c128|T|prod|ax1 0.072404 0.0295985 +reduce_layout_bench 100K|c128|strided|sum|ax0 0.023586 0.0227665 +reduce_layout_bench 100K|c128|strided|sum|ax1 0.0172145 0.020025 +reduce_layout_bench 100K|c128|strided|min|ax0 0.0696575 0.070556 +reduce_layout_bench 100K|c128|strided|min|ax1 0.071844 0.0768955 +reduce_layout_bench 100K|c128|strided|max|ax0 0.0557425 0.0703845 +reduce_layout_bench 100K|c128|strided|max|ax1 0.057928 0.077422 +reduce_layout_bench 100K|c128|strided|prod|ax0 0.0368515 0.017917 +reduce_layout_bench 100K|c128|strided|prod|ax1 0.075077 0.110332 +reduce_layout_bench 100K|c128|negrow|sum|ax0 0.0210085 0.019271 +reduce_layout_bench 100K|c128|negrow|sum|ax1 0.032064 0.0318695 +reduce_layout_bench 100K|c128|negrow|min|ax0 0.1425155 0.139948 +reduce_layout_bench 100K|c128|negrow|min|ax1 0.1463925 0.150844 +reduce_layout_bench 100K|c128|negrow|max|ax0 0.1148115 0.138272 +reduce_layout_bench 100K|c128|negrow|max|ax1 0.1176605 0.151073 +reduce_layout_bench 100K|c128|negrow|prod|ax0 0.07202549999999999 0.0298805 +reduce_layout_bench 100K|c128|negrow|prod|ax1 0.152966 0.232688 +reduce_layout_bench 100K|c128|negcol|sum|ax0 0.047708 0.0389705 +reduce_layout_bench 100K|c128|negcol|sum|ax1 0.029184 0.032233 +reduce_layout_bench 100K|c128|negcol|min|ax0 0.1459175 0.139451 +reduce_layout_bench 100K|c128|negcol|min|ax1 0.14092000000000002 0.150707 +reduce_layout_bench 100K|c128|negcol|max|ax0 0.115933 0.139706 +reduce_layout_bench 100K|c128|negcol|max|ax1 0.11423349999999999 0.149785 +reduce_layout_bench 100K|c128|negcol|prod|ax0 0.07242799999999999 0.032503 +reduce_layout_bench 100K|c128|negcol|prod|ax1 0.1501625 0.231739 +reduce_layout_bench 100K|c128|sliced|sum|ax0 0.0232815 0.020225 +reduce_layout_bench 100K|c128|sliced|sum|ax1 0.029667500000000003 0.030938 +reduce_layout_bench 100K|c128|sliced|min|ax0 0.13994099999999998 0.136783 +reduce_layout_bench 100K|c128|sliced|min|ax1 0.139 0.1482 +reduce_layout_bench 100K|c128|sliced|max|ax0 0.11305749999999999 0.138229 +reduce_layout_bench 100K|c128|sliced|max|ax1 0.11173949999999999 0.147915 +reduce_layout_bench 100K|c128|sliced|prod|ax0 0.06946100000000001 0.029563 +reduce_layout_bench 100K|c128|sliced|prod|ax1 0.1469905 0.227949 +reduce_layout_bench 100K|c128|bcast|sum|ax0 0.016811 0.016066 +reduce_layout_bench 100K|c128|bcast|sum|ax1 0.029135499999999998 0.029896 +reduce_layout_bench 100K|c128|bcast|min|ax0 0.1759965 0.136242 +reduce_layout_bench 100K|c128|bcast|min|ax1 0.139518 0.150922 +reduce_layout_bench 100K|c128|bcast|max|ax0 0.157484 0.136238 +reduce_layout_bench 100K|c128|bcast|max|ax1 0.11393800000000001 0.147103 +reduce_layout_bench 100K|c128|bcast|prod|ax0 0.068505 0.030649 +reduce_layout_bench 100K|c128|bcast|prod|ax1 0.1476655 0.22913 +reduce_layout_bench 100K|dec|C|sum|ax0 0.561543 0.0111455 +reduce_layout_bench 100K|dec|C|sum|ax1 0.2083615 0.0177075 +reduce_layout_bench 100K|dec|C|min|ax0 0.302114 0.014128 +reduce_layout_bench 100K|dec|C|min|ax1 0.15407 0.016971 +reduce_layout_bench 100K|dec|C|max|ax0 0.221201 0.0141115 +reduce_layout_bench 100K|dec|C|max|ax1 0.160591 0.016928 +reduce_layout_bench 100K|dec|F|sum|ax0 0.21058700000000002 0.0178115 +reduce_layout_bench 100K|dec|F|sum|ax1 0.558532 0.0093755 +reduce_layout_bench 100K|dec|F|min|ax0 0.1555055 0.016892 +reduce_layout_bench 100K|dec|F|min|ax1 0.1755345 0.0129615 +reduce_layout_bench 100K|dec|F|max|ax0 0.1578555 0.0169135 +reduce_layout_bench 100K|dec|F|max|ax1 0.2116045 0.013148 +reduce_layout_bench 100K|dec|T|sum|ax0 0.207378 0.0177145 +reduce_layout_bench 100K|dec|T|sum|ax1 0.558207 0.0111065 +reduce_layout_bench 100K|dec|T|min|ax0 0.1577035 0.0169955 +reduce_layout_bench 100K|dec|T|min|ax1 0.1725635 0.014084 +reduce_layout_bench 100K|dec|T|max|ax0 0.1594285 0.017113 +reduce_layout_bench 100K|dec|T|max|ax1 0.215883 0.0141745 +reduce_layout_bench 100K|dec|strided|sum|ax0 0.280316 0.017432 +reduce_layout_bench 100K|dec|strided|sum|ax1 0.10733599999999999 0.010164 +reduce_layout_bench 100K|dec|strided|min|ax0 0.089257 0.0146075 +reduce_layout_bench 100K|dec|strided|min|ax1 0.069979 0.022999 +reduce_layout_bench 100K|dec|strided|max|ax0 0.1119205 0.015044 +reduce_layout_bench 100K|dec|strided|max|ax1 0.0849225 0.0229365 +reduce_layout_bench 100K|dec|negrow|sum|ax0 0.559162 0.0113905 +reduce_layout_bench 100K|dec|negrow|sum|ax1 0.2090865 0.0187745 +reduce_layout_bench 100K|dec|negrow|min|ax0 0.17431049999999998 0.014586 +reduce_layout_bench 100K|dec|negrow|min|ax1 0.156855 0.0169435 +reduce_layout_bench 100K|dec|negrow|max|ax0 0.21432099999999998 0.014262 +reduce_layout_bench 100K|dec|negrow|max|ax1 0.1597115 0.016951 +reduce_layout_bench 100K|dec|negcol|sum|ax0 0.5594215 0.0301815 +reduce_layout_bench 100K|dec|negcol|sum|ax1 0.208384 0.0194745 +reduce_layout_bench 100K|dec|negcol|min|ax0 0.1735875 0.0252995 +reduce_layout_bench 100K|dec|negcol|min|ax1 0.1547455 0.0396705 +reduce_layout_bench 100K|dec|negcol|max|ax0 0.22023399999999999 0.025307 +reduce_layout_bench 100K|dec|negcol|max|ax1 0.15987 0.041442 +reduce_layout_bench 100K|dec|sliced|sum|ax0 0.5517235 0.0114615 +reduce_layout_bench 100K|dec|sliced|sum|ax1 0.206399 0.0170315 +reduce_layout_bench 100K|dec|sliced|min|ax0 0.1713255 0.0143095 +reduce_layout_bench 100K|dec|sliced|min|ax1 0.1566245 0.0151915 +reduce_layout_bench 100K|dec|sliced|max|ax0 0.2133485 0.014172 +reduce_layout_bench 100K|dec|sliced|max|ax1 0.163816 0.0152885 +reduce_layout_bench 100K|dec|bcast|sum|ax0 0.555464 0.0087435 +reduce_layout_bench 100K|dec|bcast|sum|ax1 0.20572849999999998 0.014433 +reduce_layout_bench 100K|dec|bcast|min|ax0 0.17062850000000002 0.012194 +reduce_layout_bench 100K|dec|bcast|min|ax1 0.134423 0.016132 +reduce_layout_bench 100K|dec|bcast|max|ax0 0.165764 0.0122925 +reduce_layout_bench 100K|dec|bcast|max|ax1 0.126198 0.0161545 +reduce_layout_bench 100K|f16|C|sum|ax0 0.14787 0.284573 +reduce_layout_bench 100K|f16|C|sum|ax1 0.13152 0.202155 +reduce_layout_bench 100K|f16|C|min|ax0 0.17109649999999998 0.209376 +reduce_layout_bench 100K|f16|C|min|ax1 0.15149800000000002 0.223071 +reduce_layout_bench 100K|f16|C|max|ax0 0.162622 0.200894 +reduce_layout_bench 100K|f16|C|max|ax1 0.16551749999999998 0.210552 +reduce_layout_bench 100K|f16|C|prod|ax0 0.40003 0.252796 +reduce_layout_bench 100K|f16|C|prod|ax1 0.382616 0.0907975 +reduce_layout_bench 100K|f16|F|sum|ax0 0.1321675 0.201312 +reduce_layout_bench 100K|f16|F|sum|ax1 0.148608 0.284715 +reduce_layout_bench 100K|f16|F|min|ax0 0.1578925 0.220528 +reduce_layout_bench 100K|f16|F|min|ax1 0.1667025 0.202392 +reduce_layout_bench 100K|f16|F|max|ax0 0.16702950000000003 0.206639 +reduce_layout_bench 100K|f16|F|max|ax1 0.1629485 0.202149 +reduce_layout_bench 100K|f16|F|prod|ax0 0.3819095 0.0908035 +reduce_layout_bench 100K|f16|F|prod|ax1 0.38219200000000003 0.253326 +reduce_layout_bench 100K|f16|T|sum|ax0 0.1317325 0.20192 +reduce_layout_bench 100K|f16|T|sum|ax1 0.1477205 0.284482 +reduce_layout_bench 100K|f16|T|min|ax0 0.160153 0.22559 +reduce_layout_bench 100K|f16|T|min|ax1 0.16822099999999998 0.210013 +reduce_layout_bench 100K|f16|T|max|ax0 0.163243 0.209298 +reduce_layout_bench 100K|f16|T|max|ax1 0.16439250000000002 0.201214 +reduce_layout_bench 100K|f16|T|prod|ax0 0.382259 0.091119 +reduce_layout_bench 100K|f16|T|prod|ax1 0.3824005 0.252174 +reduce_layout_bench 100K|f16|strided|sum|ax0 0.0769545 0.145247 +reduce_layout_bench 100K|f16|strided|sum|ax1 0.0673305 0.103224 +reduce_layout_bench 100K|f16|strided|min|ax0 0.0867995 0.106783 +reduce_layout_bench 100K|f16|strided|min|ax1 0.085609 0.108195 +reduce_layout_bench 100K|f16|strided|max|ax0 0.08323499999999999 0.103793 +reduce_layout_bench 100K|f16|strided|max|ax1 0.0832465 0.10802 +reduce_layout_bench 100K|f16|strided|prod|ax0 0.19047599999999998 0.130436 +reduce_layout_bench 100K|f16|strided|prod|ax1 0.1980115 0.048928 +reduce_layout_bench 100K|f16|negrow|sum|ax0 0.14820550000000002 0.283791 +reduce_layout_bench 100K|f16|negrow|sum|ax1 0.133406 0.202901 +reduce_layout_bench 100K|f16|negrow|min|ax0 0.1656145 0.209617 +reduce_layout_bench 100K|f16|negrow|min|ax1 0.160159 0.223666 +reduce_layout_bench 100K|f16|negrow|max|ax0 0.16427 0.201587 +reduce_layout_bench 100K|f16|negrow|max|ax1 0.16781 0.209446 +reduce_layout_bench 100K|f16|negrow|prod|ax0 0.377939 0.253219 +reduce_layout_bench 100K|f16|negrow|prod|ax1 0.382982 0.0907095 +reduce_layout_bench 100K|f16|negcol|sum|ax0 0.14665050000000002 0.285076 +reduce_layout_bench 100K|f16|negcol|sum|ax1 0.130614 0.20189 +reduce_layout_bench 100K|f16|negcol|min|ax0 0.1655025 0.20876 +reduce_layout_bench 100K|f16|negcol|min|ax1 0.1684495 0.230567 +reduce_layout_bench 100K|f16|negcol|max|ax0 0.16452950000000002 0.202328 +reduce_layout_bench 100K|f16|negcol|max|ax1 0.165265 0.210286 +reduce_layout_bench 100K|f16|negcol|prod|ax0 0.37884950000000006 0.252674 +reduce_layout_bench 100K|f16|negcol|prod|ax1 0.380227 0.09082 +reduce_layout_bench 100K|f16|sliced|sum|ax0 0.145506 0.280738 +reduce_layout_bench 100K|f16|sliced|sum|ax1 0.129323 0.199957 +reduce_layout_bench 100K|f16|sliced|min|ax0 0.1636805 0.20563 +reduce_layout_bench 100K|f16|sliced|min|ax1 0.161327 0.218766 +reduce_layout_bench 100K|f16|sliced|max|ax0 0.163176 0.198534 +reduce_layout_bench 100K|f16|sliced|max|ax1 0.16526700000000002 0.207335 +reduce_layout_bench 100K|f16|sliced|prod|ax0 0.376173 0.250991 +reduce_layout_bench 100K|f16|sliced|prod|ax1 0.3797305 0.0901875 +reduce_layout_bench 100K|f16|bcast|sum|ax0 0.147809 0.283008 +reduce_layout_bench 100K|f16|bcast|sum|ax1 0.1308135 0.20131 +reduce_layout_bench 100K|f16|bcast|min|ax0 0.1530085 0.151452 +reduce_layout_bench 100K|f16|bcast|min|ax1 0.1582555 0.224966 +reduce_layout_bench 100K|f16|bcast|max|ax0 0.1468815 0.15301 +reduce_layout_bench 100K|f16|bcast|max|ax1 0.164525 0.207961 +reduce_layout_bench 100K|f16|bcast|prod|ax0 0.41021299999999994 0.41508 +reduce_layout_bench 100K|f16|bcast|prod|ax1 0.38050049999999996 0.090227 +reduce_layout_bench 100K|i32|C|sum|ax0 0.0083795 0.048445 +reduce_layout_bench 100K|i32|C|sum|ax1 0.005308 0.0385105 +reduce_layout_bench 100K|i32|C|min|ax0 0.005229 0.008704 +reduce_layout_bench 100K|i32|C|min|ax1 0.003933 0.0071615 +reduce_layout_bench 100K|i32|C|max|ax0 0.005265 0.0087405 +reduce_layout_bench 100K|i32|C|max|ax1 0.003822 0.0071145 +reduce_layout_bench 100K|i32|C|prod|ax0 0.0152765 0.047607 +reduce_layout_bench 100K|i32|C|prod|ax1 0.017707 0.066832 +reduce_layout_bench 100K|i32|F|sum|ax0 0.005457 0.0375145 +reduce_layout_bench 100K|i32|F|sum|ax1 0.008448 0.0479955 +reduce_layout_bench 100K|i32|F|min|ax0 0.0037774999999999996 0.0071105 +reduce_layout_bench 100K|i32|F|min|ax1 0.0051915 0.008685 +reduce_layout_bench 100K|i32|F|max|ax0 0.003892 0.007107 +reduce_layout_bench 100K|i32|F|max|ax1 0.0054865 0.0086595 +reduce_layout_bench 100K|i32|F|prod|ax0 0.0178335 0.066325 +reduce_layout_bench 100K|i32|F|prod|ax1 0.015265500000000001 0.047387 +reduce_layout_bench 100K|i32|T|sum|ax0 0.0050335 0.0374025 +reduce_layout_bench 100K|i32|T|sum|ax1 0.008338 0.047552 +reduce_layout_bench 100K|i32|T|min|ax0 0.003739 0.007151 +reduce_layout_bench 100K|i32|T|min|ax1 0.005243 0.0086025 +reduce_layout_bench 100K|i32|T|max|ax0 0.0037275000000000003 0.0072115 +reduce_layout_bench 100K|i32|T|max|ax1 0.005197 0.008646 +reduce_layout_bench 100K|i32|T|prod|ax0 0.017688 0.066716 +reduce_layout_bench 100K|i32|T|prod|ax1 0.015387 0.0481995 +reduce_layout_bench 100K|i32|strided|sum|ax0 0.0289135 0.0267745 +reduce_layout_bench 100K|i32|strided|sum|ax1 0.0301405 0.022301 +reduce_layout_bench 100K|i32|strided|min|ax0 0.021124999999999998 0.0201045 +reduce_layout_bench 100K|i32|strided|min|ax1 0.1035655 0.0154175 +reduce_layout_bench 100K|i32|strided|max|ax0 0.0230105 0.0201565 +reduce_layout_bench 100K|i32|strided|max|ax1 0.10343999999999999 0.0153555 +reduce_layout_bench 100K|i32|strided|prod|ax0 0.038546 0.026373 +reduce_layout_bench 100K|i32|strided|prod|ax1 0.0385405 0.0318355 +reduce_layout_bench 100K|i32|negrow|sum|ax0 0.0087825 0.050484 +reduce_layout_bench 100K|i32|negrow|sum|ax1 0.057705 0.039885 +reduce_layout_bench 100K|i32|negrow|min|ax0 0.003575 0.0086805 +reduce_layout_bench 100K|i32|negrow|min|ax1 0.0535785 0.0072665 +reduce_layout_bench 100K|i32|negrow|max|ax0 0.003744 0.0087135 +reduce_layout_bench 100K|i32|negrow|max|ax1 0.0531175 0.007286 +reduce_layout_bench 100K|i32|negrow|prod|ax0 0.016237500000000002 0.050861 +reduce_layout_bench 100K|i32|negrow|prod|ax1 0.076527 0.0694465 +reduce_layout_bench 100K|i32|negcol|sum|ax0 0.0575345 0.0510575 +reduce_layout_bench 100K|i32|negcol|sum|ax1 0.0577425 0.0403645 +reduce_layout_bench 100K|i32|negcol|min|ax0 0.039666 0.0364255 +reduce_layout_bench 100K|i32|negcol|min|ax1 0.0633175 0.025871 +reduce_layout_bench 100K|i32|negcol|max|ax0 0.0441345 0.036291 +reduce_layout_bench 100K|i32|negcol|max|ax1 0.0631345 0.0258065 +reduce_layout_bench 100K|i32|negcol|prod|ax0 0.0772555 0.0507285 +reduce_layout_bench 100K|i32|negcol|prod|ax1 0.07588400000000001 0.069918 +reduce_layout_bench 100K|i32|sliced|sum|ax0 0.009173 0.0499585 +reduce_layout_bench 100K|i32|sliced|sum|ax1 0.0569385 0.0396795 +reduce_layout_bench 100K|i32|sliced|min|ax0 0.00423 0.0089105 +reduce_layout_bench 100K|i32|sliced|min|ax1 0.014132 0.0070745 +reduce_layout_bench 100K|i32|sliced|max|ax0 0.0043809999999999995 0.0088765 +reduce_layout_bench 100K|i32|sliced|max|ax1 0.015184 0.007089 +reduce_layout_bench 100K|i32|sliced|prod|ax0 0.015593 0.0506405 +reduce_layout_bench 100K|i32|sliced|prod|ax1 0.073851 0.0685185 +reduce_layout_bench 100K|i32|bcast|sum|ax0 0.0074585 0.0276775 +reduce_layout_bench 100K|i32|bcast|sum|ax1 0.0572725 0.0166025 +reduce_layout_bench 100K|i32|bcast|min|ax0 0.002415 0.007276 +reduce_layout_bench 100K|i32|bcast|min|ax1 0.039284 0.005931 +reduce_layout_bench 100K|i32|bcast|max|ax0 0.0023585 0.007234 +reduce_layout_bench 100K|i32|bcast|max|ax1 0.043506 0.005881 +reduce_layout_bench 100K|i32|bcast|prod|ax0 0.015069999999999998 0.0275825 +reduce_layout_bench 100K|i32|bcast|prod|ax1 0.0750005 0.046283 +reduce_layout_bench 100K|i64|C|sum|ax0 0.0093285 0.027014 +reduce_layout_bench 100K|i64|C|sum|ax1 0.004926 0.0169555 +reduce_layout_bench 100K|i64|C|min|ax0 0.0114095 0.018203 +reduce_layout_bench 100K|i64|C|min|ax1 0.0095965 0.0146635 +reduce_layout_bench 100K|i64|C|max|ax0 0.0113645 0.0154925 +reduce_layout_bench 100K|i64|C|max|ax1 0.009239500000000001 0.013495 +reduce_layout_bench 100K|i64|C|prod|ax0 0.014798500000000001 0.0269905 +reduce_layout_bench 100K|i64|C|prod|ax1 0.01631 0.0455415 +reduce_layout_bench 100K|i64|F|sum|ax0 0.004721 0.0170665 +reduce_layout_bench 100K|i64|F|sum|ax1 0.009225 0.0270565 +reduce_layout_bench 100K|i64|F|min|ax0 0.009170000000000001 0.0146875 +reduce_layout_bench 100K|i64|F|min|ax1 0.011439 0.014979 +reduce_layout_bench 100K|i64|F|max|ax0 0.009174999999999999 0.0135565 +reduce_layout_bench 100K|i64|F|max|ax1 0.011749 0.013864 +reduce_layout_bench 100K|i64|F|prod|ax0 0.016458999999999998 0.0455675 +reduce_layout_bench 100K|i64|F|prod|ax1 0.014563999999999999 0.0269355 +reduce_layout_bench 100K|i64|T|sum|ax0 0.0050055 0.0174895 +reduce_layout_bench 100K|i64|T|sum|ax1 0.009244 0.028405 +reduce_layout_bench 100K|i64|T|min|ax0 0.00922 0.014758 +reduce_layout_bench 100K|i64|T|min|ax1 0.01199 0.0182915 +reduce_layout_bench 100K|i64|T|max|ax0 0.0092035 0.013623 +reduce_layout_bench 100K|i64|T|max|ax1 0.011755 0.0163185 +reduce_layout_bench 100K|i64|T|prod|ax0 0.0164805 0.046294 +reduce_layout_bench 100K|i64|T|prod|ax1 0.014440999999999999 0.026927 +reduce_layout_bench 100K|i64|strided|sum|ax0 0.0202805 0.0190095 +reduce_layout_bench 100K|i64|strided|sum|ax1 0.1037845 0.0130785 +reduce_layout_bench 100K|i64|strided|min|ax0 0.022809499999999996 0.0202345 +reduce_layout_bench 100K|i64|strided|min|ax1 0.055180999999999994 0.0165745 +reduce_layout_bench 100K|i64|strided|max|ax0 0.024908 0.020384 +reduce_layout_bench 100K|i64|strided|max|ax1 0.0397055 0.0161265 +reduce_layout_bench 100K|i64|strided|prod|ax0 0.021755 0.018369 +reduce_layout_bench 100K|i64|strided|prod|ax1 0.039282 0.0219305 +reduce_layout_bench 100K|i64|negrow|sum|ax0 0.00618 0.027259 +reduce_layout_bench 100K|i64|negrow|sum|ax1 0.093967 0.0174575 +reduce_layout_bench 100K|i64|negrow|min|ax0 0.010511 0.0184045 +reduce_layout_bench 100K|i64|negrow|min|ax1 0.102568 0.0155405 +reduce_layout_bench 100K|i64|negrow|max|ax0 0.010545 0.0156025 +reduce_layout_bench 100K|i64|negrow|max|ax1 0.0262745 0.0136735 +reduce_layout_bench 100K|i64|negrow|prod|ax0 0.0183135 0.026946 +reduce_layout_bench 100K|i64|negrow|prod|ax1 0.023654 0.0471305 +reduce_layout_bench 100K|i64|negcol|sum|ax0 0.037225 0.033431 +reduce_layout_bench 100K|i64|negcol|sum|ax1 0.057866999999999995 0.0243305 +reduce_layout_bench 100K|i64|negcol|min|ax0 0.043535000000000004 0.0362285 +reduce_layout_bench 100K|i64|negcol|min|ax1 0.0631475 0.026775 +reduce_layout_bench 100K|i64|negcol|max|ax0 0.047937 0.036215 +reduce_layout_bench 100K|i64|negcol|max|ax1 0.082462 0.026715 +reduce_layout_bench 100K|i64|negcol|prod|ax0 0.040786499999999996 0.033284 +reduce_layout_bench 100K|i64|negcol|prod|ax1 0.077885 0.0476795 +reduce_layout_bench 100K|i64|sliced|sum|ax0 0.008496 0.02679 +reduce_layout_bench 100K|i64|sliced|sum|ax1 0.0165835 0.016694 +reduce_layout_bench 100K|i64|sliced|min|ax0 0.010956500000000001 0.018355 +reduce_layout_bench 100K|i64|sliced|min|ax1 0.0185815 0.0128245 +reduce_layout_bench 100K|i64|sliced|max|ax0 0.010950999999999999 0.0154795 +reduce_layout_bench 100K|i64|sliced|max|ax1 0.0195795 0.012445 +reduce_layout_bench 100K|i64|sliced|prod|ax0 0.0191185 0.0265415 +reduce_layout_bench 100K|i64|sliced|prod|ax1 0.023635000000000003 0.0451015 +reduce_layout_bench 100K|i64|bcast|sum|ax0 0.003467 0.026968 +reduce_layout_bench 100K|i64|bcast|sum|ax1 0.0372175 0.0159175 +reduce_layout_bench 100K|i64|bcast|min|ax0 0.0103905 0.0137545 +reduce_layout_bench 100K|i64|bcast|min|ax1 0.043227 0.012771 +reduce_layout_bench 100K|i64|bcast|max|ax0 0.010346 0.013349 +reduce_layout_bench 100K|i64|bcast|max|ax1 0.046731499999999995 0.012296 +reduce_layout_bench 100K|i64|bcast|prod|ax0 0.0172915 0.0271415 +reduce_layout_bench 100K|i64|bcast|prod|ax1 0.0398905 0.045478 +reduce_layout_bench 1M|f64|C|sum|ax0 0.13835333333333333 0.151673 +reduce_layout_bench 1M|f64|C|sum|ax1 0.13369333333333333 0.20864 +reduce_layout_bench 1M|f64|C|min|ax0 0.16182 0.154193 +reduce_layout_bench 1M|f64|C|min|ax1 0.17062 0.139 +reduce_layout_bench 1M|f64|C|max|ax0 0.16552 0.153867 +reduce_layout_bench 1M|f64|C|max|ax1 0.18544666666666665 0.137253 +reduce_layout_bench 1M|f64|C|prod|ax0 0.13808666666666666 0.152607 +reduce_layout_bench 1M|f64|C|prod|ax1 0.12948666666666667 0.683953 +reduce_layout_bench 1M|f64|F|sum|ax0 0.12477333333333333 0.20724 +reduce_layout_bench 1M|f64|F|sum|ax1 0.13442666666666667 0.14612 +reduce_layout_bench 1M|f64|F|min|ax0 0.17746 0.12784 +reduce_layout_bench 1M|f64|F|min|ax1 0.16274 0.153073 +reduce_layout_bench 1M|f64|F|max|ax0 0.17214000000000002 0.128787 +reduce_layout_bench 1M|f64|F|max|ax1 0.16590666666666667 0.151007 +reduce_layout_bench 1M|f64|F|prod|ax0 0.11764666666666666 0.681587 +reduce_layout_bench 1M|f64|F|prod|ax1 0.12928666666666666 0.143933 +reduce_layout_bench 1M|f64|T|sum|ax0 0.12077333333333334 0.210847 +reduce_layout_bench 1M|f64|T|sum|ax1 0.13154666666666667 0.14534 +reduce_layout_bench 1M|f64|T|min|ax0 0.17981333333333333 0.12356 +reduce_layout_bench 1M|f64|T|min|ax1 0.20768666666666666 0.152433 +reduce_layout_bench 1M|f64|T|max|ax0 0.17023333333333335 0.122913 +reduce_layout_bench 1M|f64|T|max|ax1 0.16899333333333333 0.14508 +reduce_layout_bench 1M|f64|T|prod|ax0 0.09731333333333334 0.68196 +reduce_layout_bench 1M|f64|T|prod|ax1 0.11025333333333333 0.141407 +reduce_layout_bench 1M|f64|strided|sum|ax0 0.20190000000000002 0.15472 +reduce_layout_bench 1M|f64|strided|sum|ax1 0.12692 0.135787 +reduce_layout_bench 1M|f64|strided|min|ax0 0.37900666666666666 0.131187 +reduce_layout_bench 1M|f64|strided|min|ax1 0.2948733333333333 0.186427 +reduce_layout_bench 1M|f64|strided|max|ax0 0.38766 0.15702 +reduce_layout_bench 1M|f64|strided|max|ax1 0.30305333333333334 0.198687 +reduce_layout_bench 1M|f64|strided|prod|ax0 0.19620666666666667 0.156753 +reduce_layout_bench 1M|f64|strided|prod|ax1 0.12526 0.31494 +reduce_layout_bench 1M|f64|negrow|sum|ax0 0.11516 0.136347 +reduce_layout_bench 1M|f64|negrow|sum|ax1 0.12158000000000001 0.189153 +reduce_layout_bench 1M|f64|negrow|min|ax0 0.16530666666666666 0.14418 +reduce_layout_bench 1M|f64|negrow|min|ax1 0.11504666666666667 0.168507 +reduce_layout_bench 1M|f64|negrow|max|ax0 0.16906 0.15408 +reduce_layout_bench 1M|f64|negrow|max|ax1 0.11451333333333333 0.14416 +reduce_layout_bench 1M|f64|negrow|prod|ax0 0.09613333333333333 0.143827 +reduce_layout_bench 1M|f64|negrow|prod|ax1 0.13025333333333333 0.713787 +reduce_layout_bench 1M|f64|negcol|sum|ax0 0.39014666666666664 0.282573 +reduce_layout_bench 1M|f64|negcol|sum|ax1 0.10593333333333334 0.182567 +reduce_layout_bench 1M|f64|negcol|min|ax0 1.0695000000000001 0.219113 +reduce_layout_bench 1M|f64|negcol|min|ax1 0.10632666666666667 0.36806 +reduce_layout_bench 1M|f64|negcol|max|ax0 1.0670600000000001 0.21608 +reduce_layout_bench 1M|f64|negcol|max|ax1 0.10745333333333333 0.367733 +reduce_layout_bench 1M|f64|negcol|prod|ax0 0.38978666666666667 0.277607 +reduce_layout_bench 1M|f64|negcol|prod|ax1 0.22288 0.70386 +reduce_layout_bench 1M|f64|sliced|sum|ax0 0.12006 0.12048 +reduce_layout_bench 1M|f64|sliced|sum|ax1 0.11898 0.193367 +reduce_layout_bench 1M|f64|sliced|min|ax0 0.31156666666666666 0.139193 +reduce_layout_bench 1M|f64|sliced|min|ax1 0.22680666666666666 0.11438 +reduce_layout_bench 1M|f64|sliced|max|ax0 0.3028866666666667 0.137447 +reduce_layout_bench 1M|f64|sliced|max|ax1 0.2276733333333333 0.1138 +reduce_layout_bench 1M|f64|sliced|prod|ax0 0.12138 0.12186 +reduce_layout_bench 1M|f64|sliced|prod|ax1 0.12528666666666666 0.677333 +reduce_layout_bench 1M|f64|bcast|sum|ax0 0.07014000000000001 0.0832733 +reduce_layout_bench 1M|f64|bcast|sum|ax1 0.06613333333333334 0.113067 +reduce_layout_bench 1M|f64|bcast|min|ax0 0.15913333333333332 0.0968733 +reduce_layout_bench 1M|f64|bcast|min|ax1 0.06690666666666667 0.0986733 +reduce_layout_bench 1M|f64|bcast|max|ax0 0.15790666666666667 0.0899133 +reduce_layout_bench 1M|f64|bcast|max|ax1 0.06236 0.0991 +reduce_layout_bench 1M|f64|bcast|prod|ax0 0.047586666666666666 0.0837933 +reduce_layout_bench 1M|f64|bcast|prod|ax1 0.3732 0.674327 +reduce_layout_bench 1M|f32|C|sum|ax0 0.08061333333333334 0.0660866 +reduce_layout_bench 1M|f32|C|sum|ax1 0.08352666666666667 0.168113 +reduce_layout_bench 1M|f32|C|min|ax0 0.08912 0.0676933 +reduce_layout_bench 1M|f32|C|min|ax1 0.1032 0.0807867 +reduce_layout_bench 1M|f32|C|max|ax0 0.08565333333333333 0.0662333 +reduce_layout_bench 1M|f32|C|max|ax1 0.10039333333333333 0.0805267 +reduce_layout_bench 1M|f32|C|prod|ax0 0.0641 0.0667 +reduce_layout_bench 1M|f32|C|prod|ax1 0.06076 0.675453 +reduce_layout_bench 1M|f32|F|sum|ax0 0.08284666666666667 0.162313 +reduce_layout_bench 1M|f32|F|sum|ax1 0.06858 0.0606733 +reduce_layout_bench 1M|f32|F|min|ax0 0.10038 0.0800133 +reduce_layout_bench 1M|f32|F|min|ax1 0.08344 0.0633867 +reduce_layout_bench 1M|f32|F|max|ax0 0.09970666666666667 0.0798 +reduce_layout_bench 1M|f32|F|max|ax1 0.08363333333333332 0.06346 +reduce_layout_bench 1M|f32|F|prod|ax0 0.05283333333333333 0.675387 +reduce_layout_bench 1M|f32|F|prod|ax1 0.06084666666666667 0.05598 +reduce_layout_bench 1M|f32|T|sum|ax0 0.08405333333333333 0.16152 +reduce_layout_bench 1M|f32|T|sum|ax1 0.06777999999999999 0.0601467 +reduce_layout_bench 1M|f32|T|min|ax0 0.09958666666666667 0.0799733 +reduce_layout_bench 1M|f32|T|min|ax1 0.08316 0.0616134 +reduce_layout_bench 1M|f32|T|max|ax0 0.10343333333333334 0.0790733 +reduce_layout_bench 1M|f32|T|max|ax1 0.08500666666666666 0.06176 +reduce_layout_bench 1M|f32|T|prod|ax0 0.058886666666666664 0.68072 +reduce_layout_bench 1M|f32|T|prod|ax1 0.06380666666666666 0.0596867 +reduce_layout_bench 1M|f32|strided|sum|ax0 0.2003 0.1388 +reduce_layout_bench 1M|f32|strided|sum|ax1 0.11607333333333333 0.102933 +reduce_layout_bench 1M|f32|strided|min|ax0 0.39526 0.0868733 +reduce_layout_bench 1M|f32|strided|min|ax1 0.1618 0.19132 +reduce_layout_bench 1M|f32|strided|max|ax0 0.40348666666666666 0.0864133 +reduce_layout_bench 1M|f32|strided|max|ax1 0.16568666666666668 0.192007 +reduce_layout_bench 1M|f32|strided|prod|ax0 0.19014666666666666 0.14166 +reduce_layout_bench 1M|f32|strided|prod|ax1 0.07729333333333334 0.3146 +reduce_layout_bench 1M|f32|negrow|sum|ax0 0.05942 0.05918 +reduce_layout_bench 1M|f32|negrow|sum|ax1 0.08362666666666667 0.136327 +reduce_layout_bench 1M|f32|negrow|min|ax0 0.08600666666666666 0.06608 +reduce_layout_bench 1M|f32|negrow|min|ax1 0.06958 0.0827933 +reduce_layout_bench 1M|f32|negrow|max|ax0 0.08642 0.0660467 +reduce_layout_bench 1M|f32|negrow|max|ax1 0.07054 0.0828067 +reduce_layout_bench 1M|f32|negrow|prod|ax0 0.04582 0.0609333 +reduce_layout_bench 1M|f32|negrow|prod|ax1 0.5342333333333333 0.689647 +reduce_layout_bench 1M|f32|negcol|sum|ax0 0.38393333333333335 0.271693 +reduce_layout_bench 1M|f32|negcol|sum|ax1 0.08840666666666668 0.137507 +reduce_layout_bench 1M|f32|negcol|min|ax0 1.0516266666666667 0.369513 +reduce_layout_bench 1M|f32|negcol|min|ax1 0.06064 0.363427 +reduce_layout_bench 1M|f32|negcol|max|ax0 1.05176 0.365467 +reduce_layout_bench 1M|f32|negcol|max|ax1 0.06694 0.3655 +reduce_layout_bench 1M|f32|negcol|prod|ax0 0.38204 0.272913 +reduce_layout_bench 1M|f32|negcol|prod|ax1 0.13162666666666667 0.6979 +reduce_layout_bench 1M|f32|sliced|sum|ax0 0.06236 0.0603267 +reduce_layout_bench 1M|f32|sliced|sum|ax1 0.08820666666666667 0.165787 +reduce_layout_bench 1M|f32|sliced|min|ax0 0.12635333333333335 0.06806 +reduce_layout_bench 1M|f32|sliced|min|ax1 0.13090666666666667 0.0738067 +reduce_layout_bench 1M|f32|sliced|max|ax0 0.12611999999999998 0.0687667 +reduce_layout_bench 1M|f32|sliced|max|ax1 0.12565333333333334 0.07416 +reduce_layout_bench 1M|f32|sliced|prod|ax0 0.06198 0.0611 +reduce_layout_bench 1M|f32|sliced|prod|ax1 0.07502 0.673047 +reduce_layout_bench 1M|f32|bcast|sum|ax0 0.04001999999999999 0.0353867 +reduce_layout_bench 1M|f32|bcast|sum|ax1 0.08444 0.113167 +reduce_layout_bench 1M|f32|bcast|min|ax0 0.08562 0.05044 +reduce_layout_bench 1M|f32|bcast|min|ax1 0.04357333333333333 0.0679867 +reduce_layout_bench 1M|f32|bcast|max|ax0 0.08488666666666668 0.0494 +reduce_layout_bench 1M|f32|bcast|max|ax1 0.04398666666666667 0.0678667 +reduce_layout_bench 1M|f32|bcast|prod|ax0 0.023426666666666665 0.0332 +reduce_layout_bench 1M|f32|bcast|prod|ax1 0.37289333333333335 0.675913 +reduce_layout_bench 1M|c128|C|sum|ax0 0.2845333333333333 0.295353 +reduce_layout_bench 1M|c128|C|sum|ax1 0.29710000000000003 0.309533 +reduce_layout_bench 1M|c128|C|min|ax0 1.3691866666666668 1.38045 +reduce_layout_bench 1M|c128|C|min|ax1 1.36216 1.4998 +reduce_layout_bench 1M|c128|C|max|ax0 1.0992199999999999 1.4052 +reduce_layout_bench 1M|c128|C|max|ax1 1.1110466666666667 1.48169 +reduce_layout_bench 1M|c128|C|prod|ax0 0.67228 0.29406 +reduce_layout_bench 1M|c128|C|prod|ax1 1.52024 2.38296 +reduce_layout_bench 1M|c128|F|sum|ax0 0.31998 0.296687 +reduce_layout_bench 1M|c128|F|sum|ax1 0.2721666666666666 0.28806 +reduce_layout_bench 1M|c128|F|min|ax0 1.3703066666666668 1.49281 +reduce_layout_bench 1M|c128|F|min|ax1 1.3839333333333335 1.36885 +reduce_layout_bench 1M|c128|F|max|ax0 1.1054933333333332 1.49319 +reduce_layout_bench 1M|c128|F|max|ax1 1.1091266666666668 1.41677 +reduce_layout_bench 1M|c128|F|prod|ax0 1.5094933333333331 2.37473 +reduce_layout_bench 1M|c128|F|prod|ax1 0.74312 0.31574 +reduce_layout_bench 1M|c128|T|sum|ax0 0.29445333333333334 0.329867 +reduce_layout_bench 1M|c128|T|sum|ax1 0.2834933333333333 0.28812 +reduce_layout_bench 1M|c128|T|min|ax0 1.3704800000000001 1.51335 +reduce_layout_bench 1M|c128|T|min|ax1 1.39276 1.38254 +reduce_layout_bench 1M|c128|T|max|ax0 1.0925666666666667 1.51761 +reduce_layout_bench 1M|c128|T|max|ax1 1.1022066666666668 1.38917 +reduce_layout_bench 1M|c128|T|prod|ax0 1.4993333333333332 2.36963 +reduce_layout_bench 1M|c128|T|prod|ax1 0.67454 0.298767 +reduce_layout_bench 1M|c128|strided|sum|ax0 0.25801999999999997 0.268633 +reduce_layout_bench 1M|c128|strided|sum|ax1 0.22890666666666667 0.233647 +reduce_layout_bench 1M|c128|strided|min|ax0 0.7034 0.69898 +reduce_layout_bench 1M|c128|strided|min|ax1 0.6949866666666666 0.74034 +reduce_layout_bench 1M|c128|strided|max|ax0 0.5744066666666666 0.691053 +reduce_layout_bench 1M|c128|strided|max|ax1 0.5676133333333334 0.76482 +reduce_layout_bench 1M|c128|strided|prod|ax0 0.36898666666666663 0.23154 +reduce_layout_bench 1M|c128|strided|prod|ax1 0.7457600000000001 1.19215 +reduce_layout_bench 1M|c128|negrow|sum|ax0 0.24838666666666667 0.303593 +reduce_layout_bench 1M|c128|negrow|sum|ax1 0.2934533333333333 0.326753 +reduce_layout_bench 1M|c128|negrow|min|ax0 1.3737466666666667 1.39122 +reduce_layout_bench 1M|c128|negrow|min|ax1 1.40792 1.50315 +reduce_layout_bench 1M|c128|negrow|max|ax0 1.1042866666666666 1.3968 +reduce_layout_bench 1M|c128|negrow|max|ax1 1.1336666666666666 1.49406 +reduce_layout_bench 1M|c128|negrow|prod|ax0 0.6803266666666666 0.314913 +reduce_layout_bench 1M|c128|negrow|prod|ax1 1.55274 2.41479 +reduce_layout_bench 1M|c128|negcol|sum|ax0 0.4108866666666666 0.40874 +reduce_layout_bench 1M|c128|negcol|sum|ax1 0.29899333333333333 0.309067 +reduce_layout_bench 1M|c128|negcol|min|ax0 1.4180400000000002 1.38329 +reduce_layout_bench 1M|c128|negcol|min|ax1 1.3626866666666666 1.51921 +reduce_layout_bench 1M|c128|negcol|max|ax0 1.1512133333333334 1.42951 +reduce_layout_bench 1M|c128|negcol|max|ax1 1.1151066666666667 1.5467 +reduce_layout_bench 1M|c128|negcol|prod|ax0 0.69436 0.329587 +reduce_layout_bench 1M|c128|negcol|prod|ax1 1.49818 2.39667 +reduce_layout_bench 1M|c128|sliced|sum|ax0 0.2525866666666667 0.260287 +reduce_layout_bench 1M|c128|sliced|sum|ax1 0.28391333333333335 0.281573 +reduce_layout_bench 1M|c128|sliced|min|ax0 1.3708066666666667 1.39062 +reduce_layout_bench 1M|c128|sliced|min|ax1 1.3844133333333335 1.47873 +reduce_layout_bench 1M|c128|sliced|max|ax0 1.1034533333333334 1.3501 +reduce_layout_bench 1M|c128|sliced|max|ax1 1.1030933333333333 1.49157 +reduce_layout_bench 1M|c128|sliced|prod|ax0 0.68598 0.296773 +reduce_layout_bench 1M|c128|sliced|prod|ax1 1.50862 2.37987 +reduce_layout_bench 1M|c128|bcast|sum|ax0 0.13405999999999998 0.160947 +reduce_layout_bench 1M|c128|bcast|sum|ax1 0.24104666666666666 0.235093 +reduce_layout_bench 1M|c128|bcast|min|ax0 1.7219866666666666 1.33609 +reduce_layout_bench 1M|c128|bcast|min|ax1 1.3726133333333335 1.45877 +reduce_layout_bench 1M|c128|bcast|max|ax0 1.51534 1.32738 +reduce_layout_bench 1M|c128|bcast|max|ax1 1.07866 1.45579 +reduce_layout_bench 1M|c128|bcast|prod|ax0 0.6512733333333334 0.28204 +reduce_layout_bench 1M|c128|bcast|prod|ax1 1.47888 2.37161 +reduce_layout_bench 1M|dec|C|sum|ax0 5.573566666666666 0.152373 +reduce_layout_bench 1M|dec|C|sum|ax1 2.0575 0.207893 +reduce_layout_bench 1M|dec|C|min|ax0 1.70414 0.153827 +reduce_layout_bench 1M|dec|C|min|ax1 1.66302 0.137233 +reduce_layout_bench 1M|dec|C|max|ax0 2.1625466666666666 0.137093 +reduce_layout_bench 1M|dec|C|max|ax1 1.6215533333333334 0.13366 +reduce_layout_bench 1M|dec|F|sum|ax0 2.0818066666666666 0.207373 +reduce_layout_bench 1M|dec|F|sum|ax1 5.615746666666666 0.12538 +reduce_layout_bench 1M|dec|F|min|ax0 1.5291733333333333 0.12652 +reduce_layout_bench 1M|dec|F|min|ax1 1.7035466666666668 0.139313 +reduce_layout_bench 1M|dec|F|max|ax0 1.7046466666666666 0.126513 +reduce_layout_bench 1M|dec|F|max|ax1 2.15622 0.13338 +reduce_layout_bench 1M|dec|T|sum|ax0 2.0722533333333333 0.205667 +reduce_layout_bench 1M|dec|T|sum|ax1 5.5849 0.12784 +reduce_layout_bench 1M|dec|T|min|ax0 1.6470999999999998 0.122827 +reduce_layout_bench 1M|dec|T|min|ax1 1.69282 0.12828 +reduce_layout_bench 1M|dec|T|max|ax0 1.6306933333333333 0.122993 +reduce_layout_bench 1M|dec|T|max|ax1 2.1930533333333333 0.126693 +reduce_layout_bench 1M|dec|strided|sum|ax0 2.7976933333333336 0.15262 +reduce_layout_bench 1M|dec|strided|sum|ax1 1.07274 0.136427 +reduce_layout_bench 1M|dec|strided|min|ax0 0.8924266666666667 0.134387 +reduce_layout_bench 1M|dec|strided|min|ax1 0.8534733333333333 0.18918 +reduce_layout_bench 1M|dec|strided|max|ax0 1.10986 0.129967 +reduce_layout_bench 1M|dec|strided|max|ax1 0.8415866666666666 0.187453 +reduce_layout_bench 1M|dec|negrow|sum|ax0 5.57072 0.12418 +reduce_layout_bench 1M|dec|negrow|sum|ax1 2.081113333333333 0.192133 +reduce_layout_bench 1M|dec|negrow|min|ax0 1.71278 0.1406 +reduce_layout_bench 1M|dec|negrow|min|ax1 1.6391466666666665 0.140427 +reduce_layout_bench 1M|dec|negrow|max|ax0 2.174593333333333 0.141813 +reduce_layout_bench 1M|dec|negrow|max|ax1 1.65358 0.149767 +reduce_layout_bench 1M|dec|negcol|sum|ax0 5.66784 0.28662 +reduce_layout_bench 1M|dec|negcol|sum|ax1 2.04494 0.193867 +reduce_layout_bench 1M|dec|negcol|min|ax0 1.7237666666666667 0.21998 +reduce_layout_bench 1M|dec|negcol|min|ax1 1.5648466666666667 0.3709 +reduce_layout_bench 1M|dec|negcol|max|ax0 2.2490733333333335 0.214007 +reduce_layout_bench 1M|dec|negcol|max|ax1 1.6585533333333333 0.365307 +reduce_layout_bench 1M|dec|sliced|sum|ax0 5.5801799999999995 0.123967 +reduce_layout_bench 1M|dec|sliced|sum|ax1 2.0724666666666667 0.19496 +reduce_layout_bench 1M|dec|sliced|min|ax0 1.6411866666666666 0.139153 +reduce_layout_bench 1M|dec|sliced|min|ax1 1.6350799999999999 0.120647 +reduce_layout_bench 1M|dec|sliced|max|ax0 2.1633 0.141547 +reduce_layout_bench 1M|dec|sliced|max|ax1 1.65936 0.119693 +reduce_layout_bench 1M|dec|bcast|sum|ax0 5.526873333333333 0.06554 +reduce_layout_bench 1M|dec|bcast|sum|ax1 2.0479333333333334 0.117153 +reduce_layout_bench 1M|dec|bcast|min|ax0 1.6483666666666668 0.09134 +reduce_layout_bench 1M|dec|bcast|min|ax1 1.3108133333333332 0.09968 +reduce_layout_bench 1M|dec|bcast|max|ax0 1.6194333333333333 0.0895467 +reduce_layout_bench 1M|dec|bcast|max|ax1 1.21218 0.0999267 +reduce_layout_bench 1M|f16|C|sum|ax0 1.4200666666666666 2.80355 +reduce_layout_bench 1M|f16|C|sum|ax1 1.2567266666666665 1.98469 +reduce_layout_bench 1M|f16|C|min|ax0 1.6659466666666667 2.05546 +reduce_layout_bench 1M|f16|C|min|ax1 1.5941 2.19019 +reduce_layout_bench 1M|f16|C|max|ax0 1.6547066666666665 1.95172 +reduce_layout_bench 1M|f16|C|max|ax1 1.6287266666666667 2.05647 +reduce_layout_bench 1M|f16|C|prod|ax0 3.7891600000000003 2.44255 +reduce_layout_bench 1M|f16|C|prod|ax1 3.7258799999999996 0.86048 +reduce_layout_bench 1M|f16|F|sum|ax0 1.2606866666666667 1.9784 +reduce_layout_bench 1M|f16|F|sum|ax1 1.4304266666666665 2.79808 +reduce_layout_bench 1M|f16|F|min|ax0 1.5768133333333334 2.07813 +reduce_layout_bench 1M|f16|F|min|ax1 1.68132 2.03797 +reduce_layout_bench 1M|f16|F|max|ax0 1.6360133333333333 2.04977 +reduce_layout_bench 1M|f16|F|max|ax1 1.6456466666666667 2.01083 +reduce_layout_bench 1M|f16|F|prod|ax0 3.7479733333333334 0.856373 +reduce_layout_bench 1M|f16|F|prod|ax1 3.7804066666666665 2.45329 +reduce_layout_bench 1M|f16|T|sum|ax0 1.26864 1.96861 +reduce_layout_bench 1M|f16|T|sum|ax1 1.4342066666666669 2.80121 +reduce_layout_bench 1M|f16|T|min|ax0 1.5846133333333334 2.18047 +reduce_layout_bench 1M|f16|T|min|ax1 1.6785066666666668 2.03771 +reduce_layout_bench 1M|f16|T|max|ax0 1.6231533333333334 2.04117 +reduce_layout_bench 1M|f16|T|max|ax1 1.6582133333333333 1.95333 +reduce_layout_bench 1M|f16|T|prod|ax0 3.7368733333333335 0.864513 +reduce_layout_bench 1M|f16|T|prod|ax1 3.7330933333333336 2.45761 +reduce_layout_bench 1M|f16|strided|sum|ax0 0.7134533333333334 1.40847 +reduce_layout_bench 1M|f16|strided|sum|ax1 0.6369133333333333 1.00282 +reduce_layout_bench 1M|f16|strided|min|ax0 0.8574933333333333 1.02857 +reduce_layout_bench 1M|f16|strided|min|ax1 0.8386333333333333 1.06248 +reduce_layout_bench 1M|f16|strided|max|ax0 0.83916 0.989327 +reduce_layout_bench 1M|f16|strided|max|ax1 0.8133733333333333 1.02099 +reduce_layout_bench 1M|f16|strided|prod|ax0 1.89994 1.22729 +reduce_layout_bench 1M|f16|strided|prod|ax1 1.9158933333333332 0.43546 +reduce_layout_bench 1M|f16|negrow|sum|ax0 1.43016 2.80007 +reduce_layout_bench 1M|f16|negrow|sum|ax1 1.2660733333333334 1.95122 +reduce_layout_bench 1M|f16|negrow|min|ax0 1.6995133333333332 2.08384 +reduce_layout_bench 1M|f16|negrow|min|ax1 1.58856 2.18943 +reduce_layout_bench 1M|f16|negrow|max|ax0 1.65768 1.95463 +reduce_layout_bench 1M|f16|negrow|max|ax1 1.6374733333333333 2.13842 +reduce_layout_bench 1M|f16|negrow|prod|ax0 3.7539599999999997 2.43123 +reduce_layout_bench 1M|f16|negrow|prod|ax1 3.7193066666666668 0.852613 +reduce_layout_bench 1M|f16|negcol|sum|ax0 1.4364066666666666 2.81159 +reduce_layout_bench 1M|f16|negcol|sum|ax1 1.2606733333333333 1.98462 +reduce_layout_bench 1M|f16|negcol|min|ax0 1.7025599999999999 2.07701 +reduce_layout_bench 1M|f16|negcol|min|ax1 1.6618400000000002 2.26564 +reduce_layout_bench 1M|f16|negcol|max|ax0 1.6700866666666667 1.99377 +reduce_layout_bench 1M|f16|negcol|max|ax1 1.6330933333333335 2.05271 +reduce_layout_bench 1M|f16|negcol|prod|ax0 3.7867466666666667 2.45945 +reduce_layout_bench 1M|f16|negcol|prod|ax1 3.7826866666666663 0.854813 +reduce_layout_bench 1M|f16|sliced|sum|ax0 1.4311866666666666 2.78165 +reduce_layout_bench 1M|f16|sliced|sum|ax1 1.2533666666666667 1.95559 +reduce_layout_bench 1M|f16|sliced|min|ax0 1.6771466666666666 2.00908 +reduce_layout_bench 1M|f16|sliced|min|ax1 1.5656866666666667 2.15797 +reduce_layout_bench 1M|f16|sliced|max|ax0 1.64658 1.93914 +reduce_layout_bench 1M|f16|sliced|max|ax1 1.6369533333333335 2.02754 +reduce_layout_bench 1M|f16|sliced|prod|ax0 3.7289866666666667 2.42921 +reduce_layout_bench 1M|f16|sliced|prod|ax1 3.7218999999999998 0.84972 +reduce_layout_bench 1M|f16|bcast|sum|ax0 1.4304 2.78162 +reduce_layout_bench 1M|f16|bcast|sum|ax1 1.2654466666666666 1.94303 +reduce_layout_bench 1M|f16|bcast|min|ax0 1.4846933333333332 1.48761 +reduce_layout_bench 1M|f16|bcast|min|ax1 1.56442 2.18062 +reduce_layout_bench 1M|f16|bcast|max|ax0 1.4582733333333333 1.48167 +reduce_layout_bench 1M|f16|bcast|max|ax1 1.6114 2.03827 +reduce_layout_bench 1M|f16|bcast|prod|ax0 3.99536 4.09185 +reduce_layout_bench 1M|f16|bcast|prod|ax1 3.7103933333333337 0.849493 +reduce_layout_bench 1M|i32|C|sum|ax0 0.09344666666666666 0.427513 +reduce_layout_bench 1M|i32|C|sum|ax1 0.06518 0.32434 +reduce_layout_bench 1M|i32|C|min|ax0 0.06765333333333333 0.0714 +reduce_layout_bench 1M|i32|C|min|ax1 0.06432666666666667 0.0673667 +reduce_layout_bench 1M|i32|C|max|ax0 0.06699999999999999 0.0727267 +reduce_layout_bench 1M|i32|C|max|ax1 0.06423333333333334 0.06866 +reduce_layout_bench 1M|i32|C|prod|ax0 0.14917333333333332 0.429793 +reduce_layout_bench 1M|i32|C|prod|ax1 0.14867333333333335 0.703007 +reduce_layout_bench 1M|i32|F|sum|ax0 0.06048666666666667 0.321953 +reduce_layout_bench 1M|i32|F|sum|ax1 0.09218 0.43066 +reduce_layout_bench 1M|i32|F|min|ax0 0.06077333333333333 0.0622733 +reduce_layout_bench 1M|i32|F|min|ax1 0.06306666666666666 0.0691467 +reduce_layout_bench 1M|i32|F|max|ax0 0.05682666666666667 0.0619334 +reduce_layout_bench 1M|i32|F|max|ax1 0.0617 0.06634 +reduce_layout_bench 1M|i32|F|prod|ax0 0.14803333333333332 0.706787 +reduce_layout_bench 1M|i32|F|prod|ax1 0.14996 0.429273 +reduce_layout_bench 1M|i32|T|sum|ax0 0.0576 0.32354 +reduce_layout_bench 1M|i32|T|sum|ax1 0.08914666666666667 0.431433 +reduce_layout_bench 1M|i32|T|min|ax0 0.04908666666666666 0.0594134 +reduce_layout_bench 1M|i32|T|min|ax1 0.057440000000000005 0.0635133 +reduce_layout_bench 1M|i32|T|max|ax0 0.049093333333333336 0.0592333 +reduce_layout_bench 1M|i32|T|max|ax1 0.05771333333333333 0.0648133 +reduce_layout_bench 1M|i32|T|prod|ax0 0.15166000000000002 0.7066 +reduce_layout_bench 1M|i32|T|prod|ax1 0.14543999999999999 0.42974 +reduce_layout_bench 1M|i32|strided|sum|ax0 0.33913333333333334 0.230733 +reduce_layout_bench 1M|i32|strided|sum|ax1 0.28414 0.179187 +reduce_layout_bench 1M|i32|strided|min|ax0 0.19168 0.1721 +reduce_layout_bench 1M|i32|strided|min|ax1 0.29324666666666666 0.120547 +reduce_layout_bench 1M|i32|strided|max|ax0 0.20918 0.171747 +reduce_layout_bench 1M|i32|strided|max|ax1 0.30221333333333333 0.121167 +reduce_layout_bench 1M|i32|strided|prod|ax0 0.39276666666666665 0.230873 +reduce_layout_bench 1M|i32|strided|prod|ax1 0.3722333333333333 0.354147 +reduce_layout_bench 1M|i32|negrow|sum|ax0 0.09435333333333333 0.441567 +reduce_layout_bench 1M|i32|negrow|sum|ax1 0.5691133333333334 0.33792 +reduce_layout_bench 1M|i32|negrow|min|ax0 0.046340000000000006 0.0677533 +reduce_layout_bench 1M|i32|negrow|min|ax1 0.07653333333333333 0.0671133 +reduce_layout_bench 1M|i32|negrow|max|ax0 0.050320000000000004 0.0660667 +reduce_layout_bench 1M|i32|negrow|max|ax1 0.07628666666666667 0.069 +reduce_layout_bench 1M|i32|negrow|prod|ax0 0.15876666666666667 0.441353 +reduce_layout_bench 1M|i32|negrow|prod|ax1 0.7540066666666667 0.719127 +reduce_layout_bench 1M|i32|negcol|sum|ax0 0.6276266666666667 0.4624 +reduce_layout_bench 1M|i32|negcol|sum|ax1 0.5723933333333334 0.356847 +reduce_layout_bench 1M|i32|negcol|min|ax0 0.38284 0.34568 +reduce_layout_bench 1M|i32|negcol|min|ax1 0.5902933333333333 0.235287 +reduce_layout_bench 1M|i32|negcol|max|ax0 0.419 0.343353 +reduce_layout_bench 1M|i32|negcol|max|ax1 0.5994133333333332 0.23426 +reduce_layout_bench 1M|i32|negcol|prod|ax0 0.7752866666666667 0.4621 +reduce_layout_bench 1M|i32|negcol|prod|ax1 0.7511733333333334 0.73762 +reduce_layout_bench 1M|i32|sliced|sum|ax0 0.08810666666666668 0.438133 +reduce_layout_bench 1M|i32|sliced|sum|ax1 0.5631333333333333 0.3339 +reduce_layout_bench 1M|i32|sliced|min|ax0 0.06025333333333334 0.0654333 +reduce_layout_bench 1M|i32|sliced|min|ax1 0.12530666666666665 0.0529267 +reduce_layout_bench 1M|i32|sliced|max|ax0 0.05980666666666667 0.0652133 +reduce_layout_bench 1M|i32|sliced|max|ax1 0.12366 0.0523066 +reduce_layout_bench 1M|i32|sliced|prod|ax0 0.14462666666666665 0.439013 +reduce_layout_bench 1M|i32|sliced|prod|ax1 0.73968 0.710373 +reduce_layout_bench 1M|i32|bcast|sum|ax0 0.07498 0.237447 +reduce_layout_bench 1M|i32|bcast|sum|ax1 0.5610333333333333 0.116873 +reduce_layout_bench 1M|i32|bcast|min|ax0 0.01727333333333333 0.0444667 +reduce_layout_bench 1M|i32|bcast|min|ax1 0.37422 0.0295333 +reduce_layout_bench 1M|i32|bcast|max|ax0 0.01712666666666667 0.0405067 +reduce_layout_bench 1M|i32|bcast|max|ax1 0.41016 0.02954 +reduce_layout_bench 1M|i32|bcast|prod|ax0 0.14472666666666667 0.238173 +reduce_layout_bench 1M|i32|bcast|prod|ax1 0.7380466666666667 0.515087 +reduce_layout_bench 1M|i64|C|sum|ax0 0.12696000000000002 0.23888 +reduce_layout_bench 1M|i64|C|sum|ax1 0.11448666666666667 0.152727 +reduce_layout_bench 1M|i64|C|min|ax0 0.13189333333333333 0.152353 +reduce_layout_bench 1M|i64|C|min|ax1 0.11612 0.120887 +reduce_layout_bench 1M|i64|C|max|ax0 0.13652 0.138407 +reduce_layout_bench 1M|i64|C|max|ax1 0.11112666666666667 0.11798 +reduce_layout_bench 1M|i64|C|prod|ax0 0.14623333333333333 0.239227 +reduce_layout_bench 1M|i64|C|prod|ax1 0.14746 0.51416 +reduce_layout_bench 1M|i64|F|sum|ax0 0.11780666666666666 0.157213 +reduce_layout_bench 1M|i64|F|sum|ax1 0.12998666666666667 0.239747 +reduce_layout_bench 1M|i64|F|min|ax0 0.11908 0.126773 +reduce_layout_bench 1M|i64|F|min|ax1 0.13582 0.161573 +reduce_layout_bench 1M|i64|F|max|ax0 0.11828666666666666 0.116987 +reduce_layout_bench 1M|i64|F|max|ax1 0.14472666666666667 0.13912 +reduce_layout_bench 1M|i64|F|prod|ax0 0.14680666666666667 0.5126 +reduce_layout_bench 1M|i64|F|prod|ax1 0.14447333333333334 0.23874 +reduce_layout_bench 1M|i64|T|sum|ax0 0.11112666666666667 0.1561 +reduce_layout_bench 1M|i64|T|sum|ax1 0.12523333333333334 0.23912 +reduce_layout_bench 1M|i64|T|min|ax0 0.11198666666666666 0.12272 +reduce_layout_bench 1M|i64|T|min|ax1 0.13530666666666666 0.14986 +reduce_layout_bench 1M|i64|T|max|ax0 0.10994 0.119527 +reduce_layout_bench 1M|i64|T|max|ax1 0.12816 0.144373 +reduce_layout_bench 1M|i64|T|prod|ax0 0.14658000000000002 0.5106 +reduce_layout_bench 1M|i64|T|prod|ax1 0.14379333333333333 0.2495 +reduce_layout_bench 1M|i64|strided|sum|ax0 0.18387333333333336 0.165633 +reduce_layout_bench 1M|i64|strided|sum|ax1 0.29272 0.1253 +reduce_layout_bench 1M|i64|strided|min|ax0 0.21086666666666665 0.175107 +reduce_layout_bench 1M|i64|strided|min|ax1 0.40787999999999996 0.136667 +reduce_layout_bench 1M|i64|strided|max|ax0 0.23699333333333333 0.17496 +reduce_layout_bench 1M|i64|strided|max|ax1 0.37782666666666664 0.138067 +reduce_layout_bench 1M|i64|strided|prod|ax0 0.19777999999999998 0.162327 +reduce_layout_bench 1M|i64|strided|prod|ax1 0.38127333333333335 0.2514 +reduce_layout_bench 1M|i64|negrow|sum|ax0 0.09734666666666666 0.251227 +reduce_layout_bench 1M|i64|negrow|sum|ax1 0.12895333333333334 0.165707 +reduce_layout_bench 1M|i64|negrow|min|ax0 0.17408 0.151007 +reduce_layout_bench 1M|i64|negrow|min|ax1 0.15116666666666667 0.13532 +reduce_layout_bench 1M|i64|negrow|max|ax0 0.17334666666666668 0.155413 +reduce_layout_bench 1M|i64|negrow|max|ax1 0.15242000000000003 0.127353 +reduce_layout_bench 1M|i64|negrow|prod|ax0 0.27060666666666666 0.24796 +reduce_layout_bench 1M|i64|negrow|prod|ax1 0.21564666666666668 0.52992 +reduce_layout_bench 1M|i64|negcol|sum|ax0 0.36402 0.310373 +reduce_layout_bench 1M|i64|negcol|sum|ax1 0.5773333333333334 0.241467 +reduce_layout_bench 1M|i64|negcol|min|ax0 0.43607333333333337 0.350113 +reduce_layout_bench 1M|i64|negcol|min|ax1 0.59224 0.240407 +reduce_layout_bench 1M|i64|negcol|max|ax0 0.46360666666666667 0.348993 +reduce_layout_bench 1M|i64|negcol|max|ax1 0.7247 0.243547 +reduce_layout_bench 1M|i64|negcol|prod|ax0 0.40444 0.30054 +reduce_layout_bench 1M|i64|negcol|prod|ax1 0.7709333333333334 0.557667 +reduce_layout_bench 1M|i64|sliced|sum|ax0 0.12665333333333334 0.236113 +reduce_layout_bench 1M|i64|sliced|sum|ax1 0.16018666666666667 0.14944 +reduce_layout_bench 1M|i64|sliced|min|ax0 0.17915333333333333 0.16578 +reduce_layout_bench 1M|i64|sliced|min|ax1 0.16068000000000002 0.11198 +reduce_layout_bench 1M|i64|sliced|max|ax0 0.18259999999999998 0.155347 +reduce_layout_bench 1M|i64|sliced|max|ax1 0.14568666666666666 0.103507 +reduce_layout_bench 1M|i64|sliced|prod|ax0 0.26974 0.23668 +reduce_layout_bench 1M|i64|sliced|prod|ax1 0.20088666666666669 0.508167 +reduce_layout_bench 1M|i64|bcast|sum|ax0 0.02793333333333333 0.2321 +reduce_layout_bench 1M|i64|bcast|sum|ax1 0.34636666666666666 0.11368 +reduce_layout_bench 1M|i64|bcast|min|ax0 0.09472 0.1058 +reduce_layout_bench 1M|i64|bcast|min|ax1 0.4196533333333334 0.09196 +reduce_layout_bench 1M|i64|bcast|max|ax0 0.09375333333333334 0.100273 +reduce_layout_bench 1M|i64|bcast|max|ax1 0.45480666666666664 0.0827933 +reduce_layout_bench 1M|i64|bcast|prod|ax0 0.16467333333333334 0.234567 +reduce_layout_bench 1M|i64|bcast|prod|ax1 0.3768266666666667 0.506987 +copy_path_bench 100K|u8|C|pos 0.0172505 0.0207915 +copy_path_bench 100K|u8|F|pos 0.0183125 0.0207895 +copy_path_bench 100K|u8|T|pos 0.017371499999999998 0.0207415 +copy_path_bench 100K|u8|strided|pos 0.014421999999999999 0.0136675 +copy_path_bench 100K|u8|sliced|pos 0.04101950000000001 0.0226905 +copy_path_bench 100K|u8|negrow|pos 0.0409565 0.0230885 +copy_path_bench 100K|u8|negcol|pos 0.021321500000000004 0.0426035 +copy_path_bench 100K|u8|bcast|pos 0.0416125 0.022889 +copy_path_bench 100K|i8|C|pos 0.0185425 0.020741 +copy_path_bench 100K|i8|F|pos 0.01892 0.02073 +copy_path_bench 100K|i8|T|pos 0.0193205 0.020739 +copy_path_bench 100K|i8|strided|pos 0.0180305 0.015045 +copy_path_bench 100K|i8|sliced|pos 0.042251500000000004 0.0228095 +copy_path_bench 100K|i8|negrow|pos 0.036284000000000004 0.022934 +copy_path_bench 100K|i8|negcol|pos 0.018732 0.0425095 +copy_path_bench 100K|i8|bcast|pos 0.016072 0.0230525 +copy_path_bench 100K|i16|C|pos 0.017143 0.0208305 +copy_path_bench 100K|i16|F|pos 0.015179 0.020735 +copy_path_bench 100K|i16|T|pos 0.012713 0.0207675 +copy_path_bench 100K|i16|strided|pos 0.010966 0.0108835 +copy_path_bench 100K|i16|sliced|pos 0.016511 0.023641 +copy_path_bench 100K|i16|negrow|pos 0.022351999999999997 0.0237525 +copy_path_bench 100K|i16|negcol|pos 0.0134425 0.042895 +copy_path_bench 100K|i16|bcast|pos 0.011408 0.023245 +copy_path_bench 100K|u16|C|pos 0.014421 0.0207275 +copy_path_bench 100K|u16|F|pos 0.010563499999999998 0.020737 +copy_path_bench 100K|u16|T|pos 0.010088 0.0207375 +copy_path_bench 100K|u16|strided|pos 0.008433000000000001 0.0108795 +copy_path_bench 100K|u16|sliced|pos 0.010526500000000001 0.0236745 +copy_path_bench 100K|u16|negrow|pos 0.011756500000000001 0.023687 +copy_path_bench 100K|u16|negcol|pos 0.0122065 0.0425605 +copy_path_bench 100K|u16|bcast|pos 0.011033 0.0231685 +copy_path_bench 100K|i32|C|pos 0.024503499999999998 0.0207705 +copy_path_bench 100K|i32|F|pos 0.021163500000000002 0.020766 +copy_path_bench 100K|i32|T|pos 0.020706500000000003 0.0207415 +copy_path_bench 100K|i32|strided|pos 0.0212695 0.010966 +copy_path_bench 100K|i32|sliced|pos 0.0223905 0.027801 +copy_path_bench 100K|i32|negrow|pos 0.020419999999999997 0.0279495 +copy_path_bench 100K|i32|negcol|pos 0.0364235 0.0420305 +copy_path_bench 100K|i32|bcast|pos 0.018959 0.0255685 +copy_path_bench 100K|u32|C|pos 0.019414 0.0207405 +copy_path_bench 100K|u32|F|pos 0.0187 0.0208635 +copy_path_bench 100K|u32|T|pos 0.0170305 0.0210975 +copy_path_bench 100K|u32|strided|pos 0.0191365 0.010887 +copy_path_bench 100K|u32|sliced|pos 0.0248235 0.0274265 +copy_path_bench 100K|u32|negrow|pos 0.022204 0.027613 +copy_path_bench 100K|u32|negcol|pos 0.0321375 0.0420985 +copy_path_bench 100K|u32|bcast|pos 0.019485 0.025655 +copy_path_bench 100K|i64|C|pos 0.039972 0.021034 +copy_path_bench 100K|i64|F|pos 0.036395 0.145748 +copy_path_bench 100K|i64|T|pos 0.0386835 0.020801 +copy_path_bench 100K|i64|strided|pos 0.023675 0.0108955 +copy_path_bench 100K|i64|sliced|pos 0.044806 0.179018 +copy_path_bench 100K|i64|negrow|pos 0.040983 0.145134 +copy_path_bench 100K|i64|negcol|pos 0.041392 0.135862 +copy_path_bench 100K|i64|bcast|pos 0.0358705 0.0804175 +copy_path_bench 100K|u64|C|pos 0.034665499999999995 0.0360765 +copy_path_bench 100K|u64|F|pos 0.0334135 0.03452 +copy_path_bench 100K|u64|T|pos 0.031122999999999998 0.0284085 +copy_path_bench 100K|u64|strided|pos 0.0240815 0.0109625 +copy_path_bench 100K|u64|sliced|pos 0.04001350000000001 0.057056 +copy_path_bench 100K|u64|negrow|pos 0.039852 0.0588875 +copy_path_bench 100K|u64|negcol|pos 0.040598999999999996 0.0616885 +copy_path_bench 100K|u64|bcast|pos 0.032035 0.0426925 +copy_path_bench 100K|char|C|pos 0.0087715 0.0207505 +copy_path_bench 100K|char|F|pos 0.0094205 0.020744 +copy_path_bench 100K|char|T|pos 0.008588 0.020748 +copy_path_bench 100K|char|strided|pos 0.0073160000000000005 0.010881 +copy_path_bench 100K|char|sliced|pos 0.0073750000000000005 0.023645 +copy_path_bench 100K|char|negrow|pos 0.00997 0.023814 +copy_path_bench 100K|char|negcol|pos 0.010158499999999999 0.043178 +copy_path_bench 100K|char|bcast|pos 0.007774 0.023363 +copy_path_bench 100K|f16|C|pos 0.0089445 0.02077 +copy_path_bench 100K|f16|F|pos 0.00705 0.020754 +copy_path_bench 100K|f16|T|pos 0.0099265 0.0207775 +copy_path_bench 100K|f16|strided|pos 0.006579000000000001 0.010991 +copy_path_bench 100K|f16|sliced|pos 0.010180499999999999 0.023571 +copy_path_bench 100K|f16|negrow|pos 0.009826 0.0236885 +copy_path_bench 100K|f16|negcol|pos 0.009670999999999999 0.042757 +copy_path_bench 100K|f16|bcast|pos 0.009823 0.023251 +copy_path_bench 100K|f32|C|pos 0.0171995 0.018939 +copy_path_bench 100K|f32|F|pos 0.0158765 0.018929 +copy_path_bench 100K|f32|T|pos 0.0158475 0.0189045 +copy_path_bench 100K|f32|strided|pos 0.021564999999999997 0.009985 +copy_path_bench 100K|f32|sliced|pos 0.0163845 0.0258065 +copy_path_bench 100K|f32|negrow|pos 0.017348 0.026284 +copy_path_bench 100K|f32|negcol|pos 0.038002 0.040045 +copy_path_bench 100K|f32|bcast|pos 0.014519500000000001 0.0236365 +copy_path_bench 100K|f64|C|pos 0.0361425 0.0228375 +copy_path_bench 100K|f64|F|pos 0.0361615 0.0226925 +copy_path_bench 100K|f64|T|pos 0.0388935 0.022722 +copy_path_bench 100K|f64|strided|pos 0.024312 0.0099655 +copy_path_bench 100K|f64|sliced|pos 0.031157 0.043528 +copy_path_bench 100K|f64|negrow|pos 0.036950500000000004 0.0435765 +copy_path_bench 100K|f64|negcol|pos 0.0394865 0.0600675 +copy_path_bench 100K|f64|bcast|pos 0.0343635 0.0403725 +copy_path_bench 100K|c128|C|pos 0.1484615 0.423789 +copy_path_bench 100K|c128|F|pos 0.15277100000000002 0.427754 +copy_path_bench 100K|c128|T|pos 0.1583715 0.428065 +copy_path_bench 100K|c128|strided|pos 0.042492999999999996 0.134449 +copy_path_bench 100K|c128|sliced|pos 0.2081475 0.451939 +copy_path_bench 100K|c128|negrow|pos 0.20488499999999998 0.466312 +copy_path_bench 100K|c128|negcol|pos 0.2015995 0.507873 +copy_path_bench 100K|c128|bcast|pos 0.20161300000000001 0.443406 +copy_path_bench 1M|u8|C|pos 0.0622225 0.210215 +copy_path_bench 1M|u8|F|pos 0.049 0.211532 +copy_path_bench 1M|u8|T|pos 0.051485 0.208197 +copy_path_bench 1M|u8|strided|pos 0.0272575 0.134368 +copy_path_bench 1M|u8|sliced|pos 0.058775 0.233015 +copy_path_bench 1M|u8|negrow|pos 0.051417500000000005 0.232782 +copy_path_bench 1M|u8|negcol|pos 0.0489025 0.417 +copy_path_bench 1M|u8|bcast|pos 0.0502325 0.227935 +copy_path_bench 1M|i8|C|pos 0.054955 0.207345 +copy_path_bench 1M|i8|F|pos 0.047189999999999996 0.20922 +copy_path_bench 1M|i8|T|pos 0.0538625 0.207245 +copy_path_bench 1M|i8|strided|pos 0.0247725 0.13385 +copy_path_bench 1M|i8|sliced|pos 0.05554 0.22831 +copy_path_bench 1M|i8|negrow|pos 0.049522500000000004 0.231513 +copy_path_bench 1M|i8|negcol|pos 0.046247500000000004 0.415455 +copy_path_bench 1M|i8|bcast|pos 0.0428575 0.2263 +copy_path_bench 1M|i16|C|pos 0.1809925 0.416768 +copy_path_bench 1M|i16|F|pos 0.18348 0.412007 +copy_path_bench 1M|i16|T|pos 0.1766925 0.410087 +copy_path_bench 1M|i16|strided|pos 0.058785 0.1071 +copy_path_bench 1M|i16|sliced|pos 0.2265975 0.452933 +copy_path_bench 1M|i16|negrow|pos 0.23765 0.44787 +copy_path_bench 1M|i16|negcol|pos 0.22653500000000001 0.61977 +copy_path_bench 1M|i16|bcast|pos 0.23120500000000002 0.42712 +copy_path_bench 1M|u16|C|pos 0.1846175 0.403548 +copy_path_bench 1M|u16|F|pos 0.1789675 0.409423 +copy_path_bench 1M|u16|T|pos 0.17714749999999999 0.414733 +copy_path_bench 1M|u16|strided|pos 0.059035000000000004 0.106823 +copy_path_bench 1M|u16|sliced|pos 0.22611750000000003 0.445507 +copy_path_bench 1M|u16|negrow|pos 0.23281000000000002 0.449423 +copy_path_bench 1M|u16|negcol|pos 0.22608250000000002 0.611018 +copy_path_bench 1M|u16|bcast|pos 0.21605500000000002 0.429035 +copy_path_bench 1M|i32|C|pos 0.2864375 0.661625 +copy_path_bench 1M|i32|F|pos 0.2793425 0.69117 +copy_path_bench 1M|i32|T|pos 0.2839475 0.657037 +copy_path_bench 1M|i32|strided|pos 0.270425 0.343052 +copy_path_bench 1M|i32|sliced|pos 0.33732 0.74082 +copy_path_bench 1M|i32|negrow|pos 0.3259925 0.743247 +copy_path_bench 1M|i32|negcol|pos 0.406605 0.868553 +copy_path_bench 1M|i32|bcast|pos 0.3180025 0.704857 +copy_path_bench 1M|u32|C|pos 0.2865875 0.645297 +copy_path_bench 1M|u32|F|pos 0.27334 0.652315 +copy_path_bench 1M|u32|T|pos 0.277955 0.654107 +copy_path_bench 1M|u32|strided|pos 0.25318 0.343498 +copy_path_bench 1M|u32|sliced|pos 0.3293825 0.731998 +copy_path_bench 1M|u32|negrow|pos 0.3436975 0.728142 +copy_path_bench 1M|u32|negcol|pos 0.40185250000000006 0.868213 +copy_path_bench 1M|u32|bcast|pos 0.30554749999999997 0.711722 +copy_path_bench 1M|i64|C|pos 0.450225 1.30365 +copy_path_bench 1M|i64|F|pos 0.48408749999999995 1.25233 +copy_path_bench 1M|i64|T|pos 0.459945 1.27148 +copy_path_bench 1M|i64|strided|pos 0.36109749999999996 0.6847 +copy_path_bench 1M|i64|sliced|pos 0.5579175000000001 1.41446 +copy_path_bench 1M|i64|negrow|pos 0.53139 1.41538 +copy_path_bench 1M|i64|negcol|pos 0.5756525 1.51003 +copy_path_bench 1M|i64|bcast|pos 0.5061875 1.35363 +copy_path_bench 1M|u64|C|pos 0.45411 1.26861 +copy_path_bench 1M|u64|F|pos 0.47647000000000006 1.2461 +copy_path_bench 1M|u64|T|pos 0.4751425 1.27033 +copy_path_bench 1M|u64|strided|pos 0.37390249999999997 0.643555 +copy_path_bench 1M|u64|sliced|pos 0.5471874999999999 1.40102 +copy_path_bench 1M|u64|negrow|pos 0.5703875 1.39199 +copy_path_bench 1M|u64|negcol|pos 0.5588949999999999 1.46189 +copy_path_bench 1M|u64|bcast|pos 0.53675 1.2942 +copy_path_bench 1M|char|C|pos 0.172595 0.408715 +copy_path_bench 1M|char|F|pos 0.181955 0.414728 +copy_path_bench 1M|char|T|pos 0.180355 0.412757 +copy_path_bench 1M|char|strided|pos 0.056589999999999994 0.106793 +copy_path_bench 1M|char|sliced|pos 0.2269825 0.446293 +copy_path_bench 1M|char|negrow|pos 0.2301675 0.514835 +copy_path_bench 1M|char|negcol|pos 0.227065 0.621478 +copy_path_bench 1M|char|bcast|pos 0.2212275 0.427993 +copy_path_bench 1M|f16|C|pos 0.17847249999999998 0.415845 +copy_path_bench 1M|f16|F|pos 0.178425 0.4097 +copy_path_bench 1M|f16|T|pos 0.18079 0.40903 +copy_path_bench 1M|f16|strided|pos 0.06341 0.106805 +copy_path_bench 1M|f16|sliced|pos 0.22774250000000001 0.448918 +copy_path_bench 1M|f16|negrow|pos 0.22812749999999998 0.460878 +copy_path_bench 1M|f16|negcol|pos 0.24620250000000002 0.62072 +copy_path_bench 1M|f16|bcast|pos 0.22593749999999999 0.421925 +copy_path_bench 1M|f32|C|pos 0.28507 0.659177 +copy_path_bench 1M|f32|F|pos 0.2737825 0.655603 +copy_path_bench 1M|f32|T|pos 0.277305 0.671755 +copy_path_bench 1M|f32|strided|pos 0.2688575 0.37128 +copy_path_bench 1M|f32|sliced|pos 0.32328250000000003 0.74283 +copy_path_bench 1M|f32|negrow|pos 0.340075 0.751148 +copy_path_bench 1M|f32|negcol|pos 0.41906 0.862725 +copy_path_bench 1M|f32|bcast|pos 0.329175 0.75179 +copy_path_bench 1M|f64|C|pos 0.486425 1.28954 +copy_path_bench 1M|f64|F|pos 0.47182250000000003 1.25794 +copy_path_bench 1M|f64|T|pos 0.45221999999999996 1.29002 +copy_path_bench 1M|f64|strided|pos 0.34945 0.679998 +copy_path_bench 1M|f64|sliced|pos 0.5142025 1.42182 +copy_path_bench 1M|f64|negrow|pos 0.53395 1.4556 +copy_path_bench 1M|f64|negcol|pos 0.53878 1.4797 +copy_path_bench 1M|f64|bcast|pos 0.5248425 1.30917 +copy_path_bench 1M|c128|C|pos 0.5343975000000001 4.22554 +copy_path_bench 1M|c128|F|pos 0.5630824999999999 4.2901 +copy_path_bench 1M|c128|T|pos 0.5472 4.23218 +copy_path_bench 1M|c128|strided|pos 0.6570575 2.15378 +copy_path_bench 1M|c128|sliced|pos 1.0520450000000001 4.73983 +copy_path_bench 1M|c128|negrow|pos 1.0466175 4.74206 +copy_path_bench 1M|c128|negcol|pos 1.1555675 5.23855 +copy_path_bench 1M|c128|bcast|pos 0.77339 4.36579 +elementwise_layout_bench 100K|f64|C|add 0.0666705 0.176905 +elementwise_layout_bench 100K|f64|C|mul 0.060090000000000005 0.16789 +elementwise_layout_bench 100K|f64|C|neg 0.060513000000000004 0.0714415 +elementwise_layout_bench 100K|f64|C|abs 0.0641735 0.059213 +elementwise_layout_bench 100K|f64|C|sqrt 0.08494550000000001 0.091034 +elementwise_layout_bench 100K|f64|C|less 0.0209775 0.006689 +elementwise_layout_bench 100K|f64|C|copy 0.064657 0.042494 +elementwise_layout_bench 100K|f64|F|add 0.0605795 0.040689 +elementwise_layout_bench 100K|f64|F|mul 0.059671 0.0404685 +elementwise_layout_bench 100K|f64|F|neg 0.061578999999999995 0.0290205 +elementwise_layout_bench 100K|f64|F|abs 0.0697115 0.02585 +elementwise_layout_bench 100K|f64|F|sqrt 0.084229 0.06724 +elementwise_layout_bench 100K|f64|F|less 0.0192925 0.0067125 +elementwise_layout_bench 100K|f64|F|copy 0.071881 0.03927 +elementwise_layout_bench 100K|f64|T|add 0.0637415 0.028804 +elementwise_layout_bench 100K|f64|T|mul 0.0683905 0.0291745 +elementwise_layout_bench 100K|f64|T|neg 0.065819 0.028819 +elementwise_layout_bench 100K|f64|T|abs 0.064408 0.02561 +elementwise_layout_bench 100K|f64|T|sqrt 0.07843950000000001 0.0661715 +elementwise_layout_bench 100K|f64|T|less 0.0200265 0.006768 +elementwise_layout_bench 100K|f64|T|copy 0.0685805 0.0410505 +elementwise_layout_bench 100K|f64|strided|add 0.051574999999999996 0.0146565 +elementwise_layout_bench 100K|f64|strided|mul 0.050922999999999996 0.014188 +elementwise_layout_bench 100K|f64|strided|neg 0.047321 0.0087735 +elementwise_layout_bench 100K|f64|strided|abs 0.0466195 0.007749 +elementwise_layout_bench 100K|f64|strided|sqrt 0.054669999999999996 0.0280875 +elementwise_layout_bench 100K|f64|strided|less 0.050364000000000006 0.0173385 +elementwise_layout_bench 100K|f64|strided|copy 0.0412835 0.010777 +elementwise_layout_bench 100K|f64|sliced|add 0.06251000000000001 0.158871 +elementwise_layout_bench 100K|f64|sliced|mul 0.064504 0.0951135 +elementwise_layout_bench 100K|f64|sliced|neg 0.069054 0.0415575 +elementwise_layout_bench 100K|f64|sliced|abs 0.058448 0.036768 +elementwise_layout_bench 100K|f64|sliced|sqrt 0.0766575 0.0790235 +elementwise_layout_bench 100K|f64|sliced|less 0.0701275 0.032571 +elementwise_layout_bench 100K|f64|sliced|copy 0.05916350000000001 0.01619 +elementwise_layout_bench 100K|f64|negrow|add 0.06648749999999999 0.072519 +elementwise_layout_bench 100K|f64|negrow|mul 0.062882 0.072231 +elementwise_layout_bench 100K|f64|negrow|neg 0.060892499999999995 0.04036 +elementwise_layout_bench 100K|f64|negrow|abs 0.055465 0.0374245 +elementwise_layout_bench 100K|f64|negrow|sqrt 0.0701065 0.0791215 +elementwise_layout_bench 100K|f64|negrow|less 0.060869 0.0337145 +elementwise_layout_bench 100K|f64|negrow|copy 0.059529500000000006 0.015981 +elementwise_layout_bench 100K|f64|negcol|add 0.056349 0.091341 +elementwise_layout_bench 100K|f64|negcol|mul 0.050606 0.092188 +elementwise_layout_bench 100K|f64|negcol|neg 0.049876 0.055856 +elementwise_layout_bench 100K|f64|negcol|abs 0.0493855 0.0539095 +elementwise_layout_bench 100K|f64|negcol|sqrt 0.0710805 0.0943335 +elementwise_layout_bench 100K|f64|negcol|less 0.0739 0.066064 +elementwise_layout_bench 100K|f64|negcol|copy 0.043109 0.026986 +elementwise_layout_bench 100K|f64|bcast|add 0.0424825 0.066997 +elementwise_layout_bench 100K|f64|bcast|mul 0.0492535 0.068053 +elementwise_layout_bench 100K|f64|bcast|neg 0.04078299999999999 0.0373595 +elementwise_layout_bench 100K|f64|bcast|abs 0.045825500000000005 0.0353875 +elementwise_layout_bench 100K|f64|bcast|sqrt 0.0686615 0.0741505 +elementwise_layout_bench 100K|f64|bcast|less 0.053583 0.030226 +elementwise_layout_bench 100K|f64|bcast|copy 0.0392415 0.013863 +elementwise_layout_bench 100K|f32|C|add 0.023952499999999998 0.006619 +elementwise_layout_bench 100K|f32|C|mul 0.021852 0.0066065 +elementwise_layout_bench 100K|f32|C|neg 0.019562 0.0064395 +elementwise_layout_bench 100K|f32|C|abs 0.01719 0.0056585 +elementwise_layout_bench 100K|f32|C|sqrt 0.022668499999999998 0.0141135 +elementwise_layout_bench 100K|f32|C|less 0.007516 0.003857 +elementwise_layout_bench 100K|f32|C|copy 0.024388999999999997 0.005882 +elementwise_layout_bench 100K|f32|F|add 0.018435 0.006575 +elementwise_layout_bench 100K|f32|F|mul 0.0193995 0.006549 +elementwise_layout_bench 100K|f32|F|neg 0.0187715 0.0059845 +elementwise_layout_bench 100K|f32|F|abs 0.0172885 0.0056575 +elementwise_layout_bench 100K|f32|F|sqrt 0.0199345 0.0141295 +elementwise_layout_bench 100K|f32|F|less 0.009389 0.005119 +elementwise_layout_bench 100K|f32|F|copy 0.03186 0.0206615 +elementwise_layout_bench 100K|f32|T|add 0.018363499999999998 0.0059215 +elementwise_layout_bench 100K|f32|T|mul 0.019184 0.0058985 +elementwise_layout_bench 100K|f32|T|neg 0.01927 0.0060665 +elementwise_layout_bench 100K|f32|T|abs 0.018989 0.0056575 +elementwise_layout_bench 100K|f32|T|sqrt 0.020209 0.0141515 +elementwise_layout_bench 100K|f32|T|less 0.0082655 0.003853 +elementwise_layout_bench 100K|f32|T|copy 0.033232 0.020646 +elementwise_layout_bench 100K|f32|strided|add 0.018106 0.0133785 +elementwise_layout_bench 100K|f32|strided|mul 0.018550999999999998 0.0133015 +elementwise_layout_bench 100K|f32|strided|neg 0.0163635 0.0057965 +elementwise_layout_bench 100K|f32|strided|abs 0.016303 0.00587 +elementwise_layout_bench 100K|f32|strided|sqrt 0.0147265 0.0076385 +elementwise_layout_bench 100K|f32|strided|less 0.0368335 0.0168735 +elementwise_layout_bench 100K|f32|strided|copy 0.020011 0.009573 +elementwise_layout_bench 100K|f32|sliced|add 0.02229 0.020229 +elementwise_layout_bench 100K|f32|sliced|mul 0.0202545 0.0198865 +elementwise_layout_bench 100K|f32|sliced|neg 0.020994000000000002 0.012888 +elementwise_layout_bench 100K|f32|sliced|abs 0.0194865 0.0123905 +elementwise_layout_bench 100K|f32|sliced|sqrt 0.0204045 0.020516 +elementwise_layout_bench 100K|f32|sliced|less 0.0481245 0.01846 +elementwise_layout_bench 100K|f32|sliced|copy 0.020449000000000002 0.0061415 +elementwise_layout_bench 100K|f32|negrow|add 0.018193 0.0205305 +elementwise_layout_bench 100K|f32|negrow|mul 0.019445 0.020587 +elementwise_layout_bench 100K|f32|negrow|neg 0.0174025 0.0135525 +elementwise_layout_bench 100K|f32|negrow|abs 0.0191595 0.0129265 +elementwise_layout_bench 100K|f32|negrow|sqrt 0.020761500000000002 0.020719 +elementwise_layout_bench 100K|f32|negrow|less 0.048704 0.0177435 +elementwise_layout_bench 100K|f32|negrow|copy 0.017186 0.006355 +elementwise_layout_bench 100K|f32|negcol|add 0.027135 0.050717 +elementwise_layout_bench 100K|f32|negcol|mul 0.027606000000000002 0.0497905 +elementwise_layout_bench 100K|f32|negcol|neg 0.020616500000000003 0.027474 +elementwise_layout_bench 100K|f32|negcol|abs 0.0200465 0.0269945 +elementwise_layout_bench 100K|f32|negcol|sqrt 0.021759499999999998 0.035252 +elementwise_layout_bench 100K|f32|negcol|less 0.0644565 0.0478005 +elementwise_layout_bench 100K|f32|negcol|copy 0.0345675 0.0209125 +elementwise_layout_bench 100K|f32|bcast|add 0.015915 0.0193085 +elementwise_layout_bench 100K|f32|bcast|mul 0.0166605 0.019204 +elementwise_layout_bench 100K|f32|bcast|neg 0.0170865 0.012075 +elementwise_layout_bench 100K|f32|bcast|abs 0.0158195 0.011845 +elementwise_layout_bench 100K|f32|bcast|sqrt 0.022553999999999998 0.0187065 +elementwise_layout_bench 100K|f32|bcast|less 0.047462 0.0159195 +elementwise_layout_bench 100K|f32|bcast|copy 0.0166695 0.005178 +elementwise_layout_bench 100K|c128|C|add 0.205628 0.290958 +elementwise_layout_bench 100K|c128|C|mul 0.20437899999999998 0.288539 +elementwise_layout_bench 100K|c128|C|neg 0.2108165 0.44169 +elementwise_layout_bench 100K|c128|C|abs 0.209701 0.088733 +elementwise_layout_bench 100K|c128|C|sqrt 0.5387775 0.857203 +elementwise_layout_bench 100K|c128|C|less 0.183115 0.0712385 +elementwise_layout_bench 100K|c128|C|copy 0.16299499999999997 0.214013 +elementwise_layout_bench 100K|c128|F|add 0.209234 0.29065 +elementwise_layout_bench 100K|c128|F|mul 0.20798850000000002 0.28508 +elementwise_layout_bench 100K|c128|F|neg 0.196713 0.441752 +elementwise_layout_bench 100K|c128|F|abs 0.1962015 0.0878285 +elementwise_layout_bench 100K|c128|F|sqrt 0.536471 0.852395 +elementwise_layout_bench 100K|c128|F|less 0.1840635 0.069575 +elementwise_layout_bench 100K|c128|F|copy 0.214679 0.302335 +elementwise_layout_bench 100K|c128|T|add 0.20066099999999998 0.292069 +elementwise_layout_bench 100K|c128|T|mul 0.209558 0.289295 +elementwise_layout_bench 100K|c128|T|neg 0.20971599999999999 0.444019 +elementwise_layout_bench 100K|c128|T|abs 0.194527 0.088106 +elementwise_layout_bench 100K|c128|T|sqrt 0.538177 0.854069 +elementwise_layout_bench 100K|c128|T|less 0.1844625 0.0688265 +elementwise_layout_bench 100K|c128|T|copy 0.2254025 0.311615 +elementwise_layout_bench 100K|c128|strided|add 0.050644999999999996 0.032187 +elementwise_layout_bench 100K|c128|strided|mul 0.056676000000000004 0.0294175 +elementwise_layout_bench 100K|c128|strided|neg 0.05010100000000001 0.143094 +elementwise_layout_bench 100K|c128|strided|abs 0.11251950000000001 0.047192 +elementwise_layout_bench 100K|c128|strided|sqrt 0.2342185 0.352535 +elementwise_layout_bench 100K|c128|strided|less 0.0862165 0.0354715 +elementwise_layout_bench 100K|c128|strided|copy 0.042015500000000004 0.064324 +elementwise_layout_bench 100K|c128|sliced|add 0.207165 0.333595 +elementwise_layout_bench 100K|c128|sliced|mul 0.21506550000000002 0.317547 +elementwise_layout_bench 100K|c128|sliced|neg 0.21013300000000001 0.462542 +elementwise_layout_bench 100K|c128|sliced|abs 0.2065925 0.12433 +elementwise_layout_bench 100K|c128|sliced|sqrt 0.5443275 0.877725 +elementwise_layout_bench 100K|c128|sliced|less 0.185977 0.113528 +elementwise_layout_bench 100K|c128|sliced|copy 0.21982800000000002 0.289594 +elementwise_layout_bench 100K|c128|negrow|add 0.2107 0.343506 +elementwise_layout_bench 100K|c128|negrow|mul 0.210477 0.339472 +elementwise_layout_bench 100K|c128|negrow|neg 0.2089675 0.477914 +elementwise_layout_bench 100K|c128|negrow|abs 0.2063225 0.12765 +elementwise_layout_bench 100K|c128|negrow|sqrt 0.5632395 0.892956 +elementwise_layout_bench 100K|c128|negrow|less 0.1907415 0.116207 +elementwise_layout_bench 100K|c128|negrow|copy 0.215956 0.296619 +elementwise_layout_bench 100K|c128|negcol|add 0.21637450000000003 0.435223 +elementwise_layout_bench 100K|c128|negcol|mul 0.229279 0.423671 +elementwise_layout_bench 100K|c128|negcol|neg 0.21068549999999997 0.514277 +elementwise_layout_bench 100K|c128|negcol|abs 0.2235055 0.170148 +elementwise_layout_bench 100K|c128|negcol|sqrt 0.512508 0.939877 +elementwise_layout_bench 100K|c128|negcol|less 0.1682365 0.217771 +elementwise_layout_bench 100K|c128|negcol|copy 0.20531300000000002 0.281733 +elementwise_layout_bench 100K|c128|bcast|add 0.19504249999999998 0.329919 +elementwise_layout_bench 100K|c128|bcast|mul 0.2094605 0.307494 +elementwise_layout_bench 100K|c128|bcast|neg 0.20160350000000002 0.460618 +elementwise_layout_bench 100K|c128|bcast|abs 0.2041645 0.116461 +elementwise_layout_bench 100K|c128|bcast|sqrt 0.545222 0.872062 +elementwise_layout_bench 100K|c128|bcast|less 0.188393 0.105117 +elementwise_layout_bench 100K|c128|bcast|copy 0.1988905 0.290024 +elementwise_layout_bench 100K|f16|C|add 0.469481 0.284546 +elementwise_layout_bench 100K|f16|C|mul 0.47161200000000003 0.278021 +elementwise_layout_bench 100K|f16|C|neg 0.025783999999999998 0.026722 +elementwise_layout_bench 100K|f16|C|abs 0.0244265 0.0288195 +elementwise_layout_bench 100K|f16|C|sqrt 0.34982199999999997 0.396314 +elementwise_layout_bench 100K|f16|C|less 0.11619149999999999 0.111346 +elementwise_layout_bench 100K|f16|C|copy 0.0107735 0.003089 +elementwise_layout_bench 100K|f16|F|add 0.471864 0.283817 +elementwise_layout_bench 100K|f16|F|mul 0.47413449999999996 0.278873 +elementwise_layout_bench 100K|f16|F|neg 0.027121 0.0262475 +elementwise_layout_bench 100K|f16|F|abs 0.0247315 0.027833 +elementwise_layout_bench 100K|f16|F|sqrt 0.3381015 0.398632 +elementwise_layout_bench 100K|f16|F|less 0.10736499999999999 0.11134 +elementwise_layout_bench 100K|f16|F|copy 0.04759 0.0207975 +elementwise_layout_bench 100K|f16|T|add 0.47211 0.286402 +elementwise_layout_bench 100K|f16|T|mul 0.47170900000000004 0.277096 +elementwise_layout_bench 100K|f16|T|neg 0.0266715 0.026121 +elementwise_layout_bench 100K|f16|T|abs 0.024621499999999998 0.0278655 +elementwise_layout_bench 100K|f16|T|sqrt 0.33844949999999996 0.392459 +elementwise_layout_bench 100K|f16|T|less 0.1065575 0.111416 +elementwise_layout_bench 100K|f16|T|copy 0.0485125 0.021674 +elementwise_layout_bench 100K|f16|strided|add 0.2692225 0.17534 +elementwise_layout_bench 100K|f16|strided|mul 0.26916799999999996 0.176111 +elementwise_layout_bench 100K|f16|strided|neg 0.0270705 0.0135895 +elementwise_layout_bench 100K|f16|strided|abs 0.028742999999999998 0.0135185 +elementwise_layout_bench 100K|f16|strided|sqrt 0.187885 0.204576 +elementwise_layout_bench 100K|f16|strided|less 0.072011 0.0559855 +elementwise_layout_bench 100K|f16|strided|copy 0.007705999999999999 0.0095875 +elementwise_layout_bench 100K|f16|sliced|add 0.47179000000000004 0.288238 +elementwise_layout_bench 100K|f16|sliced|mul 0.477354 0.280662 +elementwise_layout_bench 100K|f16|sliced|neg 0.0357245 0.0287545 +elementwise_layout_bench 100K|f16|sliced|abs 0.035122 0.028678 +elementwise_layout_bench 100K|f16|sliced|sqrt 0.3410615 0.385888 +elementwise_layout_bench 100K|f16|sliced|less 0.11723449999999999 0.11605 +elementwise_layout_bench 100K|f16|sliced|copy 0.013404000000000001 0.0036635 +elementwise_layout_bench 100K|f16|negrow|add 0.47509549999999995 0.291158 +elementwise_layout_bench 100K|f16|negrow|mul 0.4785135 0.283697 +elementwise_layout_bench 100K|f16|negrow|neg 0.037091 0.029255 +elementwise_layout_bench 100K|f16|negrow|abs 0.0365765 0.0291795 +elementwise_layout_bench 100K|f16|negrow|sqrt 0.348725 0.385966 +elementwise_layout_bench 100K|f16|negrow|less 0.12048149999999999 0.117943 +elementwise_layout_bench 100K|f16|negrow|copy 0.0167735 0.0038065 +elementwise_layout_bench 100K|f16|negcol|add 0.5300325 0.324156 +elementwise_layout_bench 100K|f16|negcol|mul 0.537766 0.319974 +elementwise_layout_bench 100K|f16|negcol|neg 0.051445 0.048483 +elementwise_layout_bench 100K|f16|negcol|abs 0.05223849999999999 0.048177 +elementwise_layout_bench 100K|f16|negcol|sqrt 0.37470149999999997 0.413369 +elementwise_layout_bench 100K|f16|negcol|less 0.134054 0.154765 +elementwise_layout_bench 100K|f16|negcol|copy 0.015846 0.0213895 +elementwise_layout_bench 100K|f16|bcast|add 0.4773525 0.287253 +elementwise_layout_bench 100K|f16|bcast|mul 0.477332 0.282089 +elementwise_layout_bench 100K|f16|bcast|neg 0.035943499999999996 0.029236 +elementwise_layout_bench 100K|f16|bcast|abs 0.035734499999999995 0.0289445 +elementwise_layout_bench 100K|f16|bcast|sqrt 0.3448345 0.388385 +elementwise_layout_bench 100K|f16|bcast|less 0.11975899999999999 0.115821 +elementwise_layout_bench 100K|f16|bcast|copy 0.013358000000000002 0.002998 +elementwise_layout_bench 100K|i32|C|add 0.0193825 0.0285065 +elementwise_layout_bench 100K|i32|C|mul 0.0192475 0.027866 +elementwise_layout_bench 100K|i32|C|neg 0.019493 0.0065945 +elementwise_layout_bench 100K|i32|C|abs 0.0198845 0.028586 +elementwise_layout_bench 100K|i32|C|sqrt 0.1377705 0.0909235 +elementwise_layout_bench 100K|i32|C|less 0.011892 0.006041 +elementwise_layout_bench 100K|i32|C|copy 0.019565 0.005944 +elementwise_layout_bench 100K|i32|F|add 0.020537999999999997 0.028419 +elementwise_layout_bench 100K|i32|F|mul 0.0193865 0.0278405 +elementwise_layout_bench 100K|i32|F|neg 0.019697 0.0061745 +elementwise_layout_bench 100K|i32|F|abs 0.0192595 0.0285975 +elementwise_layout_bench 100K|i32|F|sqrt 0.140396 0.090661 +elementwise_layout_bench 100K|i32|F|less 0.010942499999999999 0.006015 +elementwise_layout_bench 100K|i32|F|copy 0.040042999999999995 0.0206415 +elementwise_layout_bench 100K|i32|T|add 0.018743 0.028451 +elementwise_layout_bench 100K|i32|T|mul 0.0196075 0.0277465 +elementwise_layout_bench 100K|i32|T|neg 0.019006000000000002 0.0064835 +elementwise_layout_bench 100K|i32|T|abs 0.0195905 0.028769 +elementwise_layout_bench 100K|i32|T|sqrt 0.1401405 0.0907555 +elementwise_layout_bench 100K|i32|T|less 0.0121495 0.0060755 +elementwise_layout_bench 100K|i32|T|copy 0.039359000000000005 0.0210165 +elementwise_layout_bench 100K|i32|strided|add 0.017853 0.0148035 +elementwise_layout_bench 100K|i32|strided|mul 0.0191515 0.014427 +elementwise_layout_bench 100K|i32|strided|neg 0.0154615 0.005767 +elementwise_layout_bench 100K|i32|strided|abs 0.0179485 0.014833 +elementwise_layout_bench 100K|i32|strided|sqrt 0.0698115 0.0423605 +elementwise_layout_bench 100K|i32|strided|less 0.0352885 0.017367 +elementwise_layout_bench 100K|i32|strided|copy 0.023274 0.009587 +elementwise_layout_bench 100K|i32|sliced|add 0.020584500000000002 0.0404195 +elementwise_layout_bench 100K|i32|sliced|mul 0.0218615 0.039799 +elementwise_layout_bench 100K|i32|sliced|neg 0.0202055 0.0136945 +elementwise_layout_bench 100K|i32|sliced|abs 0.020878999999999998 0.0346945 +elementwise_layout_bench 100K|i32|sliced|sqrt 0.1142915 0.093167 +elementwise_layout_bench 100K|i32|sliced|less 0.042676 0.01917 +elementwise_layout_bench 100K|i32|sliced|copy 0.01997 0.0060145 +elementwise_layout_bench 100K|i32|negrow|add 0.021133000000000002 0.040945 +elementwise_layout_bench 100K|i32|negrow|mul 0.0207205 0.0407825 +elementwise_layout_bench 100K|i32|negrow|neg 0.020222000000000004 0.013651 +elementwise_layout_bench 100K|i32|negrow|abs 0.0202245 0.0354415 +elementwise_layout_bench 100K|i32|negrow|sqrt 0.1124745 0.096355 +elementwise_layout_bench 100K|i32|negrow|less 0.043512 0.0193115 +elementwise_layout_bench 100K|i32|negrow|copy 0.023357000000000003 0.0064285 +elementwise_layout_bench 100K|i32|negcol|add 0.030802999999999997 0.0714475 +elementwise_layout_bench 100K|i32|negcol|mul 0.0299735 0.0702575 +elementwise_layout_bench 100K|i32|negcol|neg 0.024280499999999997 0.027828 +elementwise_layout_bench 100K|i32|negcol|abs 0.0246055 0.050698 +elementwise_layout_bench 100K|i32|negcol|sqrt 0.12391400000000001 0.09831 +elementwise_layout_bench 100K|i32|negcol|less 0.067479 0.0492155 +elementwise_layout_bench 100K|i32|negcol|copy 0.040239500000000004 0.020633 +elementwise_layout_bench 100K|i32|bcast|add 0.020863999999999997 0.0378175 +elementwise_layout_bench 100K|i32|bcast|mul 0.0202555 0.037116 +elementwise_layout_bench 100K|i32|bcast|neg 0.020590999999999998 0.012064 +elementwise_layout_bench 100K|i32|bcast|abs 0.019988 0.03337 +elementwise_layout_bench 100K|i32|bcast|sqrt 0.1115975 0.096536 +elementwise_layout_bench 100K|i32|bcast|less 0.045692 0.0161335 +elementwise_layout_bench 100K|i32|bcast|copy 0.02326 0.0049805 +elementwise_layout_bench 100K|i64|C|add 0.0411785 0.032422 +elementwise_layout_bench 100K|i64|C|mul 0.0367535 0.033455 +elementwise_layout_bench 100K|i64|C|neg 0.037045 0.0165905 +elementwise_layout_bench 100K|i64|C|abs 0.039689999999999996 0.0337425 +elementwise_layout_bench 100K|i64|C|sqrt 0.1444185 0.088405 +elementwise_layout_bench 100K|i64|C|less 0.01533 0.0176965 +elementwise_layout_bench 100K|i64|C|copy 0.036442 0.016121 +elementwise_layout_bench 100K|i64|F|add 0.0363235 0.0334335 +elementwise_layout_bench 100K|i64|F|mul 0.0350105 0.03364 +elementwise_layout_bench 100K|i64|F|neg 0.0386485 0.018679 +elementwise_layout_bench 100K|i64|F|abs 0.0372005 0.032789 +elementwise_layout_bench 100K|i64|F|sqrt 0.144991 0.087165 +elementwise_layout_bench 100K|i64|F|less 0.014356 0.017665 +elementwise_layout_bench 100K|i64|F|copy 0.042954 0.03022 +elementwise_layout_bench 100K|i64|T|add 0.035477 0.032881 +elementwise_layout_bench 100K|i64|T|mul 0.035713499999999995 0.0335975 +elementwise_layout_bench 100K|i64|T|neg 0.0365785 0.016239 +elementwise_layout_bench 100K|i64|T|abs 0.040733 0.032591 +elementwise_layout_bench 100K|i64|T|sqrt 0.144281 0.087627 +elementwise_layout_bench 100K|i64|T|less 0.014515499999999999 0.01762 +elementwise_layout_bench 100K|i64|T|copy 0.0433705 0.030169 +elementwise_layout_bench 100K|i64|strided|add 0.024973000000000002 0.0150385 +elementwise_layout_bench 100K|i64|strided|mul 0.039413000000000004 0.014464 +elementwise_layout_bench 100K|i64|strided|neg 0.029645 0.007617 +elementwise_layout_bench 100K|i64|strided|abs 0.0370725 0.01587 +elementwise_layout_bench 100K|i64|strided|sqrt 0.069923 0.0408775 +elementwise_layout_bench 100K|i64|strided|less 0.0351445 0.0168295 +elementwise_layout_bench 100K|i64|strided|copy 0.0264205 0.0101045 +elementwise_layout_bench 100K|i64|sliced|add 0.0451355 0.0828655 +elementwise_layout_bench 100K|i64|sliced|mul 0.045021500000000006 0.0813845 +elementwise_layout_bench 100K|i64|sliced|neg 0.048304 0.0398165 +elementwise_layout_bench 100K|i64|sliced|abs 0.0509975 0.0544595 +elementwise_layout_bench 100K|i64|sliced|sqrt 0.114078 0.0883425 +elementwise_layout_bench 100K|i64|sliced|less 0.043651999999999996 0.039354 +elementwise_layout_bench 100K|i64|sliced|copy 0.0492295 0.0162955 +elementwise_layout_bench 100K|i64|negrow|add 0.044398 0.084129 +elementwise_layout_bench 100K|i64|negrow|mul 0.043362 0.0846625 +elementwise_layout_bench 100K|i64|negrow|neg 0.045997500000000004 0.041182 +elementwise_layout_bench 100K|i64|negrow|abs 0.0499745 0.055115 +elementwise_layout_bench 100K|i64|negrow|sqrt 0.116717 0.090025 +elementwise_layout_bench 100K|i64|negrow|less 0.0423475 0.040086 +elementwise_layout_bench 100K|i64|negrow|copy 0.0402215 0.016851 +elementwise_layout_bench 100K|i64|negcol|add 0.043431 0.10268 +elementwise_layout_bench 100K|i64|negcol|mul 0.074813 0.10253 +elementwise_layout_bench 100K|i64|negcol|neg 0.057774 0.0596005 +elementwise_layout_bench 100K|i64|negcol|abs 0.0707635 0.070572 +elementwise_layout_bench 100K|i64|negcol|sqrt 0.125928 0.0957165 +elementwise_layout_bench 100K|i64|negcol|less 0.0669935 0.070681 +elementwise_layout_bench 100K|i64|negcol|copy 0.044800000000000006 0.027812 +elementwise_layout_bench 100K|i64|bcast|add 0.039766499999999996 0.0790845 +elementwise_layout_bench 100K|i64|bcast|mul 0.0393065 0.0764505 +elementwise_layout_bench 100K|i64|bcast|neg 0.040012 0.039219 +elementwise_layout_bench 100K|i64|bcast|abs 0.046841 0.0515515 +elementwise_layout_bench 100K|i64|bcast|sqrt 0.112401 0.088924 +elementwise_layout_bench 100K|i64|bcast|less 0.0422595 0.0355885 +elementwise_layout_bench 100K|i64|bcast|copy 0.0398465 0.0146585 +elementwise_layout_bench 1M|f64|C|add 0.6052166666666667 1.38719 +elementwise_layout_bench 1M|f64|C|mul 0.5579566666666668 1.33709 +elementwise_layout_bench 1M|f64|C|neg 0.54154 1.34659 +elementwise_layout_bench 1M|f64|C|abs 0.5928966666666666 1.26506 +elementwise_layout_bench 1M|f64|C|sqrt 0.7633533333333333 1.31992 +elementwise_layout_bench 1M|f64|C|less 0.1678066666666667 0.126627 +elementwise_layout_bench 1M|f64|C|copy 0.4798733333333333 1.01351 +elementwise_layout_bench 1M|f64|F|add 0.57263 1.37751 +elementwise_layout_bench 1M|f64|F|mul 0.58816 1.38886 +elementwise_layout_bench 1M|f64|F|neg 0.5714166666666666 1.34787 +elementwise_layout_bench 1M|f64|F|abs 0.6062066666666667 1.27883 +elementwise_layout_bench 1M|f64|F|sqrt 0.78192 1.3274 +elementwise_layout_bench 1M|f64|F|less 0.18021666666666666 0.125057 +elementwise_layout_bench 1M|f64|F|copy 0.85726 1.51412 +elementwise_layout_bench 1M|f64|T|add 0.5686366666666667 1.35316 +elementwise_layout_bench 1M|f64|T|mul 0.5873466666666667 1.36333 +elementwise_layout_bench 1M|f64|T|neg 0.5515633333333334 1.38779 +elementwise_layout_bench 1M|f64|T|abs 0.5716833333333333 1.24531 +elementwise_layout_bench 1M|f64|T|sqrt 0.7727466666666667 1.32353 +elementwise_layout_bench 1M|f64|T|less 0.16571666666666665 0.122183 +elementwise_layout_bench 1M|f64|T|copy 0.8248633333333333 1.4853 +elementwise_layout_bench 1M|f64|strided|add 0.4037633333333333 0.63882 +elementwise_layout_bench 1M|f64|strided|mul 0.40179 0.642767 +elementwise_layout_bench 1M|f64|strided|neg 0.40404666666666667 0.678787 +elementwise_layout_bench 1M|f64|strided|abs 0.40111 0.65053 +elementwise_layout_bench 1M|f64|strided|sqrt 0.4576866666666667 0.660713 +elementwise_layout_bench 1M|f64|strided|less 0.3754466666666667 0.181573 +elementwise_layout_bench 1M|f64|strided|copy 0.3875133333333334 0.647257 +elementwise_layout_bench 1M|f64|sliced|add 0.5953366666666666 1.55481 +elementwise_layout_bench 1M|f64|sliced|mul 0.5736066666666667 1.57564 +elementwise_layout_bench 1M|f64|sliced|neg 0.5569066666666667 1.45192 +elementwise_layout_bench 1M|f64|sliced|abs 0.5428033333333333 1.35585 +elementwise_layout_bench 1M|f64|sliced|sqrt 0.7888333333333333 1.46253 +elementwise_layout_bench 1M|f64|sliced|less 0.5317033333333333 0.373957 +elementwise_layout_bench 1M|f64|sliced|copy 0.5657733333333332 1.31562 +elementwise_layout_bench 1M|f64|negrow|add 0.5600299999999999 1.56226 +elementwise_layout_bench 1M|f64|negrow|mul 0.5762333333333333 1.58506 +elementwise_layout_bench 1M|f64|negrow|neg 0.5646833333333333 1.48705 +elementwise_layout_bench 1M|f64|negrow|abs 0.6073566666666667 1.43482 +elementwise_layout_bench 1M|f64|negrow|sqrt 0.7948166666666666 1.55326 +elementwise_layout_bench 1M|f64|negrow|less 0.5576233333333334 0.418427 +elementwise_layout_bench 1M|f64|negrow|copy 0.5963233333333334 1.32994 +elementwise_layout_bench 1M|f64|negcol|add 0.5828333333333333 1.74191 +elementwise_layout_bench 1M|f64|negcol|mul 0.5728333333333333 1.82726 +elementwise_layout_bench 1M|f64|negcol|neg 0.5563300000000001 1.63895 +elementwise_layout_bench 1M|f64|negcol|abs 0.5927733333333334 1.49452 +elementwise_layout_bench 1M|f64|negcol|sqrt 0.7918233333333333 1.53886 +elementwise_layout_bench 1M|f64|negcol|less 0.7282633333333333 0.791657 +elementwise_layout_bench 1M|f64|negcol|copy 0.63809 1.22757 +elementwise_layout_bench 1M|f64|bcast|add 0.5959566666666666 1.4704 +elementwise_layout_bench 1M|f64|bcast|mul 0.5834133333333333 1.55069 +elementwise_layout_bench 1M|f64|bcast|neg 0.56101 1.40024 +elementwise_layout_bench 1M|f64|bcast|abs 0.5525233333333334 1.26091 +elementwise_layout_bench 1M|f64|bcast|sqrt 0.7772666666666667 1.38928 +elementwise_layout_bench 1M|f64|bcast|less 0.51709 0.305553 +elementwise_layout_bench 1M|f64|bcast|copy 0.5997533333333334 1.29581 +elementwise_layout_bench 1M|f32|C|add 0.36659 0.7007 +elementwise_layout_bench 1M|f32|C|mul 0.37679666666666667 0.669187 +elementwise_layout_bench 1M|f32|C|neg 0.35267333333333334 0.675847 +elementwise_layout_bench 1M|f32|C|abs 0.3555066666666667 0.64537 +elementwise_layout_bench 1M|f32|C|sqrt 0.3562333333333333 0.622763 +elementwise_layout_bench 1M|f32|C|less 0.10220666666666665 0.0707467 +elementwise_layout_bench 1M|f32|C|copy 0.30291666666666667 0.49503 +elementwise_layout_bench 1M|f32|F|add 0.3582766666666667 0.655493 +elementwise_layout_bench 1M|f32|F|mul 0.3385166666666667 0.68908 +elementwise_layout_bench 1M|f32|F|neg 0.35098333333333337 0.70696 +elementwise_layout_bench 1M|f32|F|abs 0.3620033333333333 0.63722 +elementwise_layout_bench 1M|f32|F|sqrt 0.34519666666666665 0.62542 +elementwise_layout_bench 1M|f32|F|less 0.10552666666666667 0.0679233 +elementwise_layout_bench 1M|f32|F|copy 0.5247533333333333 0.82428 +elementwise_layout_bench 1M|f32|T|add 0.3725233333333334 0.689353 +elementwise_layout_bench 1M|f32|T|mul 0.36466333333333334 0.673997 +elementwise_layout_bench 1M|f32|T|neg 0.35094666666666663 0.68263 +elementwise_layout_bench 1M|f32|T|abs 0.3677066666666667 0.63036 +elementwise_layout_bench 1M|f32|T|sqrt 0.36591 0.63102 +elementwise_layout_bench 1M|f32|T|less 0.09849 0.0593467 +elementwise_layout_bench 1M|f32|T|copy 0.5305066666666667 0.821693 +elementwise_layout_bench 1M|f32|strided|add 0.27012 0.349947 +elementwise_layout_bench 1M|f32|strided|mul 0.2631533333333333 0.354647 +elementwise_layout_bench 1M|f32|strided|neg 0.26375 0.332067 +elementwise_layout_bench 1M|f32|strided|abs 0.2647833333333333 0.324583 +elementwise_layout_bench 1M|f32|strided|sqrt 0.25406333333333336 0.3229 +elementwise_layout_bench 1M|f32|strided|less 0.36107666666666666 0.162383 +elementwise_layout_bench 1M|f32|strided|copy 0.28248666666666666 0.321377 +elementwise_layout_bench 1M|f32|sliced|add 0.3505433333333333 0.780087 +elementwise_layout_bench 1M|f32|sliced|mul 0.36394000000000004 0.780053 +elementwise_layout_bench 1M|f32|sliced|neg 0.37859 0.71339 +elementwise_layout_bench 1M|f32|sliced|abs 0.38523999999999997 0.68795 +elementwise_layout_bench 1M|f32|sliced|sqrt 0.40081666666666665 0.67721 +elementwise_layout_bench 1M|f32|sliced|less 0.53332 0.2133 +elementwise_layout_bench 1M|f32|sliced|copy 0.3718533333333333 0.657523 +elementwise_layout_bench 1M|f32|negrow|add 0.3598766666666667 0.785137 +elementwise_layout_bench 1M|f32|negrow|mul 0.3626466666666667 0.781767 +elementwise_layout_bench 1M|f32|negrow|neg 0.36478333333333335 0.72543 +elementwise_layout_bench 1M|f32|negrow|abs 0.36978333333333335 0.70329 +elementwise_layout_bench 1M|f32|negrow|sqrt 0.3720233333333333 0.701003 +elementwise_layout_bench 1M|f32|negrow|less 0.5360033333333334 0.206783 +elementwise_layout_bench 1M|f32|negrow|copy 0.34521666666666667 0.6752 +elementwise_layout_bench 1M|f32|negcol|add 0.39466666666666667 1.05567 +elementwise_layout_bench 1M|f32|negcol|mul 0.37921333333333335 1.05935 +elementwise_layout_bench 1M|f32|negcol|neg 0.3439633333333333 0.88042 +elementwise_layout_bench 1M|f32|negcol|abs 0.3669233333333333 0.85106 +elementwise_layout_bench 1M|f32|negcol|sqrt 0.3530833333333333 0.815383 +elementwise_layout_bench 1M|f32|negcol|less 0.7116533333333332 0.49698 +elementwise_layout_bench 1M|f32|negcol|copy 0.4182666666666667 0.655247 +elementwise_layout_bench 1M|f32|bcast|add 0.34232333333333337 0.740833 +elementwise_layout_bench 1M|f32|bcast|mul 0.33055333333333337 0.754487 +elementwise_layout_bench 1M|f32|bcast|neg 0.34774666666666665 0.715727 +elementwise_layout_bench 1M|f32|bcast|abs 0.32523 0.639533 +elementwise_layout_bench 1M|f32|bcast|sqrt 0.34789666666666663 0.634823 +elementwise_layout_bench 1M|f32|bcast|less 0.5205166666666667 0.177367 +elementwise_layout_bench 1M|f32|bcast|copy 0.341 0.654343 +elementwise_layout_bench 1M|c128|C|add 1.2398799999999999 2.75518 +elementwise_layout_bench 1M|c128|C|mul 1.23162 2.73248 +elementwise_layout_bench 1M|c128|C|neg 1.20668 4.22645 +elementwise_layout_bench 1M|c128|C|abs 2.0130266666666667 1.73162 +elementwise_layout_bench 1M|c128|C|sqrt 4.673776666666667 8.4078 +elementwise_layout_bench 1M|c128|C|less 1.9113333333333336 0.702193 +elementwise_layout_bench 1M|c128|C|copy 0.5900633333333333 1.9912 +elementwise_layout_bench 1M|c128|F|add 1.2294033333333334 2.74699 +elementwise_layout_bench 1M|c128|F|mul 1.2339799999999999 2.63302 +elementwise_layout_bench 1M|c128|F|neg 1.38926 4.25314 +elementwise_layout_bench 1M|c128|F|abs 2.0052033333333332 1.68421 +elementwise_layout_bench 1M|c128|F|sqrt 4.676396666666666 8.39047 +elementwise_layout_bench 1M|c128|F|less 1.8706166666666666 0.715627 +elementwise_layout_bench 1M|c128|F|copy 1.9631133333333333 3.56992 +elementwise_layout_bench 1M|c128|T|add 1.45094 2.71305 +elementwise_layout_bench 1M|c128|T|mul 1.2305766666666667 2.72426 +elementwise_layout_bench 1M|c128|T|neg 1.2210299999999998 4.23795 +elementwise_layout_bench 1M|c128|T|abs 1.9907666666666666 1.70943 +elementwise_layout_bench 1M|c128|T|sqrt 4.642096666666666 8.39818 +elementwise_layout_bench 1M|c128|T|less 1.8752366666666667 0.72253 +elementwise_layout_bench 1M|c128|T|copy 1.9831466666666666 3.69596 +elementwise_layout_bench 1M|c128|strided|add 0.8184566666666666 1.34369 +elementwise_layout_bench 1M|c128|strided|mul 0.92338 1.37052 +elementwise_layout_bench 1M|c128|strided|neg 0.7957833333333333 2.12843 +elementwise_layout_bench 1M|c128|strided|abs 1.0951666666666666 0.899263 +elementwise_layout_bench 1M|c128|strided|sqrt 2.308813333333333 4.23536 +elementwise_layout_bench 1M|c128|strided|less 0.8838266666666666 0.407377 +elementwise_layout_bench 1M|c128|strided|copy 0.8258166666666666 1.54659 +elementwise_layout_bench 1M|c128|sliced|add 1.3153466666666667 3.42232 +elementwise_layout_bench 1M|c128|sliced|mul 1.2839366666666665 3.26512 +elementwise_layout_bench 1M|c128|sliced|neg 1.1781166666666667 4.67478 +elementwise_layout_bench 1M|c128|sliced|abs 1.9928133333333333 2.01946 +elementwise_layout_bench 1M|c128|sliced|sqrt 4.654493333333334 9.03085 +elementwise_layout_bench 1M|c128|sliced|less 1.9492233333333333 1.32958 +elementwise_layout_bench 1M|c128|sliced|copy 1.1684533333333333 2.87164 +elementwise_layout_bench 1M|c128|negrow|add 1.2880933333333333 3.27492 +elementwise_layout_bench 1M|c128|negrow|mul 1.3236233333333334 3.1926 +elementwise_layout_bench 1M|c128|negrow|neg 1.22525 4.66997 +elementwise_layout_bench 1M|c128|negrow|abs 2.05083 2.04511 +elementwise_layout_bench 1M|c128|negrow|sqrt 4.728063333333334 9.05588 +elementwise_layout_bench 1M|c128|negrow|less 1.9812866666666666 1.32004 +elementwise_layout_bench 1M|c128|negrow|copy 1.1597966666666666 2.864 +elementwise_layout_bench 1M|c128|negcol|add 1.3256133333333333 4.32539 +elementwise_layout_bench 1M|c128|negcol|mul 1.4292900000000002 4.19028 +elementwise_layout_bench 1M|c128|negcol|neg 1.2375533333333335 5.1879 +elementwise_layout_bench 1M|c128|negcol|abs 2.1710233333333333 2.50976 +elementwise_layout_bench 1M|c128|negcol|sqrt 4.322956666666667 9.59876 +elementwise_layout_bench 1M|c128|negcol|less 1.76681 2.21905 +elementwise_layout_bench 1M|c128|negcol|copy 1.2103733333333333 2.95272 +elementwise_layout_bench 1M|c128|bcast|add 0.88043 2.97479 +elementwise_layout_bench 1M|c128|bcast|mul 0.95238 2.88391 +elementwise_layout_bench 1M|c128|bcast|neg 0.88775 4.36812 +elementwise_layout_bench 1M|c128|bcast|abs 1.94019 1.83634 +elementwise_layout_bench 1M|c128|bcast|sqrt 4.58884 8.53472 +elementwise_layout_bench 1M|c128|bcast|less 1.9136300000000002 1.10397 +elementwise_layout_bench 1M|c128|bcast|copy 0.8893433333333333 2.75424 +elementwise_layout_bench 1M|f16|C|add 4.8059666666666665 2.98235 +elementwise_layout_bench 1M|f16|C|mul 4.794503333333334 2.97037 +elementwise_layout_bench 1M|f16|C|neg 0.3651 0.44638 +elementwise_layout_bench 1M|f16|C|abs 0.33377 0.450407 +elementwise_layout_bench 1M|f16|C|sqrt 3.4517033333333336 4.01683 +elementwise_layout_bench 1M|f16|C|less 1.0681333333333332 1.11698 +elementwise_layout_bench 1M|f16|C|copy 0.20631000000000002 0.2524 +elementwise_layout_bench 1M|f16|F|add 4.752516666666667 2.96288 +elementwise_layout_bench 1M|f16|F|mul 4.819283333333333 2.97028 +elementwise_layout_bench 1M|f16|F|neg 0.33630333333333334 0.450437 +elementwise_layout_bench 1M|f16|F|abs 0.33714 0.448587 +elementwise_layout_bench 1M|f16|F|sqrt 3.4576833333333337 4.00948 +elementwise_layout_bench 1M|f16|F|less 1.0743966666666667 1.11954 +elementwise_layout_bench 1M|f16|F|copy 0.54444 0.511897 +elementwise_layout_bench 1M|f16|T|add 4.78872 2.9742 +elementwise_layout_bench 1M|f16|T|mul 4.818303333333334 2.97448 +elementwise_layout_bench 1M|f16|T|neg 0.34693 0.455733 +elementwise_layout_bench 1M|f16|T|abs 0.33753666666666665 0.451513 +elementwise_layout_bench 1M|f16|T|sqrt 3.464723333333333 4.02014 +elementwise_layout_bench 1M|f16|T|less 1.0793766666666669 1.1147 +elementwise_layout_bench 1M|f16|T|copy 0.5443966666666668 0.51859 +elementwise_layout_bench 1M|f16|strided|add 2.6701566666666663 1.40756 +elementwise_layout_bench 1M|f16|strided|mul 2.6958866666666665 1.39707 +elementwise_layout_bench 1M|f16|strided|neg 0.24999 0.13553 +elementwise_layout_bench 1M|f16|strided|abs 0.2524 0.13751 +elementwise_layout_bench 1M|f16|strided|sqrt 1.8831533333333332 1.94719 +elementwise_layout_bench 1M|f16|strided|less 0.6960066666666667 0.55775 +elementwise_layout_bench 1M|f16|strided|copy 0.09173333333333332 0.09726 +elementwise_layout_bench 1M|f16|sliced|add 4.814566666666667 3.03044 +elementwise_layout_bench 1M|f16|sliced|mul 4.82999 3.03105 +elementwise_layout_bench 1M|f16|sliced|neg 0.39404 0.497007 +elementwise_layout_bench 1M|f16|sliced|abs 0.3878833333333333 0.486773 +elementwise_layout_bench 1M|f16|sliced|sqrt 3.46488 3.89172 +elementwise_layout_bench 1M|f16|sliced|less 1.1969133333333335 1.19018 +elementwise_layout_bench 1M|f16|sliced|copy 0.23915666666666666 0.331953 +elementwise_layout_bench 1M|f16|negrow|add 4.834253333333334 3.04673 +elementwise_layout_bench 1M|f16|negrow|mul 4.835213333333333 3.03595 +elementwise_layout_bench 1M|f16|negrow|neg 0.4055066666666667 0.497217 +elementwise_layout_bench 1M|f16|negrow|abs 0.39380666666666664 0.494547 +elementwise_layout_bench 1M|f16|negrow|sqrt 3.494496666666667 3.87501 +elementwise_layout_bench 1M|f16|negrow|less 1.2175066666666665 1.20706 +elementwise_layout_bench 1M|f16|negrow|copy 0.26297333333333334 0.34184 +elementwise_layout_bench 1M|f16|negcol|add 5.347989999999999 3.37833 +elementwise_layout_bench 1M|f16|negcol|mul 5.371836666666667 3.36592 +elementwise_layout_bench 1M|f16|negcol|neg 0.5365833333333333 0.657563 +elementwise_layout_bench 1M|f16|negcol|abs 0.5444433333333334 0.66379 +elementwise_layout_bench 1M|f16|negcol|sqrt 3.7705333333333333 4.20828 +elementwise_layout_bench 1M|f16|negcol|less 1.38215 1.53633 +elementwise_layout_bench 1M|f16|negcol|copy 0.26691333333333334 0.393453 +elementwise_layout_bench 1M|f16|bcast|add 4.77841 3.0051 +elementwise_layout_bench 1M|f16|bcast|mul 4.799016666666666 2.99965 +elementwise_layout_bench 1M|f16|bcast|neg 0.38952000000000003 0.467507 +elementwise_layout_bench 1M|f16|bcast|abs 0.38505 0.467137 +elementwise_layout_bench 1M|f16|bcast|sqrt 3.4825666666666666 3.94757 +elementwise_layout_bench 1M|f16|bcast|less 1.2039166666666667 1.13909 +elementwise_layout_bench 1M|f16|bcast|copy 0.23645 0.333047 +elementwise_layout_bench 1M|i32|C|add 0.3657033333333333 0.679487 +elementwise_layout_bench 1M|i32|C|mul 0.3688 0.68161 +elementwise_layout_bench 1M|i32|C|neg 0.35745666666666664 0.66956 +elementwise_layout_bench 1M|i32|C|abs 0.34736999999999996 0.67812 +elementwise_layout_bench 1M|i32|C|sqrt 1.34531 1.57179 +elementwise_layout_bench 1M|i32|C|less 0.09977 0.08291 +elementwise_layout_bench 1M|i32|C|copy 0.29858 0.493107 +elementwise_layout_bench 1M|i32|F|add 0.35018666666666665 0.700363 +elementwise_layout_bench 1M|i32|F|mul 0.35231999999999997 0.71889 +elementwise_layout_bench 1M|i32|F|neg 0.3448366666666667 0.687093 +elementwise_layout_bench 1M|i32|F|abs 0.34393 0.689293 +elementwise_layout_bench 1M|i32|F|sqrt 1.3489333333333335 1.59358 +elementwise_layout_bench 1M|i32|F|less 0.10468333333333332 0.0765167 +elementwise_layout_bench 1M|i32|F|copy 0.5463166666666667 0.81729 +elementwise_layout_bench 1M|i32|T|add 0.35385333333333335 0.684983 +elementwise_layout_bench 1M|i32|T|mul 0.36415333333333333 0.70259 +elementwise_layout_bench 1M|i32|T|neg 0.3518 0.685607 +elementwise_layout_bench 1M|i32|T|abs 0.36740333333333336 0.688743 +elementwise_layout_bench 1M|i32|T|sqrt 1.3470633333333335 1.57083 +elementwise_layout_bench 1M|i32|T|less 0.10278333333333332 0.0752767 +elementwise_layout_bench 1M|i32|T|copy 0.5341 0.843207 +elementwise_layout_bench 1M|i32|strided|add 0.27649333333333337 0.355313 +elementwise_layout_bench 1M|i32|strided|mul 0.27249 0.353027 +elementwise_layout_bench 1M|i32|strided|neg 0.26172666666666666 0.334293 +elementwise_layout_bench 1M|i32|strided|abs 0.27137666666666665 0.362763 +elementwise_layout_bench 1M|i32|strided|sqrt 0.5762833333333333 0.826233 +elementwise_layout_bench 1M|i32|strided|less 0.3816333333333333 0.162563 +elementwise_layout_bench 1M|i32|strided|copy 0.3022933333333333 0.32773 +elementwise_layout_bench 1M|i32|sliced|add 0.37405333333333335 0.829813 +elementwise_layout_bench 1M|i32|sliced|mul 0.3721133333333333 0.837033 +elementwise_layout_bench 1M|i32|sliced|neg 0.36813333333333337 0.734123 +elementwise_layout_bench 1M|i32|sliced|abs 0.3472766666666667 0.757577 +elementwise_layout_bench 1M|i32|sliced|sqrt 1.0784033333333334 1.57166 +elementwise_layout_bench 1M|i32|sliced|less 0.4776666666666667 0.211463 +elementwise_layout_bench 1M|i32|sliced|copy 0.35897 0.65505 +elementwise_layout_bench 1M|i32|negrow|add 0.35309 0.838827 +elementwise_layout_bench 1M|i32|negrow|mul 0.35645333333333334 0.853433 +elementwise_layout_bench 1M|i32|negrow|neg 0.34306333333333333 0.72455 +elementwise_layout_bench 1M|i32|negrow|abs 0.36606 0.782963 +elementwise_layout_bench 1M|i32|negrow|sqrt 1.10353 1.57593 +elementwise_layout_bench 1M|i32|negrow|less 0.47762333333333334 0.234667 +elementwise_layout_bench 1M|i32|negrow|copy 0.36064999999999997 0.66066 +elementwise_layout_bench 1M|i32|negcol|add 0.37011000000000005 1.10721 +elementwise_layout_bench 1M|i32|negcol|mul 0.3909333333333333 1.09988 +elementwise_layout_bench 1M|i32|negcol|neg 0.3592033333333333 0.844197 +elementwise_layout_bench 1M|i32|negcol|abs 0.36324666666666666 0.900943 +elementwise_layout_bench 1M|i32|negcol|sqrt 1.1535033333333333 1.61612 +elementwise_layout_bench 1M|i32|negcol|less 0.7082200000000001 0.493567 +elementwise_layout_bench 1M|i32|negcol|copy 0.44351333333333337 0.674367 +elementwise_layout_bench 1M|i32|bcast|add 0.3348133333333333 0.81836 +elementwise_layout_bench 1M|i32|bcast|mul 0.3588866666666667 0.825737 +elementwise_layout_bench 1M|i32|bcast|neg 0.31342666666666663 0.712193 +elementwise_layout_bench 1M|i32|bcast|abs 0.33045 0.772217 +elementwise_layout_bench 1M|i32|bcast|sqrt 1.0847966666666666 1.57003 +elementwise_layout_bench 1M|i32|bcast|less 0.45466666666666666 0.16436 +elementwise_layout_bench 1M|i32|bcast|copy 0.32525333333333334 0.662743 +elementwise_layout_bench 1M|i64|C|add 0.54555 1.26323 +elementwise_layout_bench 1M|i64|C|mul 0.6058966666666666 1.27067 +elementwise_layout_bench 1M|i64|C|neg 0.5527733333333333 1.33847 +elementwise_layout_bench 1M|i64|C|abs 0.5742033333333333 1.26349 +elementwise_layout_bench 1M|i64|C|sqrt 1.3582466666666666 1.57464 +elementwise_layout_bench 1M|i64|C|less 0.16823 0.178553 +elementwise_layout_bench 1M|i64|C|copy 0.49196666666666666 0.994917 +elementwise_layout_bench 1M|i64|F|add 0.5583666666666667 1.2621 +elementwise_layout_bench 1M|i64|F|mul 0.59048 1.27847 +elementwise_layout_bench 1M|i64|F|neg 0.5380066666666666 1.31272 +elementwise_layout_bench 1M|i64|F|abs 0.5992766666666667 1.24816 +elementwise_layout_bench 1M|i64|F|sqrt 1.3557033333333335 1.53963 +elementwise_layout_bench 1M|i64|F|less 0.18813000000000002 0.178487 +elementwise_layout_bench 1M|i64|F|copy 0.94823 1.48102 +elementwise_layout_bench 1M|i64|T|add 0.5793833333333333 1.29419 +elementwise_layout_bench 1M|i64|T|mul 0.5728033333333333 1.26809 +elementwise_layout_bench 1M|i64|T|neg 0.57404 1.31965 +elementwise_layout_bench 1M|i64|T|abs 0.5678666666666667 1.27906 +elementwise_layout_bench 1M|i64|T|sqrt 1.35122 1.50739 +elementwise_layout_bench 1M|i64|T|less 0.16738666666666668 0.17362 +elementwise_layout_bench 1M|i64|T|copy 0.89862 1.48785 +elementwise_layout_bench 1M|i64|strided|add 0.39619333333333334 0.64742 +elementwise_layout_bench 1M|i64|strided|mul 0.44565666666666665 0.643893 +elementwise_layout_bench 1M|i64|strided|neg 0.39956 0.679093 +elementwise_layout_bench 1M|i64|strided|abs 0.42478 0.656103 +elementwise_layout_bench 1M|i64|strided|sqrt 0.60218 0.817603 +elementwise_layout_bench 1M|i64|strided|less 0.3750966666666667 0.170777 +elementwise_layout_bench 1M|i64|strided|copy 0.38368 0.673743 +elementwise_layout_bench 1M|i64|sliced|add 0.5781866666666667 1.53805 +elementwise_layout_bench 1M|i64|sliced|mul 0.5555633333333333 1.52412 +elementwise_layout_bench 1M|i64|sliced|neg 0.5565966666666667 1.44882 +elementwise_layout_bench 1M|i64|sliced|abs 0.5668933333333332 1.43308 +elementwise_layout_bench 1M|i64|sliced|sqrt 1.1174 1.51971 +elementwise_layout_bench 1M|i64|sliced|less 0.45204 0.452283 +elementwise_layout_bench 1M|i64|sliced|copy 0.5187533333333333 1.31563 +elementwise_layout_bench 1M|i64|negrow|add 0.5557200000000001 1.58245 +elementwise_layout_bench 1M|i64|negrow|mul 0.5773166666666667 1.53769 +elementwise_layout_bench 1M|i64|negrow|neg 0.6066966666666667 1.47983 +elementwise_layout_bench 1M|i64|negrow|abs 0.5660133333333334 1.40382 +elementwise_layout_bench 1M|i64|negrow|sqrt 1.1379533333333332 1.58987 +elementwise_layout_bench 1M|i64|negrow|less 0.4720133333333333 0.475703 +elementwise_layout_bench 1M|i64|negrow|copy 0.5745733333333334 1.31228 +elementwise_layout_bench 1M|i64|negcol|add 0.5988100000000001 1.67732 +elementwise_layout_bench 1M|i64|negcol|mul 0.7914733333333334 1.68862 +elementwise_layout_bench 1M|i64|negcol|neg 0.65203 1.5011 +elementwise_layout_bench 1M|i64|negcol|abs 0.75478 1.46516 +elementwise_layout_bench 1M|i64|negcol|sqrt 1.2152166666666666 1.60172 +elementwise_layout_bench 1M|i64|negcol|less 0.7266999999999999 0.6866 +elementwise_layout_bench 1M|i64|negcol|copy 0.5697566666666667 1.23388 +elementwise_layout_bench 1M|i64|bcast|add 0.5383033333333334 1.4185 +elementwise_layout_bench 1M|i64|bcast|mul 0.5559966666666667 1.40537 +elementwise_layout_bench 1M|i64|bcast|neg 0.5457533333333333 1.37796 +elementwise_layout_bench 1M|i64|bcast|abs 0.5514100000000001 1.34764 +elementwise_layout_bench 1M|i64|bcast|sqrt 1.0554466666666666 1.50286 +elementwise_layout_bench 1M|i64|bcast|less 0.44815666666666665 0.35987 +elementwise_layout_bench 1M|i64|bcast|copy 0.61193 1.28087 diff --git a/benchmark/history/2026-06-29_2d16f477/nditer_results.md b/benchmark/history/2026-06-29_2d16f477/nditer_results.md new file mode 100644 index 000000000..002867d3a --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/nditer_results.md @@ -0,0 +1,117 @@ +``` +NumSharp NDIter — canonical benchmark · 2026-06-29 · speedup = NumPy ÷ NumSharp (>1.0× = NumSharp faster) +198 measured pairs (35 NA) · best-of-rounds, Release · matched kernels/ids +%NumPy🕐 = NumSharp ÷ NumPy × 100 = share of NumPy's time NumSharp uses (8% = takes only 8% as long; <100% = faster) + +AV POLICY — a NumSharp section that crashes all retries (known intermittent +AccessViolation, an unmanaged-storage lifetime bug) is reported NA / IGNORED +and excluded from every geomean below. THIS RUN: NA across selection. + +HEADLINE — operation matrix: 1.20× geomean · 83%🕐 of NumPy's time · 77 win / 53 lose over 130 cells + +OPERATIONS — BY SIZE TIER (geomean over all families) + slower ◄───────── 1.0 (parity) ─────────► faster +scalar ████████████▌ ...... 1.26× 79%🕐 ( 17 win / 9 lose) +1K ███████████▌ ....... 1.16× 86%🕐 ( 15 win / 11 lose) +100K ██████████▋ ........ 1.07× 94%🕐 ( 12 win / 14 lose) +1M ████████████▉ ...... 1.30× 77%🕐 ( 17 win / 9 lose) +10M ████████████▎ ...... 1.23× 82%🕐 ( 16 win / 10 lose) +ALL ███████████▉ ....... 1.20× 83%🕐 ( 77 win / 53 lose) + +OPERATIONS — BY CATEGORY (geomean over its families, all sizes) + slower ◄───────── 1.0 (parity) ─────────► faster +elementwise████████████▊ ...... 1.28× 78%🕐 ( 31 win / 9 lose) +reductions █████████████████▍ 1.74× 57%🕐 ( 29 win / 11 lose) +selection (no data) +copy/cast ███████▎ ........... 0.73× 138%🕐 ( 9 win / 16 lose) ◄ SLOWER +index-math ███████▋ ........... 0.77× 130%🕐 ( 4 win / 6 lose) ◄ SLOWER +dtypes ███████████▌ ....... 1.16× 86%🕐 ( 4 win / 11 lose) + +CATEGORY × TIER geomean +category scalar 1K 100K 1M 10M +elementwise 1.65× 1.54× 1.14× 1.10× 1.08× +reductions 2.68× 2.00× 1.51× 1.43× 1.38× +selection - - - - - +copy/cast 0.59× 0.53× 0.41× 1.40× 1.12× +index-math 0.34× 0.51× 0.99× 1.23× 1.26× +dtypes 0.70× 0.81× 1.87× 1.39× 1.44× + +PER-FAMILY × TIER (NumPy ÷ NumSharp; >1.0 = NumSharp faster) +family scalar 1K 100K 1M 10M geomean +-- elementwise + add 1.61× 1.43× 0.96× 1.00× 1.02× 1.18× + sqrt 1.67× 1.16× 1.01× 1.00× 1.01× 1.15× + copy 1.67× 2.35× 1.62× 1.39× 1.64× 1.71× + strided 1.65× 1.28× 0.93× 1.01× 0.99× 1.15× + bcast 1.68× 1.32× 0.89× 0.95× 0.95× 1.12× + reversed 1.65× 1.26× 0.93× 0.99× 0.95× 1.13× + castbuf 1.87× 2.20× 1.63× 1.36× 1.12× 1.59× + mixbuf 1.42× 1.72× 1.41× 1.20× 1.07× 1.35× +-- reductions + sum 1.92× 1.85× 2.58× 1.76× 1.60× 1.92× + sum ax0 1.71× 0.86× 1.10× 0.96× 0.96× 1.09× + sum ax1 1.81× 0.92× 1.52× 1.79× 1.58× 1.48× + sum dt= 1.89× 1.35× 0.48× 0.46× 0.54× 0.79× + amin 1.69× 1.62× 0.71× 0.71× 0.76× 1.01× + cumsum 1.35× 1.13× 1.07× 1.87× 1.65× 1.38× + any(F) 10.04× 8.39× 2.00× 1.23× 1.00× 2.90× + any(hit) 10.25× 8.49× 8.50× 7.88× 7.98× 8.58× +-- selection + where NA NA NA NA NA + a[mask] NA NA NA NA NA + a[mask]= NA NA NA NA NA + count_nz NA NA NA NA NA + argwhere NA NA NA NA NA + a[idx] NA NA NA NA NA + a[idx]= NA NA NA NA NA +-- copy/cast + flatten 0.41× 0.33× 0.17× 2.21× 1.13× 0.56× + astype 0.31× 0.53× 0.54× 1.94× 1.89× 0.80× + ravel.T 0.50× 0.58× 0.53× 2.22× 1.09× 0.82× + in-place 1.45× 0.77× 0.96× 1.03× 1.04× 1.03× + less->b 0.81× 0.52× 0.25× 0.55× 0.75× 0.53× +-- index-math + unravel 0.36× 0.50× 0.96× 1.00× 1.04× 0.71× + ravel_mi 0.32× 0.53× 1.01× 1.53× 1.54× 0.83× +-- dtypes + complex 0.71× 0.58× 0.97× 0.77× 0.93× 0.78× + float16 0.72× 0.64× 0.58× 0.56× 0.57× 0.61× + int8 0.66× 1.43× 11.53× 6.16× 5.66× 3.28× + +CONSTRUCTION — iterator build+dispose vs np.nditer (size-invariant, 1K) + slower ◄───────── 1.0 (parity) ─────────► faster +1op █████████▋ ......... 0.97× 103%🕐 ( 0 win / 1 lose) ◄ SLOWER +3op_exl ███████████████████▶ 2.44× 41%🕐 ( 1 win / 0 lose) +ufunc ███████████████████▶ 2.91× 34%🕐 ( 1 win / 0 lose) +bufcast ███████████████████▶ 2.56× 39%🕐 ( 1 win / 0 lose) +multiindex █████████████▉ ..... 1.40× 72%🕐 ( 1 win / 0 lose) +8op ███████████████████▶ 3.67× 27%🕐 ( 1 win / 0 lose) +4d █████████████████▊ 1.78× 56%🕐 ( 1 win / 0 lose) +8d ██████████████████▌ 1.85× 54%🕐 ( 1 win / 0 lose) +strided2d ███████████████████▌ 1.95× 51%🕐 ( 1 win / 0 lose) +geomean ███████████████████▶ 2.03× 49%🕐 ( 8 win / 1 lose) + +CHUNK-WIDTH dispatch — strided rows, 2M total, inner width w (NumPy = np.positive) + slower ◄───────── 1.0 (parity) ─────────► faster +w=4 ██████▉ ............ 0.69× 145%🕐 ( 0 win / 1 lose) ◄ SLOWER +w=16 █████████▊ ......... 0.98× 102%🕐 ( 0 win / 1 lose) ◄ PARITY +w=64 ██████████▏ ........ 1.02× 98%🕐 ( 1 win / 0 lose) ◄ PARITY +w=256 ██████████████▌ .... 1.45× 69%🕐 ( 1 win / 0 lose) +w=1024 █████████████ ...... 1.31× 76%🕐 ( 1 win / 0 lose) + +PATHOLOGY canaries — known taxes/losses to track (NumPy ÷ NumSharp) + bcast_reduce 522.42× (522.4× faster, faster) + allocate 1.06× (1.1× faster, faster) + overlap_copy 1.77× (1.8× faster, faster) + forder_out 1.17× (1.2× faster, faster) + zerodim 1.55× (1.6× faster, faster) + +DIVIDENDS — NumSharp-only machinery (NumPy baseline = closest it can do) + scalar 1K 100K 1M 10M note +fuse7 12.55× 3.86× 1.44× 1.67× 2.09× vs chained 6× add +reuse 6.06× 6.12× 1.07× 1.00× 1.00× vs rebuild each call +par8 - 0.67× 2.78× 3.95× 5.40× vs single-thread + +biggest NumSharp wins: i8@100K 11.53× · anyeh@1 10.25× · anyff@1 10.04× · anyeh@100K 8.50× · anyeh@1K 8.49× +most behind: flatten@100K 0.17× · lessbool@100K 0.25× · astype@1 0.31× · ravelmi@1 0.32× · flatten@1K 0.33× +``` diff --git a/benchmark/history/2026-06-29_2d16f477/nditer_results.tsv b/benchmark/history/2026-06-29_2d16f477/nditer_results.tsv new file mode 100644 index 000000000..5287796d7 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/nditer_results.tsv @@ -0,0 +1,199 @@ +id ns_ms np_ms +add@1 0.00017091899999999998 0.00027511100051924586 +sqrt@1 0.000147608 0.0002462064987048507 +copy@1 0.00014795500000000002 0.00024708000011742115 +sadd@1 0.00016643999999999999 0.0002754010003991425 +bcast@1 0.000163277 0.0002747275005094707 +frev@1 0.0001479935 0.00024455050006508825 +castbuf@1 0.000306009 0.0005734744993969799 +mixbuf@1 0.000321592 0.0004560724995099008 +add@1K 0.00029071625000000003 0.00041510125156491996 +sqrt@1K 0.00071336625 0.0008306362491566688 +copy@1K 0.00020665499999999998 0.0004851775011047721 +sadd@1K 0.00048831875 0.0006255500018596649 +bcast@1K 0.00059921875 0.0007919212512206286 +frev@1K 0.00038528250000000004 0.0004862500005401671 +castbuf@1K 0.00048334374999999994 0.001063978747697547 +mixbuf@1K 0.00057059125 0.0009794600016903132 +add@100K 0.024144560000000002 0.02318923994898796 +sqrt@100K 0.055474760000000005 0.05583084002137184 +copy@100K 0.01193712 0.019331360049545766 +sadd@100K 0.046995760000000004 0.04378667995333672 +bcast@100K 0.014298400000000001 0.012686160020530223 +frev@100K 0.0211094 0.019698840007185935 +castbuf@100K 0.0264318 0.04303684011101723 +mixbuf@100K 0.03255072 0.045976920053362846 +add@1M 0.3806566666666667 0.38225833559408784 +sqrt@1M 0.5561575 0.5564183307190737 +copy@1M 0.19429666666666667 0.2694341664512952 +sadd@1M 1.1385208333333334 1.1531875003129244 +bcast@1M 0.2569225 0.24389833367119232 +frev@1M 0.27004833333333333 0.2659983350895345 +castbuf@1M 0.31804333333333334 0.43259083370988566 +mixbuf@1M 0.43160750000000003 0.5192650016397238 +add@10M 7.8514100000000004 8.018326666206121 +sqrt@10M 6.118063333333334 6.197356665506959 +copy@10M 4.058466666666667 6.669619989891847 +sadd@10M 13.79867 13.669983328630527 +bcast@10M 6.52445 6.208629999309778 +frev@10M 7.263396666666667 6.893766671419144 +castbuf@10M 6.854746666666667 7.688830001279712 +mixbuf@10M 8.945583333333333 9.552070001761118 +psum@1 0.0007622509999999999 0.001462461499031633 +sumax0@1 0.000868493 0.0014824514999054372 +sumax1@1 0.0008234655 0.0014945754990912973 +sumdt@1 0.000851597 0.0016064550005830825 +amin@1 0.0008798104999999999 0.0014868684997782111 +cumsum@1 0.0007994629999999999 0.0010826524998992682 +anyff@1 0.00013073999999999998 0.0013126945006661118 +anyeh@1 0.000128749 0.0013191570015624165 +psum@1K 0.0008844137500000001 0.001632387499557808 +sumax0@1K 0.0021323275 0.0018421612505335361 +sumax1@1K 0.00197771 0.0018167787522543222 +sumdt@1K 0.00149638125 0.0020264337479602547 +amin@1K 0.00127641375 0.002062592504080385 +cumsum@1K 0.00247887125 0.002805377496406436 +anyff@1K 0.00016429375 0.0013791475037578493 +anyeh@1K 0.00016202875 0.00137609374942258 +psum@100K 0.00622832 0.016073720157146455 +sumax0@100K 0.01121724 0.012393400073051453 +sumax1@100K 0.010906520000000001 0.01661492008715868 +sumdt@100K 0.07622856 0.036599399894475936 +amin@100K 0.0206448 0.01467059999704361 +cumsum@100K 0.15494452 0.1661438399925828 +anyff@100K 0.0012096 0.0024179600179195402 +anyeh@100K 0.00016020000000000002 0.001361439935863018 +psum@1M 0.10765416666666666 0.189818333213528 +sumax0@1M 0.1320025 0.1270416658371687 +sumax1@1M 0.11413916666666667 0.2043066662736237 +sumdt@1M 0.7602175 0.3513599978759885 +amin@1M 0.17454833333333333 0.12321999917427699 +cumsum@1M 1.2812183333333331 2.3955866655645273 +anyff@1M 0.009215833333333335 0.011328332281361023 +anyeh@1M 0.00017083333333333333 0.0013458348500231903 +psum@10M 2.760753333333333 4.429623329391082 +sumax0@10M 3.61434 3.4667000019301972 +sumax1@10M 3.553463333333333 5.605923337861896 +sumdt@10M 7.7635266666666665 4.176120009894173 +amin@10M 4.09087 3.102519999568661 +cumsum@10M 14.545883333333334 23.96473333549996 +anyff@10M 0.14644000000000001 0.14605332786838213 +anyeh@10M 0.00017 0.0013566731164852779 +where@1 NA 0.0006261979998089374 +bread@1 NA 0.00026150899939239027 +bassign@1 NA 0.0003161720000207424 +cnz@1 NA 0.00021232000086456536 +argw@1 NA 0.0016572194988839328 +gather@1 NA 0.000559423000086099 +scatter@1 NA 0.000747602500487119 +where@1K NA 0.001099998754216358 +bread@1K NA 0.0023300600005313754 +bassign@1K NA 0.00462075499817729 +cnz@1K NA 0.0005930437531787902 +argw@1K NA 0.00214192375424318 +gather@1K NA 0.0022646174998953938 +scatter@1K NA 0.002870196249568835 +where@100K NA 0.037981959991157055 +bread@100K NA 0.2000909199938178 +bassign@100K NA 0.41765148006379604 +cnz@100K NA 0.03748199995607138 +argw@100K NA 0.036645520105957986 +gather@100K NA 0.1692263599485159 +scatter@100K NA 0.20153547991067172 +where@1M NA 1.4079041662625968 +bread@1M NA 2.405032500003775 +bassign@1M NA 4.23769000141571 +cnz@1M NA 0.3707458342735966 +argw@1M NA 1.281880831811577 +gather@1M NA 3.1984066668276987 +scatter@1M NA 3.6672408343292773 +where@10M NA 16.571070005496342 +bread@10M NA 24.706339991341036 +bassign@10M NA 42.50342667413255 +cnz@10M NA 5.437233330061038 +argw@10M NA 13.699756655842066 +gather@10M NA 116.27218667417765 +scatter@10M NA 94.14298334158957 +flatten@1 0.0008532930000000001 0.0003491879999637604 +astype@1 0.0009170225 0.0002866830001585186 +ravelT@1 0.000625164 0.0003098540008068085 +inplace@1 0.000392667 0.0005692829983308911 +lessbool@1 0.0003541005 0.00028514049947261813 +flatten@1K 0.0013546625000000001 0.0004505412478465587 +astype@1K 0.001133865 0.0005964462528936565 +ravelT@1K 0.0018875675 0.0011001800012309104 +inplace@1K 0.0005149824999999999 0.00039648875244893136 +lessbool@1K 0.0007429637500000001 0.00038664250168949363 +flatten@100K 0.06904199999999999 0.011396959982812404 +astype@100K 0.04335228 0.02332300003618002 +ravelT@100K 0.054758079999999994 0.029127799905836582 +inplace@100K 0.013246520000000001 0.012707480043172837 +lessbool@100K 0.038283120000000004 0.009695560112595559 +flatten@1M 0.45312 1.0025216654563944 +astype@1M 0.35808 0.6952433303619424 +ravelT@1M 0.688465 1.5296358343524237 +inplace@1M 0.2530941666666667 0.26005166582763195 +lessbool@1M 0.38967166666666664 0.214225003340592 +flatten@10M 10.96841 12.383439997211099 +astype@10M 4.888146666666667 9.220453336214026 +ravelT@10M 48.76667333333333 53.04225332414111 +inplace@10M 5.584043333333333 5.781833330790202 +lessbool@10M 6.94217 5.201620003208518 +unravel@1 0.001539439 0.0005541940010152757 +ravelmi@1 0.002158912 0.0006914425012655557 +unravel@1K 0.008453483749999999 0.004250229999888689 +ravelmi@1K 0.0056489025 0.00296710500260815 +unravel@100K 0.54983536 0.5297753600403666 +ravelmi@100K 0.20343876 0.20504732001572848 +unravel@1M 5.108356666666666 5.085098332104583 +ravelmi@1M 1.8588441666666666 2.837403332038472 +unravel@10M 49.433593333333334 51.20076999689142 +ravelmi@10M 18.945293333333332 29.23923667209844 +cplx@1 0.0003958045 0.0002821270003914833 +f16@1 0.0003885275 0.0002780875004827976 +i8@1 0.000396008 0.0002614090009592474 +cplx@1K 0.001003795 0.0005861787474714219 +f16@1K 0.00631686 0.004012476251227781 +i8@1K 0.00042235125 0.0006033474986907095 +cplx@100K 0.06669728 0.06490444000810384 +f16@100K 0.62138864 0.36014211997389795 +i8@100K 0.00247976 0.028592560067772867 +cplx@1M 1.4484208333333333 1.1149950015048187 +f16@1M 6.419518333333333 3.619729168713093 +i8@1M 0.045785 0.282046664506197 +cplx@10M 16.766783333333333 15.520323331778249 +f16@10M 64.51807333333333 36.629353339473404 +i8@10M 0.5070233333333333 2.868759989117583 +fuse7@1 0.00025073049999999996 0.0031455345009453596 +reuse@1 4.6803999999999994e-05 0.0002837144979275763 +fuse7@1K 0.00067017125 0.002583731251070276 +reuse@1K 7.003375e-05 0.0004288850002922118 +par8@1K 0.0045842 0.003054250031709671 +fuse7@100K 0.08033968 0.11566027998924255 +reuse@100K 0.02171076 0.02318756002932787 +par8@100K 0.0994824 0.2764063999056816 +fuse7@1M 1.4896733333333332 2.485460830697169 +reuse@1M 0.37489833333333333 0.37610333335275453 +par8@1M 0.6955899999999999 2.7503699995577335 +fuse7@10M 17.365176666666667 36.32998666726053 +reuse@10M 7.62783 7.621846674010158 +par8@10M 5.14131 27.781730005517602 +ctor.1op 0.0002734875 0.0002647154999431223 +ctor.3op_exl 0.00029147 0.0007111867493949831 +ctor.ufunc 0.0003228765 0.0009405050007626415 +ctor.bufcast 0.0005622590000000001 0.0014408430038020015 +ctor.multiindex 0.00029678675 0.00041438849992118774 +ctor.8op 0.00036468449999999995 0.0013384180003777146 +ctor.4d 0.000378667 0.0006725704995915293 +ctor.8d 0.00048339799999999995 0.0008960375003516674 +ctor.strided2d 0.000328176 0.000640605001244694 +cw.4 3.910883333333333 2.7026416889081397 +cw.16 1.9310583333333333 1.9019499886780977 +cw.64 1.3543960000000002 1.381556000560522 +cw.256 1.041328 1.5106919966638088 +cw.1024 0.8983199999999999 1.1778359860181808 +path.bcast_reduce 0.00216 1.1284360103309155 +path.allocate 6.27158 6.635139975696802 +path.overlap_copy 4.3761 7.766758324578404 +path.forder_out 3.0555583333333334 3.5874250267321863 +path.zerodim 0.00034303800000000005 0.0005319490004330874 diff --git a/benchmark/history/2026-06-29_2d16f477/numpy-results.json b/benchmark/history/2026-06-29_2d16f477/numpy-results.json new file mode 100644 index 000000000..0a81a1a61 --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/numpy-results.json @@ -0,0 +1,25916 @@ +[ + { + "name": "a + b (element-wise) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0008359923958778381, + "stddev_ms": 7.760037713406632e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 1196183.129094069, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006759632378816605, + "stddev_ms": 4.316293474556516e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1479370.3917003071, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0007659848779439926, + "stddev_ms": 5.931381833602529e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1305508.801536834, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.000917995348572731, + "stddev_ms": 6.907256780492304e-05, + "min_ms": 0.0007995404303073883, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1089330.138278769, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006520189344882965, + "stddev_ms": 5.79899324298699e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1533697.7917440366, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0007699709385633469, + "stddev_ms": 4.630436131807554e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1298750.3162987602, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0007899757474660873, + "stddev_ms": 6.143684377332924e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1265861.6460158213, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006619933992624283, + "stddev_ms": 5.6716336193467126e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1510589.0800635894, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006539933383464813, + "stddev_ms": 5.036406322406907e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1529067.5628720345, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.000769980251789093, + "stddev_ms": 6.774869539501317e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1298734.6073830375, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0008839741349220276, + "stddev_ms": 8.887759309003148e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1131254.8189978506, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.000659991055727005, + "stddev_ms": 5.3451289558167964e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1515172.0486552084, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.000661974772810936, + "stddev_ms": 5.3045115034288835e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1510631.5845749096, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0007700081914663315, + "stddev_ms": 5.441333379071668e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1298687.4829158552, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0008880160748958588, + "stddev_ms": 5.938723168636925e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1126105.7409543786, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006519816815853119, + "stddev_ms": 5.0501954936795955e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1533785.4241065052, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0007520243525505066, + "stddev_ms": 6.466456782247135e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1329744.1719918759, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0007900036871433258, + "stddev_ms": 5.0455894912754785e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1265816.8769009502, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006340164691209793, + "stddev_ms": 5.1957877313948306e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1577246.0948631696, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006399862468242645, + "stddev_ms": 4.9484178997026723e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1562533.577810763, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0007239542901515961, + "stddev_ms": 4.3149558180462215e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1381302.6783646795, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0008480250835418701, + "stddev_ms": 5.048731917255656e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1179210.4023897382, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.000864025205373764, + "stddev_ms": 5.98155890706869e-05, + "min_ms": 0.0007995404303073883, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1157373.6434776986, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0008900370448827744, + "stddev_ms": 0.0001542456487899942, + "min_ms": 0.000800006091594696, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 1123548.7396276956, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0008919928222894669, + "stddev_ms": 3.4058265131126294e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1121085.254288608, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0010280031710863113, + "stddev_ms": 4.532810798660759e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 972759.6452287984, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0007820036262273788, + "stddev_ms": 4.376827965012415e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1278766.4487239034, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0009040068835020065, + "stddev_ms": 4.0192537665563626e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1106186.267217489, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0009160023182630539, + "stddev_ms": 3.703574347824491e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1091700.2938335622, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0007699988782405853, + "stddev_ms": 4.630225012522224e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1298703.1906915987, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0007519777864217758, + "stddev_ms": 5.0497080033328775e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1329826.5162305092, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.000872025266289711, + "stddev_ms": 4.536809069997049e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1146755.763459464, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0009919889271259308, + "stddev_ms": 4.443351140115186e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1008075.7684435849, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0008260458707809448, + "stddev_ms": 5.648843034010349e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1210586.5247587264, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007700081914663315, + "stddev_ms": 4.6287905035955385e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1298687.4829158552, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0009079743176698685, + "stddev_ms": 3.4125348779396893e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1101352.737119588, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0010220147669315338, + "stddev_ms": 4.187080479972697e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 978459.4434015565, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007960200309753418, + "stddev_ms": 5.329198642445366e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1256249.7940846125, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.000893985852599144, + "stddev_ms": 3.7279228491769986e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1118585.9340979883, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0009459909051656723, + "stddev_ms": 5.035238353054853e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1057092.615308885, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007560104131698608, + "stddev_ms": 5.406414269645177e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1322733.1033803094, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007699988782405853, + "stddev_ms": 4.6281792660213975e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1298703.1906915987, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.000863960012793541, + "stddev_ms": 5.250514997846131e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1157460.9764248063, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.001017991453409195, + "stddev_ms": 6.289145014204982e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 982326.5182149196, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007820036262273788, + "stddev_ms": 4.376827965012415e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1278766.4487239034, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007899943739175797, + "stddev_ms": 4.1698460114312874e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1265831.7995873857, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.000895969569683075, + "stddev_ms": 3.475519691884608e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1116109.3343312128, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0010359939187765121, + "stddev_ms": 4.85085987924347e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 965256.6312174686, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007820036262273788, + "stddev_ms": 5.2214070944635304e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1278766.4487239034, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0009299721568822861, + "stddev_ms": 4.6304743597117646e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1075301.0104651744, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0009279605001211166, + "stddev_ms": 4.536503556738153e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1077632.0757936148, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.000783996656537056, + "stddev_ms": 3.705469415507709e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1275515.6436725627, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007920246571302414, + "stddev_ms": 5.655499361133704e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1262586.954834613, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0008959881961345673, + "stddev_ms": 3.47573359659716e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1116086.131842089, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0010159891098737717, + "stddev_ms": 4.6780853756416444e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 984262.5184479012, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0024460162967443466, + "stddev_ms": 7.059397345358088e-05, + "min_ms": 0.002400018274784088, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 408828.0202102506, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0017639994621276855, + "stddev_ms": 5.9787848027057914e-05, + "min_ms": 0.0016996636986732483, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 566893.5968913668, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0017880182713270187, + "stddev_ms": 4.8021325062851866e-05, + "min_ms": 0.0016996636986732483, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 559278.401141744, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (int32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.002148030325770378, + "stddev_ms": 0.00010351203265140984, + "min_ms": 0.00200001522898674, + "max_ms": 0.002600252628326416, + "iterations": 50, + "ops_per_sec": 465542.77563160384, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (int32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0021620001643896103, + "stddev_ms": 7.249693160222003e-05, + "min_ms": 0.00200001522898674, + "max_ms": 0.002400018274784088, + "iterations": 50, + "ops_per_sec": 462534.65493252006, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0011339690536260605, + "stddev_ms": 0.0014947990472326939, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0112997367978096, + "iterations": 50, + "ops_per_sec": 881858.2807020425, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0009819958359003067, + "stddev_ms": 0.000272322299316349, + "min_ms": 0.0007995404303073883, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 1018334.2570726757, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.000913962721824646, + "stddev_ms": 3.502929765752385e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1094136.5288986713, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.001056017354130745, + "stddev_ms": 5.01328945037468e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 946954.1348808085, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0008120108395814896, + "stddev_ms": 4.350691207006968e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1231510.6538668869, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0010760501027107239, + "stddev_ms": 0.00029386931170885246, + "min_ms": 0.0008996576070785522, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 929324.7567941839, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.000933939591050148, + "stddev_ms": 4.785202517616291e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1070733.0640899073, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0007899943739175797, + "stddev_ms": 3.6438265193175314e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1265831.7995873857, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0007860083132982254, + "stddev_ms": 3.504551112125305e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1272251.1748047916, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0009040068835020065, + "stddev_ms": 4.5016256399710766e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1106186.267217489, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0010300055146217346, + "stddev_ms": 8.628450476871629e-05, + "min_ms": 0.00090012326836586, + "max_ms": 0.0013997778296470642, + "iterations": 50, + "ops_per_sec": 970868.5883757098, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009799841791391373, + "stddev_ms": 6.388853259561583e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 1020424.6367308149, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.000833999365568161, + "stddev_ms": 0.00018914020265573483, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 1199041.6795086544, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0008800067007541656, + "stddev_ms": 6.0633407321324294e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1136354.9835961477, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009679794311523438, + "stddev_ms": 6.210516721899939e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 1033079.802955665, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0007720012217760086, + "stddev_ms": 4.963055879398934e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0008996576070785522, + "iterations": 50, + "ops_per_sec": 1295334.7375532312, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009020138531923294, + "stddev_ms": 0.00010593620029957174, + "min_ms": 0.000800006091594696, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 1108630.4234251908, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0011219736188650131, + "stddev_ms": 0.00037589265769851486, + "min_ms": 0.000800006091594696, + "max_ms": 0.002699904143810272, + "iterations": 50, + "ops_per_sec": 891286.5536104125, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0007760338485240936, + "stddev_ms": 6.563429289198106e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1288603.5859155606, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0007600057870149612, + "stddev_ms": 4.948771041771553e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1315779.4546902764, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0008640158921480179, + "stddev_ms": 5.979398001806179e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1157386.1188061181, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009179860353469849, + "stddev_ms": 4.37622279291994e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1089341.1898384872, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0019060075283050537, + "stddev_ms": 9.775160308978186e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 524656.8993823782, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.001697959378361702, + "stddev_ms": 4.2807833802638484e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 588942.2401641097, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0017980113625526428, + "stddev_ms": 0.00030934465837769847, + "min_ms": 0.001600012183189392, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 556170.0113954211, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (int64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.003513982519507408, + "stddev_ms": 6.395243609681589e-05, + "min_ms": 0.0033997930586338043, + "max_ms": 0.003600027412176132, + "iterations": 50, + "ops_per_sec": 284577.397425466, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (int64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.00439799390733242, + "stddev_ms": 0.0006309863222538034, + "min_ms": 0.0041997991502285, + "max_ms": 0.008699949830770493, + "iterations": 50, + "ops_per_sec": 227376.3950270101, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0007859896868467331, + "stddev_ms": 4.950979284942122e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1272281.3247230286, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0008460041135549545, + "stddev_ms": 0.0002409185414677159, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 1182027.3494864542, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0009060278534889221, + "stddev_ms": 0.00016587200978645397, + "min_ms": 0.000800006091594696, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 1103718.827350849, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0010279938578605652, + "stddev_ms": 5.3604198777856483e-05, + "min_ms": 0.00090012326836586, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 972768.4580539953, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0007660035043954849, + "stddev_ms": 5.195457938024808e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1305477.0562560032, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0008820462971925735, + "stddev_ms": 6.607387045504131e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1133727.3374230538, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0009199976921081543, + "stddev_ms": 0.00027177384835906816, + "min_ms": 0.000800006091594696, + "max_ms": 0.0025997869670391083, + "iterations": 50, + "ops_per_sec": 1086959.2484612893, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0007039587944746017, + "stddev_ms": 3.4764741399833956e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1420537.6903435776, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0007279496639966965, + "stddev_ms": 4.9655857408686515e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0008996576070785522, + "iterations": 50, + "ops_per_sec": 1373721.3566521243, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0008060038089752197, + "stddev_ms": 4.696655219214359e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1240688.9258643002, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0009399838745594025, + "stddev_ms": 5.346201495502443e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1063848.037253542, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0054900068789720535, + "stddev_ms": 0.001416176497115775, + "min_ms": 0.0032996758818626404, + "max_ms": 0.006600283086299896, + "iterations": 50, + "ops_per_sec": 182149.13424429798, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005668066442012787, + "stddev_ms": 0.0015149887170688478, + "min_ms": 0.0032996758818626404, + "max_ms": 0.006899703294038773, + "iterations": 50, + "ops_per_sec": 176427.0073808256, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00663398765027523, + "stddev_ms": 0.0008011937845981715, + "min_ms": 0.0034999102354049683, + "max_ms": 0.00690016895532608, + "iterations": 50, + "ops_per_sec": 150738.8998468383, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006428025662899017, + "stddev_ms": 0.0010066903814254856, + "min_ms": 0.003700144588947296, + "max_ms": 0.0069998204708099365, + "iterations": 50, + "ops_per_sec": 155568.7628585172, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004082005470991135, + "stddev_ms": 0.0004294108309794906, + "min_ms": 0.0033997930586338043, + "max_ms": 0.004500150680541992, + "iterations": 50, + "ops_per_sec": 244977.62364762195, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006093988195061684, + "stddev_ms": 0.0013038778801532575, + "min_ms": 0.0034999102354049683, + "max_ms": 0.0070999376475811005, + "iterations": 50, + "ops_per_sec": 164096.14984327648, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005402006208896637, + "stddev_ms": 0.001243494745382595, + "min_ms": 0.0034999102354049683, + "max_ms": 0.006400048732757568, + "iterations": 50, + "ops_per_sec": 185116.41070554242, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.003369981423020363, + "stddev_ms": 0.00015811418538407032, + "min_ms": 0.003200024366378784, + "max_ms": 0.004400033503770828, + "iterations": 50, + "ops_per_sec": 296737.5407974044, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005721971392631531, + "stddev_ms": 0.0014161138681725517, + "min_ms": 0.0032996758818626404, + "max_ms": 0.00670040026307106, + "iterations": 50, + "ops_per_sec": 174764.94225185225, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006229989230632782, + "stddev_ms": 0.000942030738406465, + "min_ms": 0.0033997930586338043, + "max_ms": 0.0066999346017837524, + "iterations": 50, + "ops_per_sec": 160513.9211289503, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00655394047498703, + "stddev_ms": 0.0012729666807728655, + "min_ms": 0.003600027412176132, + "max_ms": 0.012899748980998993, + "iterations": 50, + "ops_per_sec": 152579.96373578277, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0007180403918027878, + "stddev_ms": 3.8793085777088014e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1392679.3136097745, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.000774012878537178, + "stddev_ms": 5.273038468849003e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1291968.167105849, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0007060263305902481, + "stddev_ms": 4.239075445845627e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1416377.770449419, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0008640065789222717, + "stddev_ms": 4.848796514443701e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1157398.594403484, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005599856376647949, + "stddev_ms": 5.346558740200252e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1785760.0851516763, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0007019843906164169, + "stddev_ms": 3.1911824590983446e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1424533.0998341625, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0007159821689128876, + "stddev_ms": 3.7043737536030124e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1396682.8273368194, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005500204861164093, + "stddev_ms": 5.0463710719592595e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1818114.0980053507, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005420204252004623, + "stddev_ms": 4.9891437263681014e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1844948.9235210228, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0007220078259706497, + "stddev_ms": 0.00016573628599534913, + "min_ms": 0.0005997717380523682, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 1385026.538535956, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0007699988782405853, + "stddev_ms": 5.0508659679744016e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1298703.1906915987, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005019735544919968, + "stddev_ms": 2.466462117726161e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1992136.818864914, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0006540119647979736, + "stddev_ms": 5.032477859750205e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1529024.0145819094, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0006659887731075287, + "stddev_ms": 4.785074062341892e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1501526.8130331421, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (float32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.012089991942048073, + "stddev_ms": 0.0012487086279325621, + "min_ms": 0.011699739843606949, + "max_ms": 0.02059992402791977, + "iterations": 50, + "ops_per_sec": 82713.041066808, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (float32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.014328034594655037, + "stddev_ms": 0.00020897381477051749, + "min_ms": 0.013899989426136017, + "max_ms": 0.014799647033214569, + "iterations": 50, + "ops_per_sec": 69793.24298763505, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005120318382978439, + "stddev_ms": 3.8499785719911285e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1953003.5540842868, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005359947681427002, + "stddev_ms": 6.313768796748551e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1865689.8526549903, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0006500352174043655, + "stddev_ms": 5.8031767483059826e-05, + "min_ms": 0.000500120222568512, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1538378.1881742768, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0007980130612850189, + "stddev_ms": 5.1473622325520936e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1253112.3217328384, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005200132727622986, + "stddev_ms": 8.807796541555315e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1923027.8386703918, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0006220117211341858, + "stddev_ms": 5.063391644339609e-05, + "min_ms": 0.000500120222568512, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1607686.7461220578, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0006759632378816605, + "stddev_ms": 6.565172974777242e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1479370.3917003071, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005159992724657059, + "stddev_ms": 5.482905153972139e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1937987.2285894775, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005260203033685684, + "stddev_ms": 4.4289049387309254e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1901067.3040491492, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0008500088006258011, + "stddev_ms": 0.0011766345053812349, + "min_ms": 0.0005997717380523682, + "max_ms": 0.008899718523025513, + "iterations": 50, + "ops_per_sec": 1176458.4075644524, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0008020084351301193, + "stddev_ms": 5.887136916684955e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1246869.6789177263, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0007479824125766754, + "stddev_ms": 5.439112271045758e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1336929.8304156186, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0008920114487409592, + "stddev_ms": 3.959144817307614e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1121061.8444544212, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0009079836308956146, + "stddev_ms": 3.406728523057815e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1101341.4404989025, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (float64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.010049967095255852, + "stddev_ms": 0.00023922965686715313, + "min_ms": 0.009799841791391373, + "max_ms": 0.01109996810555458, + "iterations": 50, + "ops_per_sec": 99502.81334473782, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (float64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.011198027059435844, + "stddev_ms": 0.00014916747617051796, + "min_ms": 0.01090019941329956, + "max_ms": 0.011500436812639236, + "iterations": 50, + "ops_per_sec": 89301.44521818828, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0010460242629051208, + "stddev_ms": 5.428308193142026e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 956000.7692581645, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.000809989869594574, + "stddev_ms": 4.624888879886842e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1234583.3417651658, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0009460281580686569, + "stddev_ms": 5.428337948923878e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1057050.988885498, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0011019781231880188, + "stddev_ms": 3.775734826619701e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 907459.0311348501, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0008680112659931183, + "stddev_ms": 0.0001856531617865375, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 1152058.7798545095, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0009359978139400482, + "stddev_ms": 4.8455993161107814e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1068378.5636106743, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0009799934923648834, + "stddev_ms": 4.517000113669738e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1020414.9392735636, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0009400118142366409, + "stddev_ms": 4.946493463019735e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1063816.4168309672, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0008039921522140503, + "stddev_ms": 1.977405871246358e-05, + "min_ms": 0.0007995404303073883, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1243793.2351033268, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0009480398148298264, + "stddev_ms": 5.043633342609107e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1054808.020040277, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0011121202260255814, + "stddev_ms": 3.8522735472686586e-05, + "min_ms": 0.0010998919606208801, + "max_ms": 0.001300126314163208, + "iterations": 50, + "ops_per_sec": 899183.3585957978, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.03047402948141098, + "stddev_ms": 0.008745985365344303, + "min_ms": 0.028399750590324402, + "max_ms": 0.09070010855793953, + "iterations": 50, + "ops_per_sec": 32814.8268219664, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.028683962300419807, + "stddev_ms": 0.0006750600916435253, + "min_ms": 0.028299633413553238, + "max_ms": 0.032300129532814026, + "iterations": 50, + "ops_per_sec": 34862.687013968236, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02476802095770836, + "stddev_ms": 0.0028520234961461246, + "min_ms": 0.02349959686398506, + "max_ms": 0.0383998267352581, + "iterations": 50, + "ops_per_sec": 40374.6428391477, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02477203495800495, + "stddev_ms": 0.002930330312824413, + "min_ms": 0.023600179702043533, + "max_ms": 0.037999823689460754, + "iterations": 50, + "ops_per_sec": 40368.10063021711, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02884797751903534, + "stddev_ms": 0.0009247793339172167, + "min_ms": 0.028399750590324402, + "max_ms": 0.0350000336766243, + "iterations": 50, + "ops_per_sec": 34664.475155672524, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.03735799342393875, + "stddev_ms": 0.0020329327919192185, + "min_ms": 0.027399975806474686, + "max_ms": 0.03969995304942131, + "iterations": 50, + "ops_per_sec": 26768.032978966337, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02432997338473797, + "stddev_ms": 0.001280962210597065, + "min_ms": 0.02349959686398506, + "max_ms": 0.02950010821223259, + "iterations": 50, + "ops_per_sec": 41101.565718411075, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.029499949887394905, + "stddev_ms": 0.006295461135078083, + "min_ms": 0.02729985862970352, + "max_ms": 0.06730016320943832, + "iterations": 50, + "ops_per_sec": 33898.362668991926, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02897997386753559, + "stddev_ms": 0.0018478512765333444, + "min_ms": 0.02819998189806938, + "max_ms": 0.03679981455206871, + "iterations": 50, + "ops_per_sec": 34506.58736170345, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.023815985769033432, + "stddev_ms": 0.004454795496596403, + "min_ms": 0.02150004729628563, + "max_ms": 0.04249997437000275, + "iterations": 50, + "ops_per_sec": 41988.60419627236, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02286406233906746, + "stddev_ms": 0.0025657056662394405, + "min_ms": 0.021900050342082977, + "max_ms": 0.039200298488140106, + "iterations": 50, + "ops_per_sec": 43736.75968733325, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.028876010328531265, + "stddev_ms": 0.0006637942079566263, + "min_ms": 0.028300099074840546, + "max_ms": 0.03260001540184021, + "iterations": 50, + "ops_per_sec": 34630.82290879841, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.02930796705186367, + "stddev_ms": 0.0007721998323093649, + "min_ms": 0.028300099074840546, + "max_ms": 0.03260001540184021, + "iterations": 50, + "ops_per_sec": 34120.41504722556, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.0250999815762043, + "stddev_ms": 0.0028480651618393096, + "min_ms": 0.02349959686398506, + "max_ms": 0.03860006108880043, + "iterations": 50, + "ops_per_sec": 39840.66669387664, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.03692798316478729, + "stddev_ms": 0.003669027230406262, + "min_ms": 0.0241999514400959, + "max_ms": 0.03979960456490517, + "iterations": 50, + "ops_per_sec": 27079.735049098235, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.035504018887877464, + "stddev_ms": 0.009049104451005463, + "min_ms": 0.028499867767095566, + "max_ms": 0.06469991058111191, + "iterations": 50, + "ops_per_sec": 28165.82548465918, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.03192798234522343, + "stddev_ms": 0.009523554517266218, + "min_ms": 0.02619996666908264, + "max_ms": 0.08069956675171852, + "iterations": 50, + "ops_per_sec": 31320.488378734168, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.025408025830984116, + "stddev_ms": 0.0022691224303261963, + "min_ms": 0.02440018579363823, + "max_ms": 0.04060007631778717, + "iterations": 50, + "ops_per_sec": 39357.64260679152, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.028192009776830673, + "stddev_ms": 0.0014124699644452296, + "min_ms": 0.027199741452932358, + "max_ms": 0.03550015389919281, + "iterations": 50, + "ops_per_sec": 35471.04331745231, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.02799597568809986, + "stddev_ms": 0.0016632957059287813, + "min_ms": 0.027200207114219666, + "max_ms": 0.039400067180395126, + "iterations": 50, + "ops_per_sec": 35719.41950303472, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.02227199263870716, + "stddev_ms": 0.0015933834386268261, + "min_ms": 0.02169981598854065, + "max_ms": 0.03310013562440872, + "iterations": 50, + "ops_per_sec": 44899.440127421294, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.02263394184410572, + "stddev_ms": 0.0016430957052921546, + "min_ms": 0.022299587726593018, + "max_ms": 0.033999793231487274, + "iterations": 50, + "ops_per_sec": 44181.43365780617, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.030624037608504295, + "stddev_ms": 0.004478106416295469, + "min_ms": 0.028299633413553238, + "max_ms": 0.05630031228065491, + "iterations": 50, + "ops_per_sec": 32654.08738011411, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.03119402565062046, + "stddev_ms": 0.004540344465482365, + "min_ms": 0.028300099074840546, + "max_ms": 0.05040038377046585, + "iterations": 50, + "ops_per_sec": 32057.420584319792, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.02493998035788536, + "stddev_ms": 0.002514625739100748, + "min_ms": 0.02369983121752739, + "max_ms": 0.03969995304942131, + "iterations": 50, + "ops_per_sec": 40096.262533094836, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.025560026988387108, + "stddev_ms": 0.0010757080323687874, + "min_ms": 0.0241999514400959, + "max_ms": 0.031100120395421982, + "iterations": 50, + "ops_per_sec": 39123.58936296656, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.029271990060806274, + "stddev_ms": 0.0006618108630761758, + "min_ms": 0.028399750590324402, + "max_ms": 0.03150012344121933, + "iterations": 50, + "ops_per_sec": 34162.35103669804, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.0239420123398304, + "stddev_ms": 0.0007042572127034697, + "min_ms": 0.02329982817173004, + "max_ms": 0.027200207114219666, + "iterations": 50, + "ops_per_sec": 41767.583518298525, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.024261996150016785, + "stddev_ms": 0.0008806040396301325, + "min_ms": 0.02369983121752739, + "max_ms": 0.028499867767095566, + "iterations": 50, + "ops_per_sec": 41216.72404103931, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.02815200947225094, + "stddev_ms": 0.0007352051587554473, + "min_ms": 0.02730032429099083, + "max_ms": 0.031200237572193146, + "iterations": 50, + "ops_per_sec": 35521.44300696143, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.028695985674858093, + "stddev_ms": 0.0012779243802116939, + "min_ms": 0.028299633413553238, + "max_ms": 0.035800039768218994, + "iterations": 50, + "ops_per_sec": 34848.07984400923, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.023338021710515022, + "stddev_ms": 0.00540747602249095, + "min_ms": 0.02150004729628563, + "max_ms": 0.05979975685477257, + "iterations": 50, + "ops_per_sec": 42848.53328204107, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.023304009810090065, + "stddev_ms": 0.0011790931670052024, + "min_ms": 0.022300053387880325, + "max_ms": 0.028500333428382874, + "iterations": 50, + "ops_per_sec": 42911.07016128291, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.03048395738005638, + "stddev_ms": 0.004478680490795597, + "min_ms": 0.028499867767095566, + "max_ms": 0.05810009315609932, + "iterations": 50, + "ops_per_sec": 32804.1398146762, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.029395995661616325, + "stddev_ms": 0.001451630354251474, + "min_ms": 0.028500333428382874, + "max_ms": 0.03769993782043457, + "iterations": 50, + "ops_per_sec": 34018.23879385535, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.0245059747248888, + "stddev_ms": 0.000652909876720114, + "min_ms": 0.024099834263324738, + "max_ms": 0.028300099074840546, + "iterations": 50, + "ops_per_sec": 40806.37522997109, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.02501199021935463, + "stddev_ms": 0.000940584454651788, + "min_ms": 0.024299602955579758, + "max_ms": 0.02969987690448761, + "iterations": 50, + "ops_per_sec": 39980.82484560489, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.029938044026494026, + "stddev_ms": 0.0021136208126965343, + "min_ms": 0.028700102120637894, + "max_ms": 0.0371001660823822, + "iterations": 50, + "ops_per_sec": 33402.315766355285, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.02439999021589756, + "stddev_ms": 0.000836921665959343, + "min_ms": 0.023900065571069717, + "max_ms": 0.02800021320581436, + "iterations": 50, + "ops_per_sec": 40983.62299131007, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.03127399832010269, + "stddev_ms": 0.02441987655697548, + "min_ms": 0.0241999514400959, + "max_ms": 0.1946999691426754, + "iterations": 50, + "ops_per_sec": 31975.444577459337, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.030758008360862732, + "stddev_ms": 0.005522058329588446, + "min_ms": 0.02840021625161171, + "max_ms": 0.05379971116781235, + "iterations": 50, + "ops_per_sec": 32511.85799378432, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.03473399206995964, + "stddev_ms": 0.01100120502362961, + "min_ms": 0.027200207114219666, + "max_ms": 0.06770016625523567, + "iterations": 50, + "ops_per_sec": 28790.240925541904, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.026150019839406013, + "stddev_ms": 0.016511813612669377, + "min_ms": 0.02150004729628563, + "max_ms": 0.11820020154118538, + "iterations": 50, + "ops_per_sec": 38240.8887695404, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.02285200171172619, + "stddev_ms": 0.0038216827450926476, + "min_ms": 0.021599698811769485, + "max_ms": 0.03769993782043457, + "iterations": 50, + "ops_per_sec": 43759.842687516684, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.029620015993714333, + "stddev_ms": 0.0009398291295825088, + "min_ms": 0.028800219297409058, + "max_ms": 0.03590015694499016, + "iterations": 50, + "ops_per_sec": 33760.95408632494, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.02990596927702427, + "stddev_ms": 0.0006158726930162362, + "min_ms": 0.02910010516643524, + "max_ms": 0.03349967300891876, + "iterations": 50, + "ops_per_sec": 33438.140417280025, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.024486016482114792, + "stddev_ms": 0.0007371168551261145, + "min_ms": 0.023999717086553574, + "max_ms": 0.02890033647418022, + "iterations": 50, + "ops_per_sec": 40839.6359910329, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.025028018280863762, + "stddev_ms": 0.003045807688660727, + "min_ms": 0.02369983121752739, + "max_ms": 0.0412999652326107, + "iterations": 50, + "ops_per_sec": 39955.220935913756, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.02871398814022541, + "stddev_ms": 0.0006611593674585903, + "min_ms": 0.028299633413553238, + "max_ms": 0.032300129532814026, + "iterations": 50, + "ops_per_sec": 34826.23156060654, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.02368999645113945, + "stddev_ms": 0.0004413571376650088, + "min_ms": 0.02310005947947502, + "max_ms": 0.02490030601620674, + "iterations": 50, + "ops_per_sec": 42211.910080379166, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.024010008201003075, + "stddev_ms": 0.0006111934589621998, + "min_ms": 0.02350006252527237, + "max_ms": 0.027199741452932358, + "iterations": 50, + "ops_per_sec": 41649.29856034879, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.02869398333132267, + "stddev_ms": 0.0019849209975977187, + "min_ms": 0.027499627321958542, + "max_ms": 0.03900006413459778, + "iterations": 50, + "ops_per_sec": 34850.511636994954, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.029967976734042168, + "stddev_ms": 0.0015618962608606516, + "min_ms": 0.028399750590324402, + "max_ms": 0.03590015694499016, + "iterations": 50, + "ops_per_sec": 33368.952761634006, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.02312193624675274, + "stddev_ms": 0.0006676760614934264, + "min_ms": 0.022100284695625305, + "max_ms": 0.02659996971487999, + "iterations": 50, + "ops_per_sec": 43248.973153813655, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.023001981899142265, + "stddev_ms": 0.0007725945370109455, + "min_ms": 0.021600164473056793, + "max_ms": 0.025599729269742966, + "iterations": 50, + "ops_per_sec": 43474.51469115753, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.09087800979614258, + "stddev_ms": 0.015449693193882707, + "min_ms": 0.08240016177296638, + "max_ms": 0.16620010137557983, + "iterations": 50, + "ops_per_sec": 11003.762100899861, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.062242019921541214, + "stddev_ms": 0.0014143404606076528, + "min_ms": 0.05989987403154373, + "max_ms": 0.06719958037137985, + "iterations": 50, + "ops_per_sec": 16066.31663401258, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.06375000812113285, + "stddev_ms": 0.0015737842306101522, + "min_ms": 0.05989987403154373, + "max_ms": 0.06739981472492218, + "iterations": 50, + "ops_per_sec": 15686.27251152466, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (int32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.3783699870109558, + "stddev_ms": 0.030361226175075962, + "min_ms": 0.3602001816034317, + "max_ms": 0.5650999955832958, + "iterations": 50, + "ops_per_sec": 2642.9157552896622, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (int32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.3957439959049225, + "stddev_ms": 0.007903868831266222, + "min_ms": 0.38639968261122704, + "max_ms": 0.4344000481069088, + "iterations": 50, + "ops_per_sec": 2526.8860939086744, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.029151979833841324, + "stddev_ms": 0.0024706071339051254, + "min_ms": 0.028300099074840546, + "max_ms": 0.045000109821558, + "iterations": 50, + "ops_per_sec": 34302.98750547095, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.03243405371904373, + "stddev_ms": 0.010440334402285466, + "min_ms": 0.028399750590324402, + "max_ms": 0.08510006591677666, + "iterations": 50, + "ops_per_sec": 30831.792062206754, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.02469399943947792, + "stddev_ms": 0.0032997130122987333, + "min_ms": 0.023099593818187714, + "max_ms": 0.04480034112930298, + "iterations": 50, + "ops_per_sec": 40495.66788283453, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.02337602898478508, + "stddev_ms": 0.00011347874483344142, + "min_ms": 0.023200176656246185, + "max_ms": 0.023600179702043533, + "iterations": 50, + "ops_per_sec": 42778.86550580841, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.029397988691926003, + "stddev_ms": 0.0008631781686632873, + "min_ms": 0.028500333428382874, + "max_ms": 0.032899901270866394, + "iterations": 50, + "ops_per_sec": 34015.932534685424, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.023320000618696213, + "stddev_ms": 0.000622716530063449, + "min_ms": 0.023099593818187714, + "max_ms": 0.02659996971487999, + "iterations": 50, + "ops_per_sec": 42881.645517550955, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.023896032944321632, + "stddev_ms": 0.0010694262186664466, + "min_ms": 0.02349959686398506, + "max_ms": 0.028700102120637894, + "iterations": 50, + "ops_per_sec": 41847.95034096352, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.02778993919491768, + "stddev_ms": 0.0011362771106647206, + "min_ms": 0.027499627321958542, + "max_ms": 0.0350000336766243, + "iterations": 50, + "ops_per_sec": 35984.245700792446, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.02846800722181797, + "stddev_ms": 0.002077856388805823, + "min_ms": 0.027399975806474686, + "max_ms": 0.037599820643663406, + "iterations": 50, + "ops_per_sec": 35127.151409235164, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.022716037929058075, + "stddev_ms": 0.0023399269080842822, + "min_ms": 0.02189958468079567, + "max_ms": 0.03700004890561104, + "iterations": 50, + "ops_per_sec": 44021.76132664457, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.02246401272714138, + "stddev_ms": 0.0009793268706615602, + "min_ms": 0.021600164473056793, + "max_ms": 0.02819998189806938, + "iterations": 50, + "ops_per_sec": 44515.64429500986, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.035123927518725395, + "stddev_ms": 0.0011477446982977259, + "min_ms": 0.0342000275850296, + "max_ms": 0.04069972783327103, + "iterations": 50, + "ops_per_sec": 28470.620190947506, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03590402193367481, + "stddev_ms": 0.002004709814379598, + "min_ms": 0.034499913454055786, + "max_ms": 0.04340009763836861, + "iterations": 50, + "ops_per_sec": 27852.03289612766, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.023615974932909012, + "stddev_ms": 0.0005740547449048466, + "min_ms": 0.02310005947947502, + "max_ms": 0.02619996666908264, + "iterations": 50, + "ops_per_sec": 42344.21838780383, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.023306040093302727, + "stddev_ms": 0.00039561147483510627, + "min_ms": 0.02310005947947502, + "max_ms": 0.02600019797682762, + "iterations": 50, + "ops_per_sec": 42907.33200477769, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.035164011642336845, + "stddev_ms": 0.0011957495107475422, + "min_ms": 0.0342000275850296, + "max_ms": 0.03990018740296364, + "iterations": 50, + "ops_per_sec": 28438.165991164038, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.024130018427968025, + "stddev_ms": 0.0011272470130687035, + "min_ms": 0.023199710994958878, + "max_ms": 0.03169989213347435, + "iterations": 50, + "ops_per_sec": 41442.1564983533, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.024985987693071365, + "stddev_ms": 0.0027763466644633705, + "min_ms": 0.023900065571069717, + "max_ms": 0.04269974306225777, + "iterations": 50, + "ops_per_sec": 40022.43226419666, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.038576023653149605, + "stddev_ms": 0.013619646002980716, + "min_ms": 0.032300129532814026, + "max_ms": 0.1113000325858593, + "iterations": 50, + "ops_per_sec": 25922.83769295007, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.028905970975756645, + "stddev_ms": 0.0009287397201517189, + "min_ms": 0.027999747544527054, + "max_ms": 0.03439979627728462, + "iterations": 50, + "ops_per_sec": 34594.92853011916, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.02261602319777012, + "stddev_ms": 0.0009269767494473448, + "min_ms": 0.021700281649827957, + "max_ms": 0.025799963623285294, + "iterations": 50, + "ops_per_sec": 44216.4385513452, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.021563991904258728, + "stddev_ms": 8.020275838160994e-05, + "min_ms": 0.021399930119514465, + "max_ms": 0.021900050342082977, + "iterations": 50, + "ops_per_sec": 46373.60301561361, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.07845593616366386, + "stddev_ms": 0.000989760590239011, + "min_ms": 0.0775996595621109, + "max_ms": 0.08329981938004494, + "iterations": 50, + "ops_per_sec": 12746.008127593292, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.05746999755501747, + "stddev_ms": 0.0019042792394117307, + "min_ms": 0.056599732488393784, + "max_ms": 0.06770016625523567, + "iterations": 50, + "ops_per_sec": 17400.3835486973, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.0626780092716217, + "stddev_ms": 0.007919333903568956, + "min_ms": 0.05740020424127579, + "max_ms": 0.09490037336945534, + "iterations": 50, + "ops_per_sec": 15954.559049034175, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (int64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.3756219893693924, + "stddev_ms": 0.027277856113365535, + "min_ms": 0.3591999411582947, + "max_ms": 0.5065998993813992, + "iterations": 50, + "ops_per_sec": 2662.2509552191973, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (int64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.41546992026269436, + "stddev_ms": 0.024851583742308725, + "min_ms": 0.3892001695930958, + "max_ms": 0.47029973939061165, + "iterations": 50, + "ops_per_sec": 2406.913115076339, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.0528779998421669, + "stddev_ms": 0.005679332809705634, + "min_ms": 0.0462997704744339, + "max_ms": 0.07280008867383003, + "iterations": 50, + "ops_per_sec": 18911.456616832213, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.040486035868525505, + "stddev_ms": 0.0014726331199414267, + "min_ms": 0.038700178265571594, + "max_ms": 0.04569999873638153, + "iterations": 50, + "ops_per_sec": 24699.874377610184, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.023520030081272125, + "stddev_ms": 0.0006536860125538568, + "min_ms": 0.023099593818187714, + "max_ms": 0.02659996971487999, + "iterations": 50, + "ops_per_sec": 42516.95242499933, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.0236359890550375, + "stddev_ms": 0.0010754670870619508, + "min_ms": 0.023199710994958878, + "max_ms": 0.02800021320581436, + "iterations": 50, + "ops_per_sec": 42308.36279672721, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.038523972034454346, + "stddev_ms": 0.006052505854751197, + "min_ms": 0.036300159990787506, + "max_ms": 0.07700035348534584, + "iterations": 50, + "ops_per_sec": 25957.863304065293, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.024056024849414825, + "stddev_ms": 0.000324613721152579, + "min_ms": 0.02330029383301735, + "max_ms": 0.02550007775425911, + "iterations": 50, + "ops_per_sec": 41569.62782753051, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.024550044909119606, + "stddev_ms": 0.003214734567806581, + "min_ms": 0.02350006252527237, + "max_ms": 0.04429975524544716, + "iterations": 50, + "ops_per_sec": 40733.12304323036, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.036144014447927475, + "stddev_ms": 0.0020211555716354544, + "min_ms": 0.03439979627728462, + "max_ms": 0.04280032590031624, + "iterations": 50, + "ops_per_sec": 27667.098280980816, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.029326071962714195, + "stddev_ms": 0.0034567339900466168, + "min_ms": 0.027599744498729706, + "max_ms": 0.047099776566028595, + "iterations": 50, + "ops_per_sec": 34099.35027341615, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.02223202958703041, + "stddev_ms": 0.0019873824296438116, + "min_ms": 0.021399930119514465, + "max_ms": 0.034300144761800766, + "iterations": 50, + "ops_per_sec": 44980.1488472008, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.022169984877109528, + "stddev_ms": 0.001037700546278148, + "min_ms": 0.021599698811769485, + "max_ms": 0.02619996666908264, + "iterations": 50, + "ops_per_sec": 45106.02986619528, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.2982479613274336, + "stddev_ms": 0.035722544551776, + "min_ms": 0.2748998813331127, + "max_ms": 0.46479981392621994, + "iterations": 50, + "ops_per_sec": 3352.9147879141515, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.29945201240479946, + "stddev_ms": 0.015589144910361886, + "min_ms": 0.2752002328634262, + "max_ms": 0.3586001694202423, + "iterations": 50, + "ops_per_sec": 3339.4332266106103, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.3631540387868881, + "stddev_ms": 0.12711575904539765, + "min_ms": 0.2747001126408577, + "max_ms": 0.6968998350203037, + "iterations": 50, + "ops_per_sec": 2753.6524262279677, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.3642220050096512, + "stddev_ms": 0.09907346516869829, + "min_ms": 0.27820002287626266, + "max_ms": 0.6110998801887035, + "iterations": 50, + "ops_per_sec": 2745.578208470688, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.3041980415582657, + "stddev_ms": 0.027349488630546266, + "min_ms": 0.27609989047050476, + "max_ms": 0.4290998913347721, + "iterations": 50, + "ops_per_sec": 3287.332143486076, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.29495997354388237, + "stddev_ms": 0.013024010010225353, + "min_ms": 0.27720024809241295, + "max_ms": 0.32720016315579414, + "iterations": 50, + "ops_per_sec": 3390.2905129303113, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.3007720038294792, + "stddev_ms": 0.021654969135641997, + "min_ms": 0.27540000155568123, + "max_ms": 0.39160018786787987, + "iterations": 50, + "ops_per_sec": 3324.7775300487865, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.31859402544796467, + "stddev_ms": 0.06437435733813594, + "min_ms": 0.273900106549263, + "max_ms": 0.5115000531077385, + "iterations": 50, + "ops_per_sec": 3138.790812520519, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.2934339828789234, + "stddev_ms": 0.035817502512800865, + "min_ms": 0.27510011568665504, + "max_ms": 0.5169999785721302, + "iterations": 50, + "ops_per_sec": 3407.9215712810587, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.3472119942307472, + "stddev_ms": 0.09622542462319511, + "min_ms": 0.27459999546408653, + "max_ms": 0.5663996562361717, + "iterations": 50, + "ops_per_sec": 2880.0848375515175, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.34388797357678413, + "stddev_ms": 0.0843838782426627, + "min_ms": 0.27480022981762886, + "max_ms": 0.551499892026186, + "iterations": 50, + "ops_per_sec": 2907.92373341523, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006895987316966057, + "stddev_ms": 6.045502487322636e-05, + "min_ms": 0.006800051778554916, + "max_ms": 0.007200054824352264, + "iterations": 50, + "ops_per_sec": 145011.86763202425, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006788009777665138, + "stddev_ms": 7.991602110055583e-05, + "min_ms": 0.0066999346017837524, + "max_ms": 0.007000286132097244, + "iterations": 50, + "ops_per_sec": 147318.5856759282, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006191981956362724, + "stddev_ms": 6.009955950078006e-05, + "min_ms": 0.0060996972024440765, + "max_ms": 0.006300397217273712, + "iterations": 50, + "ops_per_sec": 161499.1786228358, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006451951339840889, + "stddev_ms": 0.0010936327543001755, + "min_ms": 0.0060996972024440765, + "max_ms": 0.013899989426136017, + "iterations": 50, + "ops_per_sec": 154991.86948683046, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006914036348462105, + "stddev_ms": 5.718345449751174e-05, + "min_ms": 0.006800051778554916, + "max_ms": 0.007000286132097244, + "iterations": 50, + "ops_per_sec": 144633.3154181972, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0070300232619047165, + "stddev_ms": 0.004212227630441136, + "min_ms": 0.0060996972024440765, + "max_ms": 0.03440026193857193, + "iterations": 50, + "ops_per_sec": 142247.03998049925, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0066699739545583725, + "stddev_ms": 0.0007661725551104066, + "min_ms": 0.006100162863731384, + "max_ms": 0.00890018418431282, + "iterations": 50, + "ops_per_sec": 149925.62292039883, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.007110023871064186, + "stddev_ms": 0.00046872141904366155, + "min_ms": 0.0066999346017837524, + "max_ms": 0.008600298315286636, + "iterations": 50, + "ops_per_sec": 140646.5038844273, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005915984511375427, + "stddev_ms": 5.842391448110017e-05, + "min_ms": 0.0057998113334178925, + "max_ms": 0.00600004568696022, + "iterations": 50, + "ops_per_sec": 169033.57303880207, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006753997877240181, + "stddev_ms": 0.0027465294205488247, + "min_ms": 0.00600004568696022, + "max_ms": 0.02239970490336418, + "iterations": 50, + "ops_per_sec": 148060.4551816383, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.00661998987197876, + "stddev_ms": 0.00031229233562202977, + "min_ms": 0.006299931555986404, + "max_ms": 0.007899943739175797, + "iterations": 50, + "ops_per_sec": 151057.63291766084, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.013365978375077248, + "stddev_ms": 0.0036537815293401403, + "min_ms": 0.012299977242946625, + "max_ms": 0.037800054997205734, + "iterations": 50, + "ops_per_sec": 74816.82013376897, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.012294016778469086, + "stddev_ms": 0.00027582650909800834, + "min_ms": 0.011999625712633133, + "max_ms": 0.013499986380338669, + "iterations": 50, + "ops_per_sec": 81340.38028574458, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.012671994045376778, + "stddev_ms": 0.0018042067820856493, + "min_ms": 0.01219986006617546, + "max_ms": 0.02510007470846176, + "iterations": 50, + "ops_per_sec": 78914.17849622789, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (float32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 1.5317840687930584, + "stddev_ms": 0.061545648830965624, + "min_ms": 1.4464003033936024, + "max_ms": 1.7810999415814877, + "iterations": 50, + "ops_per_sec": 652.8335294594962, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (float32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float32", + "n": 100000, + "mean_ms": 1.6322639770805836, + "stddev_ms": 0.05918935567703552, + "min_ms": 1.5707998536527157, + "max_ms": 1.9473000429570675, + "iterations": 50, + "ops_per_sec": 612.6460021427225, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.028682025149464607, + "stddev_ms": 0.0009477320916571765, + "min_ms": 0.02819998189806938, + "max_ms": 0.03479979932308197, + "iterations": 50, + "ops_per_sec": 34865.041599709584, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.028660036623477936, + "stddev_ms": 0.0009191905295576352, + "min_ms": 0.02819998189806938, + "max_ms": 0.034700147807598114, + "iterations": 50, + "ops_per_sec": 34891.79072370106, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011579999700188637, + "stddev_ms": 8.80973054001459e-05, + "min_ms": 0.011399853974580765, + "max_ms": 0.011899974197149277, + "iterations": 50, + "ops_per_sec": 86355.78807344098, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011697979643940926, + "stddev_ms": 8.687146556850764e-05, + "min_ms": 0.011599622666835785, + "max_ms": 0.011899974197149277, + "iterations": 50, + "ops_per_sec": 85484.846993896, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.03307404927909374, + "stddev_ms": 0.008750454865665891, + "min_ms": 0.027400441467761993, + "max_ms": 0.07360009476542473, + "iterations": 50, + "ops_per_sec": 30235.18504074143, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011780038475990295, + "stddev_ms": 9.03559308270702e-05, + "min_ms": 0.011600088328123093, + "max_ms": 0.01200009137392044, + "iterations": 50, + "ops_per_sec": 84889.3661967377, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.01381000503897667, + "stddev_ms": 0.005282286159109883, + "min_ms": 0.011600088328123093, + "max_ms": 0.03840029239654541, + "iterations": 50, + "ops_per_sec": 72411.26974086178, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.027396026998758316, + "stddev_ms": 0.001512363166974705, + "min_ms": 0.02659996971487999, + "max_ms": 0.03569992259144783, + "iterations": 50, + "ops_per_sec": 36501.64310486785, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011311974376440048, + "stddev_ms": 0.0004988445265983668, + "min_ms": 0.01109996810555458, + "max_ms": 0.013899989426136017, + "iterations": 50, + "ops_per_sec": 88401.89755757796, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011664042249321938, + "stddev_ms": 0.0007945760511259553, + "min_ms": 0.0112997367978096, + "max_ms": 0.016300007700920105, + "iterations": 50, + "ops_per_sec": 85733.57148617433, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011906009167432785, + "stddev_ms": 0.0004782781074343828, + "min_ms": 0.011599622666835785, + "max_ms": 0.014299992471933365, + "iterations": 50, + "ops_per_sec": 83991.20023654605, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.03819403238594532, + "stddev_ms": 0.0017851511805808977, + "min_ms": 0.037599820643663406, + "max_ms": 0.048900023102760315, + "iterations": 50, + "ops_per_sec": 26182.100645858514, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.037245992571115494, + "stddev_ms": 0.0006231020213337124, + "min_ms": 0.03700004890561104, + "max_ms": 0.041400082409381866, + "iterations": 50, + "ops_per_sec": 26848.526001573293, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.03723401576280594, + "stddev_ms": 0.0005266353939960256, + "min_ms": 0.037099700421094894, + "max_ms": 0.04069972783327103, + "iterations": 50, + "ops_per_sec": 26857.16218122588, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (float64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 1.289082020521164, + "stddev_ms": 0.024556581511096992, + "min_ms": 1.2613004073500633, + "max_ms": 1.3704998418688774, + "iterations": 50, + "ops_per_sec": 775.7458284894154, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (float64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float64", + "n": 100000, + "mean_ms": 1.4460920169949532, + "stddev_ms": 0.04407957020826961, + "min_ms": 1.4043999835848808, + "max_ms": 1.6525997780263424, + "iterations": 50, + "ops_per_sec": 691.5189270445229, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.35149398259818554, + "stddev_ms": 0.013650025831159441, + "min_ms": 0.3372998908162117, + "max_ms": 0.4072999581694603, + "iterations": 50, + "ops_per_sec": 2844.9989175011333, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.35687800496816635, + "stddev_ms": 0.01824487316688729, + "min_ms": 0.3406996838748455, + "max_ms": 0.4249000921845436, + "iterations": 50, + "ops_per_sec": 2802.0779820521593, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.3391599841415882, + "stddev_ms": 0.008614193471005383, + "min_ms": 0.3284001722931862, + "max_ms": 0.3779996186494827, + "iterations": 50, + "ops_per_sec": 2948.461041272288, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.35580603405833244, + "stddev_ms": 0.04998571087134249, + "min_ms": 0.33160019665956497, + "max_ms": 0.6191004067659378, + "iterations": 50, + "ops_per_sec": 2810.5200707081194, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.35054598934948444, + "stddev_ms": 0.01401197030389094, + "min_ms": 0.33270008862018585, + "max_ms": 0.4112999886274338, + "iterations": 50, + "ops_per_sec": 2852.6927432709213, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.35088793374598026, + "stddev_ms": 0.030647101746479864, + "min_ms": 0.32999971881508827, + "max_ms": 0.5223997868597507, + "iterations": 50, + "ops_per_sec": 2849.912760818769, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.354451984167099, + "stddev_ms": 0.02795318416485623, + "min_ms": 0.33040018752217293, + "max_ms": 0.45710010454058647, + "iterations": 50, + "ops_per_sec": 2821.2566008054023, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.35785600543022156, + "stddev_ms": 0.031530412538183325, + "min_ms": 0.33140042796730995, + "max_ms": 0.4846001975238323, + "iterations": 50, + "ops_per_sec": 2794.4200595370203, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.3484879806637764, + "stddev_ms": 0.02976747987123622, + "min_ms": 0.32319966703653336, + "max_ms": 0.44770026579499245, + "iterations": 50, + "ops_per_sec": 2869.539425994743, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.34580400213599205, + "stddev_ms": 0.018238076362908636, + "min_ms": 0.33009983599185944, + "max_ms": 0.4042000509798527, + "iterations": 50, + "ops_per_sec": 2891.811528562751, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.3633479867130518, + "stddev_ms": 0.0571128529508878, + "min_ms": 0.33089984208345413, + "max_ms": 0.6066998466849327, + "iterations": 50, + "ops_per_sec": 2752.1825813493056, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.988875994458795, + "stddev_ms": 0.2584544352936176, + "min_ms": 4.664300009608269, + "max_ms": 5.8547998778522015, + "iterations": 50, + "ops_per_sec": 200.44595237699076, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.754269989207387, + "stddev_ms": 0.22122835836159238, + "min_ms": 4.4027999974787235, + "max_ms": 5.298200063407421, + "iterations": 50, + "ops_per_sec": 210.3372341642541, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.412663942202926, + "stddev_ms": 0.21904299891850343, + "min_ms": 4.071100149303675, + "max_ms": 5.16119971871376, + "iterations": 50, + "ops_per_sec": 226.62047531785797, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.167914027348161, + "stddev_ms": 0.12550781387131635, + "min_ms": 3.8583995774388313, + "max_ms": 4.455599933862686, + "iterations": 50, + "ops_per_sec": 239.92817352719027, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 5.051326025277376, + "stddev_ms": 0.6088007739869966, + "min_ms": 4.649899899959564, + "max_ms": 7.8050000593066216, + "iterations": 50, + "ops_per_sec": 197.96781973602435, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.124123966321349, + "stddev_ms": 0.463942364129864, + "min_ms": 3.590700216591358, + "max_ms": 6.03510020300746, + "iterations": 50, + "ops_per_sec": 242.47573743327206, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.055580040439963, + "stddev_ms": 0.4885696430637728, + "min_ms": 3.4630000591278076, + "max_ms": 6.637100130319595, + "iterations": 50, + "ops_per_sec": 246.57385380847188, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.501056019216776, + "stddev_ms": 0.16887003668462716, + "min_ms": 4.196400288492441, + "max_ms": 5.095399916172028, + "iterations": 50, + "ops_per_sec": 222.17008536010377, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.808891993016005, + "stddev_ms": 0.6536502636540266, + "min_ms": 4.268099553883076, + "max_ms": 7.9169003292918205, + "iterations": 50, + "ops_per_sec": 207.9481097625625, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.0194860100746155, + "stddev_ms": 0.582654906943465, + "min_ms": 3.60920000821352, + "max_ms": 6.746399682015181, + "iterations": 50, + "ops_per_sec": 248.78802849258744, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.164341986179352, + "stddev_ms": 0.5312895816363322, + "min_ms": 3.6793998442590237, + "max_ms": 6.720199715346098, + "iterations": 50, + "ops_per_sec": 240.1339763445959, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.7376820258796215, + "stddev_ms": 0.3380795817812727, + "min_ms": 4.317600280046463, + "max_ms": 6.3805002719163895, + "iterations": 50, + "ops_per_sec": 211.07368424843477, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.836034011095762, + "stddev_ms": 0.5575562099135468, + "min_ms": 4.388600122183561, + "max_ms": 7.982300128787756, + "iterations": 50, + "ops_per_sec": 206.78101057718104, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.215203961357474, + "stddev_ms": 0.18495255725041332, + "min_ms": 3.850699868053198, + "max_ms": 4.762300290167332, + "iterations": 50, + "ops_per_sec": 237.2364443494112, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int8)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.193229991942644, + "stddev_ms": 0.17576849039921655, + "min_ms": 3.8570002652704716, + "max_ms": 4.781200084835291, + "iterations": 50, + "ops_per_sec": 238.47964502818004, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.7576559986919165, + "stddev_ms": 0.32834866371025273, + "min_ms": 4.433800000697374, + "max_ms": 6.174299865961075, + "iterations": 50, + "ops_per_sec": 210.1875377864526, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.497518036514521, + "stddev_ms": 0.842543291513311, + "min_ms": 3.5359999164938927, + "max_ms": 8.450500201433897, + "iterations": 50, + "ops_per_sec": 222.34485595859408, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int8)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.543139990419149, + "stddev_ms": 0.9513406992905941, + "min_ms": 3.7809000350534916, + "max_ms": 7.363199722021818, + "iterations": 50, + "ops_per_sec": 220.11208153586747, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 5.337334033101797, + "stddev_ms": 1.4056582750766606, + "min_ms": 4.387800116091967, + "max_ms": 9.828799869865179, + "iterations": 50, + "ops_per_sec": 187.35945582533625, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.494478013366461, + "stddev_ms": 0.23542428043825175, + "min_ms": 4.198000300675631, + "max_ms": 5.648599937558174, + "iterations": 50, + "ops_per_sec": 222.49524795227077, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.761021988466382, + "stddev_ms": 0.3283391531586836, + "min_ms": 3.3032000064849854, + "max_ms": 5.35999983549118, + "iterations": 50, + "ops_per_sec": 265.8851777699301, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int8)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.74643599614501, + "stddev_ms": 0.20555178178699424, + "min_ms": 3.4938999451696873, + "max_ms": 4.522399976849556, + "iterations": 50, + "ops_per_sec": 266.9203480398371, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.640836015343666, + "stddev_ms": 0.8368597802327936, + "min_ms": 6.93379994481802, + "max_ms": 12.786100152879953, + "iterations": 50, + "ops_per_sec": 130.87573113621158, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.832032004371285, + "stddev_ms": 1.1076916190513475, + "min_ms": 7.061099633574486, + "max_ms": 13.57269985601306, + "iterations": 50, + "ops_per_sec": 127.6807857069367, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.17817603610456, + "stddev_ms": 1.0231430094008735, + "min_ms": 6.341100204735994, + "max_ms": 11.239099781960249, + "iterations": 50, + "ops_per_sec": 139.31115578250407, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 6.892148042097688, + "stddev_ms": 0.27797940832874085, + "min_ms": 6.3586002215743065, + "max_ms": 7.894299924373627, + "iterations": 50, + "ops_per_sec": 145.09264657287324, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.836157996207476, + "stddev_ms": 0.9744775289679959, + "min_ms": 7.249199785292149, + "max_ms": 11.775499675422907, + "iterations": 50, + "ops_per_sec": 127.61355762402667, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.149514015763998, + "stddev_ms": 0.6475081092026901, + "min_ms": 6.659600418061018, + "max_ms": 9.904600214213133, + "iterations": 50, + "ops_per_sec": 139.8696467753046, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.181138005107641, + "stddev_ms": 0.6669590205037473, + "min_ms": 6.624099798500538, + "max_ms": 10.041899979114532, + "iterations": 50, + "ops_per_sec": 139.25369478886802, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.733779978007078, + "stddev_ms": 1.0845388439779668, + "min_ms": 7.000299636274576, + "max_ms": 12.14449992403388, + "iterations": 50, + "ops_per_sec": 129.3028768394948, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.286612018942833, + "stddev_ms": 0.3917350101811355, + "min_ms": 6.693399976938963, + "max_ms": 8.445600047707558, + "iterations": 50, + "ops_per_sec": 137.23799173063196, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 7.059158040210605, + "stddev_ms": 0.9481190951761901, + "min_ms": 5.896199960261583, + "max_ms": 12.217899784445763, + "iterations": 50, + "ops_per_sec": 141.6599535389019, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int16", + "n": 10000000, + "mean_ms": 6.023768028244376, + "stddev_ms": 1.1603836124735907, + "min_ms": 4.693599883466959, + "max_ms": 9.661799762398005, + "iterations": 50, + "ops_per_sec": 166.00904870691866, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 7.75785400532186, + "stddev_ms": 0.7459599976995117, + "min_ms": 6.65250001475215, + "max_ms": 11.922199744731188, + "iterations": 50, + "ops_per_sec": 128.90162657276144, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 8.107511978596449, + "stddev_ms": 1.357653870913947, + "min_ms": 7.148100063204765, + "max_ms": 15.253499615937471, + "iterations": 50, + "ops_per_sec": 123.34240179230883, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 6.979382028803229, + "stddev_ms": 0.21054879907672766, + "min_ms": 6.623100023716688, + "max_ms": 7.530999835580587, + "iterations": 50, + "ops_per_sec": 143.2791608015004, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 6.903154002502561, + "stddev_ms": 0.2258765898091022, + "min_ms": 6.255199667066336, + "max_ms": 7.621500175446272, + "iterations": 50, + "ops_per_sec": 144.86131986009232, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 8.288443991914392, + "stddev_ms": 1.3940496707453176, + "min_ms": 7.264300249516964, + "max_ms": 15.145799610763788, + "iterations": 50, + "ops_per_sec": 120.64990738617863, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 6.765134027227759, + "stddev_ms": 0.8005784388454098, + "min_ms": 4.872799851000309, + "max_ms": 9.900399949401617, + "iterations": 50, + "ops_per_sec": 147.81673149050434, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 7.170634064823389, + "stddev_ms": 1.024948135614344, + "min_ms": 5.517600104212761, + "max_ms": 10.768599808216095, + "iterations": 50, + "ops_per_sec": 139.45768128172216, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 7.743335980921984, + "stddev_ms": 1.0051413023812472, + "min_ms": 6.778900045901537, + "max_ms": 12.576899956911802, + "iterations": 50, + "ops_per_sec": 129.1433049610398, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 7.9807899706065655, + "stddev_ms": 1.300546013499676, + "min_ms": 6.773899774998426, + "max_ms": 12.486899737268686, + "iterations": 50, + "ops_per_sec": 125.3008791965486, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 7.063544010743499, + "stddev_ms": 2.222970337532882, + "min_ms": 4.751099739223719, + "max_ms": 11.873399838805199, + "iterations": 50, + "ops_per_sec": 141.5719925407163, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 6.607274021953344, + "stddev_ms": 0.3458469649315813, + "min_ms": 5.805500317364931, + "max_ms": 7.588299922645092, + "iterations": 50, + "ops_per_sec": 151.34834678831203, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 13.453320004045963, + "stddev_ms": 0.9815642795682511, + "min_ms": 12.806700076907873, + "max_ms": 18.6769999563694, + "iterations": 50, + "ops_per_sec": 74.33109445841318, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 14.432623935863376, + "stddev_ms": 2.136927365885676, + "min_ms": 12.54309993237257, + "max_ms": 24.029099848121405, + "iterations": 50, + "ops_per_sec": 69.28747014013976, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 12.620489997789264, + "stddev_ms": 0.44587537864234716, + "min_ms": 12.04200042411685, + "max_ms": 14.159699901938438, + "iterations": 50, + "ops_per_sec": 79.23622618259436, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 12.660321965813637, + "stddev_ms": 0.40611272225744394, + "min_ms": 11.86820026487112, + "max_ms": 14.155799988657236, + "iterations": 50, + "ops_per_sec": 78.98693277313768, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 13.780996045097709, + "stddev_ms": 0.8772597069674359, + "min_ms": 12.26510014384985, + "max_ms": 15.933000016957521, + "iterations": 50, + "ops_per_sec": 72.56369544897507, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 13.26449397020042, + "stddev_ms": 1.5644059248151871, + "min_ms": 10.637400206178427, + "max_ms": 19.053800031542778, + "iterations": 50, + "ops_per_sec": 75.38923099867718, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 13.36852602660656, + "stddev_ms": 1.4926451183890883, + "min_ms": 11.457100044935942, + "max_ms": 18.733300268650055, + "iterations": 50, + "ops_per_sec": 74.80256222785977, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 13.020673990249634, + "stddev_ms": 1.6703743402628086, + "min_ms": 9.575899690389633, + "max_ms": 17.164699733257294, + "iterations": 50, + "ops_per_sec": 76.80093985525153, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 12.79338600113988, + "stddev_ms": 0.5860496521645644, + "min_ms": 12.045400217175484, + "max_ms": 15.353300143033266, + "iterations": 50, + "ops_per_sec": 78.1653895154028, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 12.614131979644299, + "stddev_ms": 1.0032060901750226, + "min_ms": 10.567400138825178, + "max_ms": 16.370799858123064, + "iterations": 50, + "ops_per_sec": 79.27616435389466, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 12.31317799538374, + "stddev_ms": 1.4067896216252282, + "min_ms": 9.073299821466208, + "max_ms": 16.433099750429392, + "iterations": 50, + "ops_per_sec": 81.21380202372646, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 31.11854799091816, + "stddev_ms": 3.2984264910050562, + "min_ms": 25.489300023764372, + "max_ms": 47.20029979944229, + "iterations": 50, + "ops_per_sec": 32.13517546807925, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 26.47991799749434, + "stddev_ms": 4.420142277032458, + "min_ms": 20.452700089663267, + "max_ms": 40.89370043948293, + "iterations": 50, + "ops_per_sec": 37.76446740109335, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (int32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 22.0961020514369, + "stddev_ms": 2.1956375098352354, + "min_ms": 19.880800042301416, + "max_ms": 32.89340017363429, + "iterations": 50, + "ops_per_sec": 45.25685108043617, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (int32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 47.90912199765444, + "stddev_ms": 2.0978958758036397, + "min_ms": 44.8318999260664, + "max_ms": 58.16580029204488, + "iterations": 50, + "ops_per_sec": 20.872851730594405, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (int32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int32", + "n": 10000000, + "mean_ms": 49.02027601376176, + "stddev_ms": 2.3313591854441977, + "min_ms": 46.61969980224967, + "max_ms": 58.998999651521444, + "iterations": 50, + "ops_per_sec": 20.39972193790308, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 13.449156051501632, + "stddev_ms": 1.1312064129108585, + "min_ms": 9.932300075888634, + "max_ms": 16.09749998897314, + "iterations": 50, + "ops_per_sec": 74.35410788384357, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 10.463944002985954, + "stddev_ms": 0.6733023974484578, + "min_ms": 9.414699859917164, + "max_ms": 12.012599967420101, + "iterations": 50, + "ops_per_sec": 95.56626064843653, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 10.892666028812528, + "stddev_ms": 2.29955427218013, + "min_ms": 8.86770011857152, + "max_ms": 19.45200003683567, + "iterations": 50, + "ops_per_sec": 91.80488939575207, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 10.091634020209312, + "stddev_ms": 0.9119056303042206, + "min_ms": 8.627499919384718, + "max_ms": 11.972700245678425, + "iterations": 50, + "ops_per_sec": 99.09198034702995, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 10.854041958227754, + "stddev_ms": 1.7706408845672055, + "min_ms": 9.445599745959044, + "max_ms": 19.20490013435483, + "iterations": 50, + "ops_per_sec": 92.13157677559595, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 10.243362011387944, + "stddev_ms": 1.1948502579279319, + "min_ms": 8.402800187468529, + "max_ms": 13.89480009675026, + "iterations": 50, + "ops_per_sec": 97.62419788427482, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 9.980837991461158, + "stddev_ms": 0.6858203845292201, + "min_ms": 8.713299874216318, + "max_ms": 11.555899865925312, + "iterations": 50, + "ops_per_sec": 100.19198797290603, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 9.808458033949137, + "stddev_ms": 0.9560461420772458, + "min_ms": 8.525799959897995, + "max_ms": 11.874000076204538, + "iterations": 50, + "ops_per_sec": 101.95282444384118, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 7.991369981318712, + "stddev_ms": 0.216212570565599, + "min_ms": 7.6256999745965, + "max_ms": 8.57010018080473, + "iterations": 50, + "ops_per_sec": 125.13498966230856, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 7.816546019166708, + "stddev_ms": 0.3463741219416034, + "min_ms": 7.31080025434494, + "max_ms": 9.194400161504745, + "iterations": 50, + "ops_per_sec": 127.93374433514896, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 7.892962023615837, + "stddev_ms": 0.3698660789925211, + "min_ms": 7.287800312042236, + "max_ms": 8.650199975818396, + "iterations": 50, + "ops_per_sec": 126.69514904645277, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 16.99824597686529, + "stddev_ms": 0.6099742527819451, + "min_ms": 15.99909970536828, + "max_ms": 19.03550000861287, + "iterations": 50, + "ops_per_sec": 58.82959932224805, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 17.01709197834134, + "stddev_ms": 0.8584194523891431, + "min_ms": 15.66150039434433, + "max_ms": 20.054600201547146, + "iterations": 50, + "ops_per_sec": 58.76444702025229, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 14.846567967906594, + "stddev_ms": 0.46572433844769806, + "min_ms": 13.905699830502272, + "max_ms": 15.995599795132875, + "iterations": 50, + "ops_per_sec": 67.35563412107577, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (int64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.314197968691587, + "stddev_ms": 0.6236210084018543, + "min_ms": 14.30749986320734, + "max_ms": 17.236899584531784, + "iterations": 50, + "ops_per_sec": 65.29888160283707, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 16.859443951398134, + "stddev_ms": 0.5788338169508754, + "min_ms": 15.850499738007784, + "max_ms": 18.554599955677986, + "iterations": 50, + "ops_per_sec": 59.31393721422652, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.101490011438727, + "stddev_ms": 0.4811206709344149, + "min_ms": 14.26090020686388, + "max_ms": 16.198799945414066, + "iterations": 50, + "ops_per_sec": 66.21863135641206, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (int64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.595374014228582, + "stddev_ms": 0.7822554466230724, + "min_ms": 14.302399940788746, + "max_ms": 17.70870015025139, + "iterations": 50, + "ops_per_sec": 64.12157855833665, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 17.05332993529737, + "stddev_ms": 0.6699654559189949, + "min_ms": 16.011400148272514, + "max_ms": 19.041200168430805, + "iterations": 50, + "ops_per_sec": 58.639573842418734, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.696707963943481, + "stddev_ms": 1.0602191729223094, + "min_ms": 14.423399697989225, + "max_ms": 20.551499910652637, + "iterations": 50, + "ops_per_sec": 63.7076259746359, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.434115994721651, + "stddev_ms": 0.5747116536238487, + "min_ms": 14.43079998716712, + "max_ms": 17.12490012869239, + "iterations": 50, + "ops_per_sec": 64.79153068060343, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (int64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 16.453014016151428, + "stddev_ms": 1.0007987399733846, + "min_ms": 14.631999656558037, + "max_ms": 18.565299920737743, + "iterations": 50, + "ops_per_sec": 60.77913742845719, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 24.753505988046527, + "stddev_ms": 0.6966986549957604, + "min_ms": 23.497299756854773, + "max_ms": 26.796099729835987, + "iterations": 50, + "ops_per_sec": 40.39831773660266, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 20.521146012470126, + "stddev_ms": 0.8701193919345078, + "min_ms": 18.999400082975626, + "max_ms": 22.933099884539843, + "iterations": 50, + "ops_per_sec": 48.73022195701585, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (int64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 19.643523981794715, + "stddev_ms": 0.7403574571921454, + "min_ms": 18.172299955040216, + "max_ms": 21.038400009274483, + "iterations": 50, + "ops_per_sec": 50.90736269758843, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (int64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 49.52151795849204, + "stddev_ms": 0.7331565596695756, + "min_ms": 48.370299860835075, + "max_ms": 51.72619968652725, + "iterations": 50, + "ops_per_sec": 20.193242073843138, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (int64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "int64", + "n": 10000000, + "mean_ms": 50.71352601982653, + "stddev_ms": 0.8120748364205479, + "min_ms": 49.22330006957054, + "max_ms": 53.13819972798228, + "iterations": 50, + "ops_per_sec": 19.718605241707085, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 17.219383977353573, + "stddev_ms": 0.5623968965548637, + "min_ms": 16.222700010985136, + "max_ms": 18.775399774312973, + "iterations": 50, + "ops_per_sec": 58.0740868149041, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 16.798791997134686, + "stddev_ms": 0.5119040705931344, + "min_ms": 15.8890001475811, + "max_ms": 18.28820025548339, + "iterations": 50, + "ops_per_sec": 59.52808988709228, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.057858023792505, + "stddev_ms": 0.5148751769737852, + "min_ms": 14.254699926823378, + "max_ms": 16.72509964555502, + "iterations": 50, + "ops_per_sec": 66.41050795006352, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (uint64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.216146009042859, + "stddev_ms": 0.5841485915593456, + "min_ms": 14.333599712699652, + "max_ms": 16.524699982255697, + "iterations": 50, + "ops_per_sec": 65.71966379697633, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 16.781131951138377, + "stddev_ms": 0.6151475706515311, + "min_ms": 15.737699810415506, + "max_ms": 18.248800188302994, + "iterations": 50, + "ops_per_sec": 59.59073576870142, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.18147001042962, + "stddev_ms": 0.45453238804355106, + "min_ms": 14.246500097215176, + "max_ms": 16.34400011971593, + "iterations": 50, + "ops_per_sec": 65.86977409387913, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (uint64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 14.828798016533256, + "stddev_ms": 0.48302678053555703, + "min_ms": 14.059499837458134, + "max_ms": 16.301600262522697, + "iterations": 50, + "ops_per_sec": 67.43634911508389, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 16.95826197974384, + "stddev_ms": 0.5311486934890254, + "min_ms": 16.138600185513496, + "max_ms": 17.964699771255255, + "iterations": 50, + "ops_per_sec": 58.9683070820861, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.175716001540422, + "stddev_ms": 0.5903928866661423, + "min_ms": 14.075400307774544, + "max_ms": 16.603699885308743, + "iterations": 50, + "ops_per_sec": 65.89474920975684, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.107936039566994, + "stddev_ms": 0.48566473002124355, + "min_ms": 14.336100313812494, + "max_ms": 16.737299971282482, + "iterations": 50, + "ops_per_sec": 66.19037818144356, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (uint64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.06211799569428, + "stddev_ms": 0.45331061724731336, + "min_ms": 14.330000150948763, + "max_ms": 15.99479978904128, + "iterations": 50, + "ops_per_sec": 66.39172527302364, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.307481955736876, + "stddev_ms": 0.5492128296425184, + "min_ms": 30.333499889820814, + "max_ms": 32.7736996114254, + "iterations": 50, + "ops_per_sec": 31.941246549748694, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.251061987131834, + "stddev_ms": 0.6369688235542795, + "min_ms": 30.14930011704564, + "max_ms": 33.11820002272725, + "iterations": 50, + "ops_per_sec": 31.99891256213204, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 30.850518001243472, + "stddev_ms": 0.5589108250748929, + "min_ms": 30.0757996737957, + "max_ms": 32.252699602395296, + "iterations": 50, + "ops_per_sec": 32.41436659052835, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float16)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.064341962337494, + "stddev_ms": 0.6625234168815125, + "min_ms": 30.081199947744608, + "max_ms": 32.46319992467761, + "iterations": 50, + "ops_per_sec": 32.19125005810209, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.171090016141534, + "stddev_ms": 0.6884970721635005, + "min_ms": 30.166899785399437, + "max_ms": 34.087799955159426, + "iterations": 50, + "ops_per_sec": 32.08100837930798, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.06217995285988, + "stddev_ms": 0.5756921404976967, + "min_ms": 30.33109987154603, + "max_ms": 32.694400288164616, + "iterations": 50, + "ops_per_sec": 32.193490653830644, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float16)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.106502003967762, + "stddev_ms": 0.5324795081724525, + "min_ms": 30.042400117963552, + "max_ms": 32.39280031993985, + "iterations": 50, + "ops_per_sec": 32.14761980863184, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 30.916561959311366, + "stddev_ms": 0.5876631782959809, + "min_ms": 30.128399841487408, + "max_ms": 32.79099985957146, + "iterations": 50, + "ops_per_sec": 32.34512302228426, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 30.734020015224814, + "stddev_ms": 0.48307008118011513, + "min_ms": 30.00189969316125, + "max_ms": 31.940600369125605, + "iterations": 50, + "ops_per_sec": 32.53723396759118, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 35.16250400803983, + "stddev_ms": 7.389836486693254, + "min_ms": 30.673600267618895, + "max_ms": 68.6651999130845, + "iterations": 50, + "ops_per_sec": 28.439385311448586, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float16)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.22836603783071, + "stddev_ms": 0.6755918307995488, + "min_ms": 30.301399994641542, + "max_ms": 32.975600101053715, + "iterations": 50, + "ops_per_sec": 32.02216852423782, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.78773002885282, + "stddev_ms": 0.5601998079870386, + "min_ms": 7.86300003528595, + "max_ms": 10.364699643105268, + "iterations": 50, + "ops_per_sec": 113.79502974223064, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.615933945402503, + "stddev_ms": 0.4346973846519077, + "min_ms": 7.870999630540609, + "max_ms": 9.836099576205015, + "iterations": 50, + "ops_per_sec": 116.06402815258397, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.932542003691196, + "stddev_ms": 0.3898636932182472, + "min_ms": 7.33079994097352, + "max_ms": 9.280799888074398, + "iterations": 50, + "ops_per_sec": 126.06299462828898, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float32)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.070366019383073, + "stddev_ms": 0.39763870088104014, + "min_ms": 7.438099943101406, + "max_ms": 9.266000241041183, + "iterations": 50, + "ops_per_sec": 123.91011728566475, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.615696001797915, + "stddev_ms": 0.4465698036434412, + "min_ms": 7.916700094938278, + "max_ms": 9.621700271964073, + "iterations": 50, + "ops_per_sec": 116.0672335457659, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.017509989440441, + "stddev_ms": 0.4037006391128165, + "min_ms": 7.3807998560369015, + "max_ms": 9.015600197017193, + "iterations": 50, + "ops_per_sec": 124.72700393477054, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float32)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.876606052741408, + "stddev_ms": 0.3356033552604381, + "min_ms": 7.3056998662650585, + "max_ms": 8.562299888581038, + "iterations": 50, + "ops_per_sec": 126.95823471480533, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.496486051008105, + "stddev_ms": 0.4719886066144217, + "min_ms": 7.8429002314805984, + "max_ms": 9.888899978250265, + "iterations": 50, + "ops_per_sec": 117.69571491044233, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.867088047787547, + "stddev_ms": 0.37581126083241995, + "min_ms": 7.313199806958437, + "max_ms": 9.12499986588955, + "iterations": 50, + "ops_per_sec": 127.1118352719122, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.062937967479229, + "stddev_ms": 0.4111777917825798, + "min_ms": 7.414599880576134, + "max_ms": 9.464599657803774, + "iterations": 50, + "ops_per_sec": 124.0242705615949, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float32)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.882381984964013, + "stddev_ms": 0.30822092533080725, + "min_ms": 7.405600044876337, + "max_ms": 8.614399936050177, + "iterations": 50, + "ops_per_sec": 126.8652041866968, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.458979967981577, + "stddev_ms": 0.4023803188192217, + "min_ms": 7.788600400090218, + "max_ms": 9.497299790382385, + "iterations": 50, + "ops_per_sec": 118.21756332148084, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.85106198862195, + "stddev_ms": 0.28438315081457655, + "min_ms": 7.306900341063738, + "max_ms": 8.600200060755014, + "iterations": 50, + "ops_per_sec": 127.37130358278117, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (float32)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.9570199735462666, + "stddev_ms": 0.4243268114668936, + "min_ms": 7.306499872356653, + "max_ms": 9.097399655729532, + "iterations": 50, + "ops_per_sec": 125.67519037586659, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (float32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 156.90584401600063, + "stddev_ms": 1.8168699060248625, + "min_ms": 153.4978998824954, + "max_ms": 161.11019998788834, + "iterations": 50, + "ops_per_sec": 6.373248914157869, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (float32)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 166.63328393362463, + "stddev_ms": 1.1692679608819896, + "min_ms": 164.5452999509871, + "max_ms": 170.3306999988854, + "iterations": 50, + "ops_per_sec": 6.00120201914962, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 17.124702017754316, + "stddev_ms": 0.8091075354857761, + "min_ms": 15.578300226479769, + "max_ms": 19.329499918967485, + "iterations": 50, + "ops_per_sec": 58.395176684723246, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 23.316888008266687, + "stddev_ms": 6.309049147118715, + "min_ms": 17.494500149041414, + "max_ms": 61.4482001401484, + "iterations": 50, + "ops_per_sec": 42.887369860225924, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.776216028258204, + "stddev_ms": 1.140034864511498, + "min_ms": 17.598700243979692, + "max_ms": 22.82979991286993, + "iterations": 50, + "ops_per_sec": 50.56579067355967, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (float64)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.982229992747307, + "stddev_ms": 1.231180437204183, + "min_ms": 17.946300096809864, + "max_ms": 24.274500086903572, + "iterations": 50, + "ops_per_sec": 50.04446452487821, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 21.142651988193393, + "stddev_ms": 1.4728344729940452, + "min_ms": 18.009900115430355, + "max_ms": 23.809299804270267, + "iterations": 50, + "ops_per_sec": 47.29775623977664, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.93463596329093, + "stddev_ms": 1.2861397523377387, + "min_ms": 17.599199898540974, + "max_ms": 23.585299961268902, + "iterations": 50, + "ops_per_sec": 50.16394590006418, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (float64)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 20.17416000366211, + "stddev_ms": 1.8705216595427745, + "min_ms": 17.405299935489893, + "max_ms": 24.43569991737604, + "iterations": 50, + "ops_per_sec": 49.56835872316246, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 21.00753800943494, + "stddev_ms": 1.1603360862829324, + "min_ms": 18.84269993752241, + "max_ms": 24.21519998461008, + "iterations": 50, + "ops_per_sec": 47.60196076050789, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.3973240070045, + "stddev_ms": 1.564966880073461, + "min_ms": 17.182199750095606, + "max_ms": 22.78800029307604, + "iterations": 50, + "ops_per_sec": 51.55350292849125, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.90814003162086, + "stddev_ms": 1.1706565830118305, + "min_ms": 18.16920004785061, + "max_ms": 23.02700001746416, + "iterations": 50, + "ops_per_sec": 50.23070956963643, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (float64)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 20.035019973292947, + "stddev_ms": 1.5670412889375256, + "min_ms": 17.737200018018484, + "max_ms": 23.423699662089348, + "iterations": 50, + "ops_per_sec": 49.91260309862523, + "allocated_mb": 0.0 + }, + { + "name": "a / b (element-wise) (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 20.477970000356436, + "stddev_ms": 1.2812553132678355, + "min_ms": 17.72450003772974, + "max_ms": 23.419300094246864, + "iterations": 50, + "ops_per_sec": 48.83296537608924, + "allocated_mb": 0.0 + }, + { + "name": "a / scalar (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.05482397414744, + "stddev_ms": 1.246718260463305, + "min_ms": 17.47999992221594, + "max_ms": 22.40779995918274, + "iterations": 50, + "ops_per_sec": 52.48014893009488, + "allocated_mb": 0.0 + }, + { + "name": "scalar / a (float64)", + "category": "Divide", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.399700043722987, + "stddev_ms": 1.4076681542066398, + "min_ms": 17.05540018156171, + "max_ms": 22.34220039099455, + "iterations": 50, + "ops_per_sec": 51.54718875787785, + "allocated_mb": 0.0 + }, + { + "name": "a % b (element-wise) (float64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 143.96618002094328, + "stddev_ms": 1.700858355787858, + "min_ms": 141.01100014522672, + "max_ms": 147.2375998273492, + "iterations": 50, + "ops_per_sec": 6.946075806515991, + "allocated_mb": 0.0 + }, + { + "name": "a % 7 (literal) (float64)", + "category": "Modulo", + "suite": "Arithmetic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 159.21759201213717, + "stddev_ms": 1.830425841148489, + "min_ms": 155.71979992091656, + "max_ms": 166.59279959276319, + "iterations": 50, + "ops_per_sec": 6.280713000129847, + "allocated_mb": 0.0 + }, + { + "name": "a + b (element-wise) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 42.38588002510369, + "stddev_ms": 2.7034739588952155, + "min_ms": 37.78580017387867, + "max_ms": 52.869600243866444, + "iterations": 50, + "ops_per_sec": 23.592762481461623, + "allocated_mb": 0.0 + }, + { + "name": "np.add(a, b) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 41.8395940028131, + "stddev_ms": 2.373582189949573, + "min_ms": 38.15330006182194, + "max_ms": 49.186000134795904, + "iterations": 50, + "ops_per_sec": 23.900805536802405, + "allocated_mb": 0.0 + }, + { + "name": "a + scalar (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 39.4816920068115, + "stddev_ms": 1.9666660409870256, + "min_ms": 35.154299810528755, + "max_ms": 43.54389989748597, + "iterations": 50, + "ops_per_sec": 25.328195149981845, + "allocated_mb": 0.0 + }, + { + "name": "a + 5 (literal) (complex128)", + "category": "Add", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 42.7671719994396, + "stddev_ms": 2.5119743814570885, + "min_ms": 38.229599595069885, + "max_ms": 47.27509990334511, + "iterations": 50, + "ops_per_sec": 23.382420516678156, + "allocated_mb": 0.0 + }, + { + "name": "a - b (element-wise) (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 41.6706719994545, + "stddev_ms": 2.2112781172141402, + "min_ms": 37.833299953490496, + "max_ms": 46.75799980759621, + "iterations": 50, + "ops_per_sec": 23.99769315006705, + "allocated_mb": 0.0 + }, + { + "name": "a - scalar (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 39.63682799600065, + "stddev_ms": 1.969411485593853, + "min_ms": 35.54630000144243, + "max_ms": 42.94530022889376, + "iterations": 50, + "ops_per_sec": 25.229062227201933, + "allocated_mb": 0.0 + }, + { + "name": "scalar - a (complex128)", + "category": "Subtract", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 37.54269198514521, + "stddev_ms": 3.5627710255919878, + "min_ms": 31.327500008046627, + "max_ms": 43.40340010821819, + "iterations": 50, + "ops_per_sec": 26.636342444374453, + "allocated_mb": 0.0 + }, + { + "name": "a * b (element-wise) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 34.40534797497094, + "stddev_ms": 0.7534816184881907, + "min_ms": 32.964599784463644, + "max_ms": 35.89629987254739, + "iterations": 50, + "ops_per_sec": 29.065248830718875, + "allocated_mb": 0.0 + }, + { + "name": "a * a (square) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 30.23026400245726, + "stddev_ms": 0.8803946185392424, + "min_ms": 28.32720009610057, + "max_ms": 32.56999980658293, + "iterations": 50, + "ops_per_sec": 33.079433243411806, + "allocated_mb": 0.0 + }, + { + "name": "a * scalar (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 30.929654045030475, + "stddev_ms": 0.9020374958566524, + "min_ms": 29.4685997068882, + "max_ms": 33.285700250416994, + "iterations": 50, + "ops_per_sec": 32.33143178853861, + "allocated_mb": 0.0 + }, + { + "name": "a * 2 (literal) (complex128)", + "category": "Multiply", + "suite": "Arithmetic", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 31.336503997445107, + "stddev_ms": 1.2181634502637368, + "min_ms": 29.545499943196774, + "max_ms": 35.53440002724528, + "iterations": 50, + "ops_per_sec": 31.911664430771566, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00459001399576664, + "stddev_ms": 7.623491104605545e-05, + "min_ms": 0.0044996850192546844, + "max_ms": 0.0048996880650520325, + "iterations": 50, + "ops_per_sec": 217864.25943848927, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0008180085569620132, + "stddev_ms": 7.195300208578647e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1222481.0993590108, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0013940129429101944, + "stddev_ms": 6.52254187221818e-05, + "min_ms": 0.0012996606528759003, + "max_ms": 0.001600012183189392, + "iterations": 50, + "ops_per_sec": 717353.4543462431, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005133962258696556, + "stddev_ms": 5.1929766618994906e-05, + "min_ms": 0.00509992241859436, + "max_ms": 0.0052996911108493805, + "iterations": 50, + "ops_per_sec": 194781.33060017595, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004982026293873787, + "stddev_ms": 4.822279885076678e-05, + "min_ms": 0.0048996880650520325, + "max_ms": 0.00509992241859436, + "iterations": 50, + "ops_per_sec": 200721.54200182823, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005754008889198303, + "stddev_ms": 6.12824003385876e-05, + "min_ms": 0.0056996941566467285, + "max_ms": 0.005899928510189056, + "iterations": 50, + "ops_per_sec": 173791.87610871563, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005239993333816528, + "stddev_ms": 0.0002687986271895945, + "min_ms": 0.0044996850192546844, + "max_ms": 0.005500391125679016, + "iterations": 50, + "ops_per_sec": 190839.93743779327, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004880111664533615, + "stddev_ms": 0.0002850117095661006, + "min_ms": 0.004599802196025848, + "max_ms": 0.0057998113334178925, + "iterations": 50, + "ops_per_sec": 204913.34394406085, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005173971876502037, + "stddev_ms": 0.0003864168164656251, + "min_ms": 0.0047995708882808685, + "max_ms": 0.0058002769947052, + "iterations": 50, + "ops_per_sec": 193275.11317592804, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00572999007999897, + "stddev_ms": 0.0008481267527168238, + "min_ms": 0.004699919372797012, + "max_ms": 0.0069998204708099365, + "iterations": 50, + "ops_per_sec": 174520.37194454964, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005139997228980064, + "stddev_ms": 0.0008226599320386986, + "min_ms": 0.004599802196025848, + "max_ms": 0.010400079190731049, + "iterations": 50, + "ops_per_sec": 194552.6340679431, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004531983286142349, + "stddev_ms": 5.133094411033159e-05, + "min_ms": 0.004400033503770828, + "max_ms": 0.004600267857313156, + "iterations": 50, + "ops_per_sec": 220653.94703853948, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0047099776566028595, + "stddev_ms": 0.00025814656718091075, + "min_ms": 0.0044996850192546844, + "max_ms": 0.005100388079881668, + "iterations": 50, + "ops_per_sec": 212315.23223854625, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005773948505520821, + "stddev_ms": 0.00011214234815454908, + "min_ms": 0.0056996941566467285, + "max_ms": 0.006400048732757568, + "iterations": 50, + "ops_per_sec": 173191.70738080528, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005034012719988823, + "stddev_ms": 4.782652372677098e-05, + "min_ms": 0.004999805241823196, + "max_ms": 0.005100388079881668, + "iterations": 50, + "ops_per_sec": 198648.68358978248, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006174026057124138, + "stddev_ms": 0.0005173679641669726, + "min_ms": 0.0057998113334178925, + "max_ms": 0.009499955922365189, + "iterations": 50, + "ops_per_sec": 161968.86614142347, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.008707987144589424, + "stddev_ms": 0.001977866615629732, + "min_ms": 0.007900409400463104, + "max_ms": 0.022299587726593018, + "iterations": 50, + "ops_per_sec": 114837.10108843406, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.010306015610694885, + "stddev_ms": 7.927793930068924e-05, + "min_ms": 0.01019984483718872, + "max_ms": 0.010599847882986069, + "iterations": 50, + "ops_per_sec": 97030.7088378818, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.01263398677110672, + "stddev_ms": 0.0009513981140253697, + "min_ms": 0.012299977242946625, + "max_ms": 0.01910002902150154, + "iterations": 50, + "ops_per_sec": 79151.57884183865, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.009181955829262733, + "stddev_ms": 0.00021161696123961595, + "min_ms": 0.008899718523025513, + "max_ms": 0.009600073099136353, + "iterations": 50, + "ops_per_sec": 108909.25839710723, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0006099790334701538, + "stddev_ms": 6.472666870473685e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1639400.610724319, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005260016769170761, + "stddev_ms": 4.864077148627083e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006998889148235321, + "iterations": 50, + "ops_per_sec": 1901134.6234883761, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0011219363659620285, + "stddev_ms": 4.188433618604586e-05, + "min_ms": 0.0010998919606208801, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 891316.1479907361, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.000550001859664917, + "stddev_ms": 5.053909496171717e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1818175.6705499864, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005340017378330231, + "stddev_ms": 4.782452044347472e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1872653.081725906, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0011120177805423737, + "stddev_ms": 4.353870375135733e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 899266.1965461215, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.001035984605550766, + "stddev_ms": 4.845677856241736e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 965265.3086175588, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.001322021707892418, + "stddev_ms": 4.182839433221136e-05, + "min_ms": 0.0012996606528759003, + "max_ms": 0.001400243490934372, + "iterations": 50, + "ops_per_sec": 756417.231298124, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.003472026437520981, + "stddev_ms": 0.007079782204775733, + "min_ms": 0.002299901098012924, + "max_ms": 0.05250005051493645, + "iterations": 50, + "ops_per_sec": 288016.2400819729, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.006015989929437637, + "stddev_ms": 0.0032668549774177384, + "min_ms": 0.004599802196025848, + "max_ms": 0.027399975806474686, + "iterations": 50, + "ops_per_sec": 166223.68250763978, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.005120011046528816, + "stddev_ms": 0.0001738198056735629, + "min_ms": 0.004699919372797012, + "max_ms": 0.005600042641162872, + "iterations": 50, + "ops_per_sec": 195312.07860927648, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.004650000482797623, + "stddev_ms": 5.440136997407573e-05, + "min_ms": 0.004599802196025848, + "max_ms": 0.004800036549568176, + "iterations": 50, + "ops_per_sec": 215053.7411123796, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0021659862250089645, + "stddev_ms": 4.78058743171419e-05, + "min_ms": 0.0020996667444705963, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 461683.4532250367, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0032100174576044083, + "stddev_ms": 4.6267357059244635e-05, + "min_ms": 0.0030999071896076202, + "max_ms": 0.003300141543149948, + "iterations": 50, + "ops_per_sec": 311524.78552134923, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0026659946888685226, + "stddev_ms": 0.0001437010922166319, + "min_ms": 0.002299901098012924, + "max_ms": 0.0029001384973526, + "iterations": 50, + "ops_per_sec": 375094.5206962925, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.003865966573357582, + "stddev_ms": 0.002090910122311961, + "min_ms": 0.0032996758818626404, + "max_ms": 0.01780036836862564, + "iterations": 50, + "ops_per_sec": 258667.52363859746, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.002077976241707802, + "stddev_ms": 5.4523989694922295e-05, + "min_ms": 0.0019995495676994324, + "max_ms": 0.0021997839212417603, + "iterations": 50, + "ops_per_sec": 481237.4559095737, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.002368008717894554, + "stddev_ms": 5.125493986707592e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.0024996697902679443, + "iterations": 50, + "ops_per_sec": 422295.742597232, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.005941987037658691, + "stddev_ms": 0.0005265008051735573, + "min_ms": 0.0056996941566467285, + "max_ms": 0.009300187230110168, + "iterations": 50, + "ops_per_sec": 168293.8710001003, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.001973947510123253, + "stddev_ms": 6.644486312966234e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002299901098012924, + "iterations": 50, + "ops_per_sec": 506599.0837504895, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0011520087718963623, + "stddev_ms": 0.0001843491823339383, + "min_ms": 0.0008996576070785522, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 868048.9458026128, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005559995770454407, + "stddev_ms": 5.402146076451283e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006998889148235321, + "iterations": 50, + "ops_per_sec": 1798562.5192629816, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0010460242629051208, + "stddev_ms": 5.4230474160166847e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 956000.7692581645, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005639996379613876, + "stddev_ms": 4.853371632485755e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1773050.7835334137, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.001350007951259613, + "stddev_ms": 0.005419277961293909, + "min_ms": 0.0004996545612812042, + "max_ms": 0.038899946957826614, + "iterations": 50, + "ops_per_sec": 740736.3779353735, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.001164022833108902, + "stddev_ms": 5.624671939507158e-05, + "min_ms": 0.0010998919606208801, + "max_ms": 0.001300126314163208, + "iterations": 50, + "ops_per_sec": 859089.6772438514, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.002962034195661545, + "stddev_ms": 5.679516119871602e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.003100372850894928, + "iterations": 50, + "ops_per_sec": 337605.82557240146, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00278400257229805, + "stddev_ms": 3.702507766717975e-05, + "min_ms": 0.002699904143810272, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 359195.07041782356, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0029280222952365875, + "stddev_ms": 9.483267893561781e-05, + "min_ms": 0.002800021320581436, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 341527.4540862739, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.004877978935837746, + "stddev_ms": 8.399776121503004e-05, + "min_ms": 0.0047995708882808685, + "max_ms": 0.005200039595365524, + "iterations": 50, + "ops_per_sec": 205002.9352634463, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.004952047020196915, + "stddev_ms": 0.00024265803932047825, + "min_ms": 0.004599802196025848, + "max_ms": 0.005499925464391708, + "iterations": 50, + "ops_per_sec": 201936.69323443453, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.004979986697435379, + "stddev_ms": 0.0018344521487532678, + "min_ms": 0.0044996850192546844, + "max_ms": 0.014899764209985733, + "iterations": 50, + "ops_per_sec": 200803.74923792176, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.002469997853040695, + "stddev_ms": 5.050505682344534e-05, + "min_ms": 0.0023995526134967804, + "max_ms": 0.0025997869670391083, + "iterations": 50, + "ops_per_sec": 404858.6515040684, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0038179848343133926, + "stddev_ms": 3.880003459388739e-05, + "min_ms": 0.0037997961044311523, + "max_ms": 0.003900378942489624, + "iterations": 50, + "ops_per_sec": 261918.27453390998, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.004153987392783165, + "stddev_ms": 5.034786945692647e-05, + "min_ms": 0.004099681973457336, + "max_ms": 0.004200264811515808, + "iterations": 50, + "ops_per_sec": 240732.55536050184, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.003912001848220825, + "stddev_ms": 0.0014710636451155208, + "min_ms": 0.003600027412176132, + "max_ms": 0.014100223779678345, + "iterations": 50, + "ops_per_sec": 255623.60111225385, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0018779747188091278, + "stddev_ms": 5.816296611937414e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 532488.5313866875, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0022339913994073868, + "stddev_ms": 4.786629443228879e-05, + "min_ms": 0.0021997839212417603, + "max_ms": 0.002300366759300232, + "iterations": 50, + "ops_per_sec": 447629.2971697523, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.009825993329286575, + "stddev_ms": 0.0012409563237396441, + "min_ms": 0.009599607437849045, + "max_ms": 0.01840014010667801, + "iterations": 50, + "ops_per_sec": 101770.88122169588, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0017919857054948807, + "stddev_ms": 3.958493341823591e-05, + "min_ms": 0.0016996636986732483, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 558040.1656852708, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.010104002431035042, + "stddev_ms": 0.00041051686840194696, + "min_ms": 0.009899958968162537, + "max_ms": 0.012899748980998993, + "iterations": 50, + "ops_per_sec": 98970.68085894761, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0035659968852996826, + "stddev_ms": 0.0005101353383008196, + "min_ms": 0.0024996697902679443, + "max_ms": 0.003900378942489624, + "iterations": 50, + "ops_per_sec": 280426.4928335632, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.003428040072321892, + "stddev_ms": 0.0005976676695117581, + "min_ms": 0.0024996697902679443, + "max_ms": 0.003900378942489624, + "iterations": 50, + "ops_per_sec": 291711.87585408724, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0007439590990543365, + "stddev_ms": 5.018481285755509e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1344159.915875917, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0006939936429262161, + "stddev_ms": 3.729346114922472e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1440935.3892400393, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005377978086471558, + "stddev_ms": 0.001811790967487151, + "min_ms": 0.004999805241823196, + "max_ms": 0.017900019884109497, + "iterations": 50, + "ops_per_sec": 185943.48729600178, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.006608022376894951, + "stddev_ms": 0.0006669689129585685, + "min_ms": 0.006400048732757568, + "max_ms": 0.011200085282325745, + "iterations": 50, + "ops_per_sec": 151331.20667032167, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0006079860031604767, + "stddev_ms": 2.7411490459589516e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1644774.7066572716, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005180295556783676, + "stddev_ms": 3.880970520255362e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1930391.7875698903, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005359761416912079, + "stddev_ms": 4.848977583312725e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1865754.689834926, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0006580445915460587, + "stddev_ms": 4.984418450315291e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1519653.8545367054, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005419831722974777, + "stddev_ms": 4.9866307862127033e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1845075.7350287826, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.009788032621145248, + "stddev_ms": 0.0013452319254782864, + "min_ms": 0.009499955922365189, + "max_ms": 0.01910002902150154, + "iterations": 50, + "ops_per_sec": 102165.5769556472, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0008080154657363892, + "stddev_ms": 3.963612271497384e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1237600.0737667128, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.000497959554195404, + "stddev_ms": 4.280826281208726e-05, + "min_ms": 0.0003995373845100403, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 2008195.2270516944, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005359668284654617, + "stddev_ms": 4.853606871755493e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1865787.1101148587, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0006880611181259155, + "stddev_ms": 3.8576022633609564e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1453359.2636708175, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005460623651742935, + "stddev_ms": 5.0301590922217474e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1831292.6577183497, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.42638400569558144, + "stddev_ms": 0.0314957207035002, + "min_ms": 0.36239996552467346, + "max_ms": 0.6021000444889069, + "iterations": 50, + "ops_per_sec": 2345.303732415221, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.026384014636278152, + "stddev_ms": 0.0024423091639063903, + "min_ms": 0.025600194931030273, + "max_ms": 0.03750016912817955, + "iterations": 50, + "ops_per_sec": 37901.7376159652, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.08870602585375309, + "stddev_ms": 0.02030693761580413, + "min_ms": 0.0838995911180973, + "max_ms": 0.22869976237416267, + "iterations": 50, + "ops_per_sec": 11273.191312264054, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.44068198651075363, + "stddev_ms": 0.0379249085546592, + "min_ms": 0.37240004166960716, + "max_ms": 0.5227001383900642, + "iterations": 50, + "ops_per_sec": 2269.2100666919314, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.4659700021147728, + "stddev_ms": 0.029073217324193837, + "min_ms": 0.3720000386238098, + "max_ms": 0.6071999669075012, + "iterations": 50, + "ops_per_sec": 2146.06089546874, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.47020004130899906, + "stddev_ms": 0.045884889315284276, + "min_ms": 0.3738999366760254, + "max_ms": 0.6236000917851925, + "iterations": 50, + "ops_per_sec": 2126.7543856782327, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.4391899798065424, + "stddev_ms": 0.04033846875919417, + "min_ms": 0.41450001299381256, + "max_ms": 0.6427997723221779, + "iterations": 50, + "ops_per_sec": 2276.918978070691, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.4262579884380102, + "stddev_ms": 0.022749722920696352, + "min_ms": 0.4154997877776623, + "max_ms": 0.5691000260412693, + "iterations": 50, + "ops_per_sec": 2345.9970889095202, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.44646598398685455, + "stddev_ms": 0.013415154104482668, + "min_ms": 0.4368000663816929, + "max_ms": 0.5048997700214386, + "iterations": 50, + "ops_per_sec": 2239.8122944780566, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.7108080480247736, + "stddev_ms": 0.04507519748800903, + "min_ms": 0.6768000312149525, + "max_ms": 0.9881001897156239, + "iterations": 50, + "ops_per_sec": 1406.8495746198237, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.7102480437606573, + "stddev_ms": 0.06521957106862744, + "min_ms": 0.6816000677645206, + "max_ms": 1.153700053691864, + "iterations": 50, + "ops_per_sec": 1407.958823378308, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.8245259709656239, + "stddev_ms": 0.03859455869004393, + "min_ms": 0.7917997427284718, + "max_ms": 0.9751999750733376, + "iterations": 50, + "ops_per_sec": 1212.8180739156996, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.4597699921578169, + "stddev_ms": 0.04148392480453608, + "min_ms": 0.4018000327050686, + "max_ms": 0.6200000643730164, + "iterations": 50, + "ops_per_sec": 2175.0005808485826, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.5474479589611292, + "stddev_ms": 0.06918382644583682, + "min_ms": 0.5025998689234257, + "max_ms": 0.9045000188052654, + "iterations": 50, + "ops_per_sec": 1826.6576459571816, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.4544719960540533, + "stddev_ms": 0.01525353359580338, + "min_ms": 0.4398999735713005, + "max_ms": 0.5530002526938915, + "iterations": 50, + "ops_per_sec": 2200.355596565874, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.5885120388120413, + "stddev_ms": 0.022963597720726533, + "min_ms": 0.5141003057360649, + "max_ms": 0.6367000751197338, + "iterations": 50, + "ops_per_sec": 1699.2005839312653, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.9296080283820629, + "stddev_ms": 0.03327835427775812, + "min_ms": 0.8880002424120903, + "max_ms": 1.0755001567304134, + "iterations": 50, + "ops_per_sec": 1075.7222070687694, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.0690280236303806, + "stddev_ms": 0.08581018275797772, + "min_ms": 1.0167001746594906, + "max_ms": 1.5361001715064049, + "iterations": 50, + "ops_per_sec": 935.4291729453789, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.5342879854142666, + "stddev_ms": 0.11065925621232281, + "min_ms": 1.4498000964522362, + "max_ms": 2.0494996570050716, + "iterations": 50, + "ops_per_sec": 651.7681227426116, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.8323959819972515, + "stddev_ms": 0.0636552058003572, + "min_ms": 0.7943999953567982, + "max_ms": 1.155099831521511, + "iterations": 50, + "ops_per_sec": 1201.351305902029, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.014939997345209122, + "stddev_ms": 0.00018851115749836506, + "min_ms": 0.014299992471933365, + "max_ms": 0.015700235962867737, + "iterations": 50, + "ops_per_sec": 66934.41617783651, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0063619669526815414, + "stddev_ms": 8.0516092857314e-05, + "min_ms": 0.0061998143792152405, + "max_ms": 0.0065998174250125885, + "iterations": 50, + "ops_per_sec": 157184.09218999548, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.29713199473917484, + "stddev_ms": 0.017499843608223636, + "min_ms": 0.28830021619796753, + "max_ms": 0.40899962186813354, + "iterations": 50, + "ops_per_sec": 3365.507645441579, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006353985518217087, + "stddev_ms": 0.00032655653133747037, + "min_ms": 0.0061998143792152405, + "max_ms": 0.0074999406933784485, + "iterations": 50, + "ops_per_sec": 157381.53590891368, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0066220201551914215, + "stddev_ms": 0.0022355178796599857, + "min_ms": 0.0061998143792152405, + "max_ms": 0.022099819034337997, + "iterations": 50, + "ops_per_sec": 151011.3192899355, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006979983299970627, + "stddev_ms": 6.699970052111537e-05, + "min_ms": 0.006899703294038773, + "max_ms": 0.007100403308868408, + "iterations": 50, + "ops_per_sec": 143266.81841834896, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.055345939472317696, + "stddev_ms": 0.0015184850260034552, + "min_ms": 0.05450006574392319, + "max_ms": 0.06480002775788307, + "iterations": 50, + "ops_per_sec": 18068.172833169967, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.08686400018632412, + "stddev_ms": 0.006701704108805217, + "min_ms": 0.08289981633424759, + "max_ms": 0.11909985914826393, + "iterations": 50, + "ops_per_sec": 11512.249008277196, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.19847597926855087, + "stddev_ms": 0.0073562116135930875, + "min_ms": 0.18980028107762337, + "max_ms": 0.23539969697594643, + "iterations": 50, + "ops_per_sec": 5038.393077516625, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.7167399860918522, + "stddev_ms": 0.06595733006424206, + "min_ms": 0.6825998425483704, + "max_ms": 1.1066999286413193, + "iterations": 50, + "ops_per_sec": 1395.206099010426, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.7030140142887831, + "stddev_ms": 0.030840447138941286, + "min_ms": 0.6826999597251415, + "max_ms": 0.9012999944388866, + "iterations": 50, + "ops_per_sec": 1422.4467502424802, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.8413679804652929, + "stddev_ms": 0.057720243072431, + "min_ms": 0.793099869042635, + "max_ms": 1.086600124835968, + "iterations": 50, + "ops_per_sec": 1188.54059486193, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.17596004530787468, + "stddev_ms": 0.008120944176752255, + "min_ms": 0.16460008919239044, + "max_ms": 0.18779980018734932, + "iterations": 50, + "ops_per_sec": 5683.108334339849, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.27280799113214016, + "stddev_ms": 0.007065782886106278, + "min_ms": 0.2639000304043293, + "max_ms": 0.30269986018538475, + "iterations": 50, + "ops_per_sec": 3665.5817736498393, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.20076398737728596, + "stddev_ms": 0.020961211514300172, + "min_ms": 0.18619978800415993, + "max_ms": 0.317899975925684, + "iterations": 50, + "ops_per_sec": 4980.972997516476, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.30582998879253864, + "stddev_ms": 0.02183690114820122, + "min_ms": 0.2790996804833412, + "max_ms": 0.434699933975935, + "iterations": 50, + "ops_per_sec": 3269.7905262598533, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.008205976337194443, + "stddev_ms": 0.0006622106815066954, + "min_ms": 0.007699709385633469, + "max_ms": 0.009399838745594025, + "iterations": 50, + "ops_per_sec": 121862.40355914699, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.1543719880282879, + "stddev_ms": 0.01056437515724415, + "min_ms": 0.14909962192177773, + "max_ms": 0.2139001153409481, + "iterations": 50, + "ops_per_sec": 6477.859181399899, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.6578180007636547, + "stddev_ms": 0.021390043737849314, + "min_ms": 0.6436998955905437, + "max_ms": 0.7490003481507301, + "iterations": 50, + "ops_per_sec": 1520.177311717085, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.12666198424994946, + "stddev_ms": 0.021374689610659126, + "min_ms": 0.11970009654760361, + "max_ms": 0.2701999619603157, + "iterations": 50, + "ops_per_sec": 7895.028693271075, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.055654002353549004, + "stddev_ms": 0.0009260463233910547, + "min_ms": 0.055099837481975555, + "max_ms": 0.06069988012313843, + "iterations": 50, + "ops_per_sec": 17968.159659881694, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011206008493900299, + "stddev_ms": 0.0007402129052414334, + "min_ms": 0.010699965059757233, + "max_ms": 0.0129002146422863, + "iterations": 50, + "ops_per_sec": 89237.84062311966, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.29363800771534443, + "stddev_ms": 0.008110371255437633, + "min_ms": 0.28880033642053604, + "max_ms": 0.32609980553388596, + "iterations": 50, + "ops_per_sec": 3405.5536876187016, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.015077991411089897, + "stddev_ms": 0.005341711376319208, + "min_ms": 0.010799616575241089, + "max_ms": 0.03529991954565048, + "iterations": 50, + "ops_per_sec": 66321.831120324, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.012048035860061646, + "stddev_ms": 0.0004325068859070081, + "min_ms": 0.011300202459096909, + "max_ms": 0.013300217688083649, + "iterations": 50, + "ops_per_sec": 83001.08097411352, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.012808013707399368, + "stddev_ms": 0.005112360481765487, + "min_ms": 0.011499971151351929, + "max_ms": 0.04469975829124451, + "iterations": 50, + "ops_per_sec": 78076.11881476095, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.25814399123191833, + "stddev_ms": 0.010966439352085907, + "min_ms": 0.24869991466403008, + "max_ms": 0.30640000477433205, + "iterations": 50, + "ops_per_sec": 3873.8069990619815, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.24235191754996777, + "stddev_ms": 0.00884432982055536, + "min_ms": 0.22949976846575737, + "max_ms": 0.28529996052384377, + "iterations": 50, + "ops_per_sec": 4126.231020201528, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.2625200431793928, + "stddev_ms": 0.026138276673255745, + "min_ms": 0.24090008810162544, + "max_ms": 0.3349999897181988, + "iterations": 50, + "ops_per_sec": 3809.2329556591267, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.7140019815415144, + "stddev_ms": 0.045913338085115246, + "min_ms": 0.680800061672926, + "max_ms": 0.9177001193165779, + "iterations": 50, + "ops_per_sec": 1400.5563371701326, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.698983995243907, + "stddev_ms": 0.017366800025581414, + "min_ms": 0.6846999749541283, + "max_ms": 0.8002999238669872, + "iterations": 50, + "ops_per_sec": 1430.6479215608579, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.8054700121283531, + "stddev_ms": 0.018583794931150564, + "min_ms": 0.7913000881671906, + "max_ms": 0.8809003047645092, + "iterations": 50, + "ops_per_sec": 1241.5111486989142, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.21372996270656586, + "stddev_ms": 0.023830315885817327, + "min_ms": 0.2009999006986618, + "max_ms": 0.3263000398874283, + "iterations": 50, + "ops_per_sec": 4678.80117198598, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.3589520510286093, + "stddev_ms": 0.06757628746722957, + "min_ms": 0.33250031992793083, + "max_ms": 0.7615997456014156, + "iterations": 50, + "ops_per_sec": 2785.887410684548, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.37386199459433556, + "stddev_ms": 0.011184308955692, + "min_ms": 0.36819977685809135, + "max_ms": 0.4433998838067055, + "iterations": 50, + "ops_per_sec": 2674.7837824089734, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.3411760088056326, + "stddev_ms": 0.04110545698981042, + "min_ms": 0.31530018895864487, + "max_ms": 0.6017996929585934, + "iterations": 50, + "ops_per_sec": 2931.0384499213083, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.016632042825222015, + "stddev_ms": 0.00681936667509119, + "min_ms": 0.014199875295162201, + "max_ms": 0.05370005965232849, + "iterations": 50, + "ops_per_sec": 60124.90531130239, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.1542199868708849, + "stddev_ms": 0.017168453754809073, + "min_ms": 0.14870008453726768, + "max_ms": 0.26849983260035515, + "iterations": 50, + "ops_per_sec": 6484.243840827284, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 1.0723659954965115, + "stddev_ms": 0.04915376206855214, + "min_ms": 1.0414998978376389, + "max_ms": 1.3470998965203762, + "iterations": 50, + "ops_per_sec": 932.5174466549496, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.12314795516431332, + "stddev_ms": 0.011323778527129395, + "min_ms": 0.11939974501729012, + "max_ms": 0.19699987024068832, + "iterations": 50, + "ops_per_sec": 8120.313477115591, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.1990999709814787, + "stddev_ms": 0.05999185549091299, + "min_ms": 1.1458001099526882, + "max_ms": 1.4376002363860607, + "iterations": 50, + "ops_per_sec": 833.9588226171728, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.21934407763183117, + "stddev_ms": 0.014434004239865978, + "min_ms": 0.20480016246438026, + "max_ms": 0.30449964106082916, + "iterations": 50, + "ops_per_sec": 4559.047186487064, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.21223997697234154, + "stddev_ms": 0.01871999319074352, + "min_ms": 0.20110001787543297, + "max_ms": 0.30030030757188797, + "iterations": 50, + "ops_per_sec": 4711.64770306358, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.02775203436613083, + "stddev_ms": 0.0017957135781265009, + "min_ms": 0.026800204068422318, + "max_ms": 0.03860006108880043, + "iterations": 50, + "ops_per_sec": 36033.39441019218, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.021709967404603958, + "stddev_ms": 0.0017051072957982943, + "min_ms": 0.020899809896945953, + "max_ms": 0.032899901270866394, + "iterations": 50, + "ops_per_sec": 46061.791865607935, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.4827259946614504, + "stddev_ms": 0.018988118529897163, + "min_ms": 0.4349001683294773, + "max_ms": 0.529599841684103, + "iterations": 50, + "ops_per_sec": 2071.5685731847293, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.8942619897425175, + "stddev_ms": 0.049318536600239035, + "min_ms": 0.8450997993350029, + "max_ms": 1.1044000275433064, + "iterations": 50, + "ops_per_sec": 1118.2405284696574, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.014298008754849434, + "stddev_ms": 0.0001169073057823286, + "min_ms": 0.014099758118391037, + "max_ms": 0.014699995517730713, + "iterations": 50, + "ops_per_sec": 69939.80890246913, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005846042186021805, + "stddev_ms": 0.00032834566889237147, + "min_ms": 0.005600042641162872, + "max_ms": 0.007299706339836121, + "iterations": 50, + "ops_per_sec": 171055.8987054614, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006627999246120453, + "stddev_ms": 0.00011255137252313651, + "min_ms": 0.0064997002482414246, + "max_ms": 0.0070999376475811005, + "iterations": 50, + "ops_per_sec": 150875.09259831722, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.01936599612236023, + "stddev_ms": 0.00020864674477885685, + "min_ms": 0.018999911844730377, + "max_ms": 0.019799917936325073, + "iterations": 50, + "ops_per_sec": 51636.89973300093, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005761990323662758, + "stddev_ms": 0.00010475202653573824, + "min_ms": 0.005600042641162872, + "max_ms": 0.006100162863731384, + "iterations": 50, + "ops_per_sec": 173551.141849944, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 1.0969999711960554, + "stddev_ms": 0.05881814118692986, + "min_ms": 1.0220999829471111, + "max_ms": 1.432100310921669, + "iterations": 50, + "ops_per_sec": 911.5770521941795, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.04210406914353371, + "stddev_ms": 0.025991615281560215, + "min_ms": 0.03769993782043457, + "max_ms": 0.2217995934188366, + "iterations": 50, + "ops_per_sec": 23750.67351782503, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.012219976633787155, + "stddev_ms": 0.0006239974508273824, + "min_ms": 0.011399853974580765, + "max_ms": 0.01400010660290718, + "iterations": 50, + "ops_per_sec": 81833.21703210859, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.012054014950990677, + "stddev_ms": 0.0017419521107138645, + "min_ms": 0.011200085282325745, + "max_ms": 0.023900065571069717, + "iterations": 50, + "ops_per_sec": 82959.91037557271, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.02062601037323475, + "stddev_ms": 0.0008422507393485392, + "min_ms": 0.019600149244070053, + "max_ms": 0.025700312107801437, + "iterations": 50, + "ops_per_sec": 48482.473435466, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011513978242874146, + "stddev_ms": 0.0003356870354983744, + "min_ms": 0.010800082236528397, + "max_ms": 0.012200325727462769, + "iterations": 50, + "ops_per_sec": 86850.95445780327, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 40.80058599822223, + "stddev_ms": 1.451757947663681, + "min_ms": 37.59669978171587, + "max_ms": 43.51850040256977, + "iterations": 50, + "ops_per_sec": 24.509451899626445, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 4.798171985894442, + "stddev_ms": 0.2755832178637058, + "min_ms": 4.426899831742048, + "max_ms": 5.73590025305748, + "iterations": 50, + "ops_per_sec": 208.41270445073198, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 10.558814015239477, + "stddev_ms": 0.35117014042500594, + "min_ms": 10.187000036239624, + "max_ms": 12.567900121212006, + "iterations": 50, + "ops_per_sec": 94.70760622894821, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 43.391236029565334, + "stddev_ms": 1.2472826675862758, + "min_ms": 41.0502003505826, + "max_ms": 46.30090016871691, + "iterations": 50, + "ops_per_sec": 23.04612846978209, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 43.533903965726495, + "stddev_ms": 1.4910793238041293, + "min_ms": 40.80670000985265, + "max_ms": 46.221500262618065, + "iterations": 50, + "ops_per_sec": 22.970602424888956, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float16)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 42.802744060754776, + "stddev_ms": 1.396106146130952, + "min_ms": 40.55600007995963, + "max_ms": 46.561900060623884, + "iterations": 50, + "ops_per_sec": 23.362988096758162, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 44.38287001103163, + "stddev_ms": 0.60032961882923, + "min_ms": 43.55359962210059, + "max_ms": 46.42589995637536, + "iterations": 50, + "ops_per_sec": 22.531215303369162, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 46.028249990195036, + "stddev_ms": 0.6587517332255554, + "min_ms": 44.46940030902624, + "max_ms": 47.51150030642748, + "iterations": 50, + "ops_per_sec": 21.725787971800376, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 47.841819981113076, + "stddev_ms": 0.6524295549477496, + "min_ms": 46.54309991747141, + "max_ms": 49.15420012548566, + "iterations": 50, + "ops_per_sec": 20.902214848740673, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 79.62906199507415, + "stddev_ms": 0.7397211790818603, + "min_ms": 78.48009979352355, + "max_ms": 82.35060004517436, + "iterations": 50, + "ops_per_sec": 12.558229055390102, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 80.17566399648786, + "stddev_ms": 0.9231213712797357, + "min_ms": 78.95249966531992, + "max_ms": 82.85719994455576, + "iterations": 50, + "ops_per_sec": 12.47261263771767, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float16)", + "category": "Trig", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 92.50621598213911, + "stddev_ms": 1.114347238147379, + "min_ms": 90.8399997279048, + "max_ms": 96.85550024732947, + "iterations": 50, + "ops_per_sec": 10.810084375228122, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 48.19306402467191, + "stddev_ms": 1.232110393176745, + "min_ms": 45.583799947053194, + "max_ms": 51.1722001247108, + "iterations": 50, + "ops_per_sec": 20.74987387164387, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 55.043928027153015, + "stddev_ms": 0.816463821786141, + "min_ms": 53.69960004463792, + "max_ms": 56.90800026059151, + "iterations": 50, + "ops_per_sec": 18.167308109019814, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 48.933943938463926, + "stddev_ms": 0.5007689217402975, + "min_ms": 47.981999814510345, + "max_ms": 50.18809996545315, + "iterations": 50, + "ops_per_sec": 20.435712299371037, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float16)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 60.586939956992865, + "stddev_ms": 0.9769564600650343, + "min_ms": 58.83139977231622, + "max_ms": 62.915099784731865, + "iterations": 50, + "ops_per_sec": 16.50520723954439, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float16)", + "category": "Math", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 93.79149195738137, + "stddev_ms": 0.46924843683665995, + "min_ms": 93.11349969357252, + "max_ms": 94.89959990605712, + "iterations": 50, + "ops_per_sec": 10.661947892399427, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 106.86316595412791, + "stddev_ms": 0.854368832723729, + "min_ms": 105.61349987983704, + "max_ms": 109.28009962663054, + "iterations": 50, + "ops_per_sec": 9.35776131159412, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 150.35642004571855, + "stddev_ms": 1.0043022659861427, + "min_ms": 148.62499991431832, + "max_ms": 154.0048997849226, + "iterations": 50, + "ops_per_sec": 6.650863326593784, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float16)", + "category": "Power", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 84.20189796946943, + "stddev_ms": 0.6839602773466855, + "min_ms": 83.00960017368197, + "max_ms": 85.93369973823428, + "iterations": 50, + "ops_per_sec": 11.8762168563301, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.095488039776683, + "stddev_ms": 0.28475437156347216, + "min_ms": 6.750800181180239, + "max_ms": 8.056800346821547, + "iterations": 50, + "ops_per_sec": 140.93463259948967, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.118894010782242, + "stddev_ms": 0.37190292037857764, + "min_ms": 6.6605000756680965, + "max_ms": 8.916699793189764, + "iterations": 50, + "ops_per_sec": 140.47125838443512, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 36.04214999824762, + "stddev_ms": 0.38636961317214175, + "min_ms": 35.614300053566694, + "max_ms": 37.24780026823282, + "iterations": 50, + "ops_per_sec": 27.745292665632327, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.303029987961054, + "stddev_ms": 0.28697854523091143, + "min_ms": 6.717499811202288, + "max_ms": 8.059300016611814, + "iterations": 50, + "ops_per_sec": 136.92946648835982, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.273214012384415, + "stddev_ms": 0.24089688974327436, + "min_ms": 6.76759984344244, + "max_ms": 8.069599978625774, + "iterations": 50, + "ops_per_sec": 137.49079819420368, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float32)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.358641978353262, + "stddev_ms": 0.32473093519715635, + "min_ms": 6.765000056475401, + "max_ms": 8.3019002340734, + "iterations": 50, + "ops_per_sec": 135.89463965520753, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 10.428480012342334, + "stddev_ms": 0.37843190245724795, + "min_ms": 9.839400183409452, + "max_ms": 11.325499974191189, + "iterations": 50, + "ops_per_sec": 95.89125153584014, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 13.180046007037163, + "stddev_ms": 0.317334236011649, + "min_ms": 12.603300157934427, + "max_ms": 14.167699962854385, + "iterations": 50, + "ops_per_sec": 75.87226929754831, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 23.5443779733032, + "stddev_ms": 0.44898705067175204, + "min_ms": 22.713799960911274, + "max_ms": 24.5317998342216, + "iterations": 50, + "ops_per_sec": 42.47298446932396, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 80.76433394104242, + "stddev_ms": 1.7776142440676213, + "min_ms": 78.46619980409741, + "max_ms": 87.18949975445867, + "iterations": 50, + "ops_per_sec": 12.381703051374078, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 82.67912001349032, + "stddev_ms": 3.4773247692216116, + "min_ms": 79.4509002007544, + "max_ms": 94.5751997642219, + "iterations": 50, + "ops_per_sec": 12.094952145557853, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float32)", + "category": "Trig", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 92.75288200005889, + "stddev_ms": 1.7344225353548677, + "min_ms": 90.53980000317097, + "max_ms": 97.95190021395683, + "iterations": 50, + "ops_per_sec": 10.78133615297652, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 22.967341970652342, + "stddev_ms": 0.5335628586691417, + "min_ms": 22.10049983114004, + "max_ms": 24.533499963581562, + "iterations": 50, + "ops_per_sec": 43.54008405839036, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 31.738396026194096, + "stddev_ms": 0.7764460862749003, + "min_ms": 30.500399880111217, + "max_ms": 34.06530013307929, + "iterations": 50, + "ops_per_sec": 31.507578365796668, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 23.438732009381056, + "stddev_ms": 1.1380931082637349, + "min_ms": 22.580099757760763, + "max_ms": 30.37300007417798, + "iterations": 50, + "ops_per_sec": 42.66442397992189, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float32)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 33.351403987035155, + "stddev_ms": 0.9258986466266629, + "min_ms": 31.772600021213293, + "max_ms": 35.9485000371933, + "iterations": 50, + "ops_per_sec": 29.983745223701366, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float32)", + "category": "Math", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.5158479902893305, + "stddev_ms": 0.38937232428205876, + "min_ms": 6.99530029669404, + "max_ms": 8.627800270915031, + "iterations": 50, + "ops_per_sec": 133.05218536777565, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 18.940043980255723, + "stddev_ms": 0.30350730093044653, + "min_ms": 18.45539966598153, + "max_ms": 19.552099984139204, + "iterations": 50, + "ops_per_sec": 52.798187852280705, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 72.06282598897815, + "stddev_ms": 0.8066478025109104, + "min_ms": 70.88560005649924, + "max_ms": 75.75109973549843, + "iterations": 50, + "ops_per_sec": 13.87678024385205, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float32)", + "category": "Power", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 16.0018780361861, + "stddev_ms": 0.28079357496031687, + "min_ms": 15.542399603873491, + "max_ms": 16.75389986485243, + "iterations": 50, + "ops_per_sec": 62.49266478213584, + "allocated_mb": 0.0 + }, + { + "name": "np.sqrt (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 15.178506029769778, + "stddev_ms": 0.5289000864827084, + "min_ms": 14.369099866598845, + "max_ms": 16.843799967318773, + "iterations": 50, + "ops_per_sec": 65.88263680487978, + "allocated_mb": 0.0 + }, + { + "name": "np.abs (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.68489003367722, + "stddev_ms": 0.4459019240406923, + "min_ms": 13.876199722290039, + "max_ms": 15.924100298434496, + "iterations": 50, + "ops_per_sec": 68.09720724545267, + "allocated_mb": 0.0 + }, + { + "name": "np.sign (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 40.61509799212217, + "stddev_ms": 0.4676169626900557, + "min_ms": 39.869300089776516, + "max_ms": 41.582599747926, + "iterations": 50, + "ops_per_sec": 24.621385874631226, + "allocated_mb": 0.0 + }, + { + "name": "np.floor (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.833067962899804, + "stddev_ms": 0.5067162698766436, + "min_ms": 13.81279993802309, + "max_ms": 15.840199775993824, + "iterations": 50, + "ops_per_sec": 67.41693643561679, + "allocated_mb": 0.0 + }, + { + "name": "np.ceil (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.629811998456717, + "stddev_ms": 0.46735450350837876, + "min_ms": 13.786399737000465, + "max_ms": 15.88929956778884, + "iterations": 50, + "ops_per_sec": 68.35357830336363, + "allocated_mb": 0.0 + }, + { + "name": "np.round (float64)", + "category": "Rounding", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 15.062697976827621, + "stddev_ms": 0.831589077672439, + "min_ms": 13.61499959602952, + "max_ms": 19.13309982046485, + "iterations": 50, + "ops_per_sec": 66.38916889513386, + "allocated_mb": 0.0 + }, + { + "name": "np.exp (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 33.44268802553415, + "stddev_ms": 0.7024984419041599, + "min_ms": 32.30570023879409, + "max_ms": 35.39739968255162, + "iterations": 50, + "ops_per_sec": 29.901902599350873, + "allocated_mb": 0.0 + }, + { + "name": "np.log (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 31.912763994187117, + "stddev_ms": 0.699163370978725, + "min_ms": 31.016299966722727, + "max_ms": 34.76639976724982, + "iterations": 50, + "ops_per_sec": 31.335424289232645, + "allocated_mb": 0.0 + }, + { + "name": "np.log10 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 32.98548802733421, + "stddev_ms": 0.6104334339165391, + "min_ms": 31.98050009086728, + "max_ms": 35.31849989667535, + "iterations": 50, + "ops_per_sec": 30.316362127834097, + "allocated_mb": 0.0 + }, + { + "name": "np.sin (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 82.05599601380527, + "stddev_ms": 1.2109523999783092, + "min_ms": 80.06319962441921, + "max_ms": 84.95109993964434, + "iterations": 50, + "ops_per_sec": 12.186799851064606, + "allocated_mb": 0.0 + }, + { + "name": "np.cos (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 81.99060801416636, + "stddev_ms": 1.2786850986920082, + "min_ms": 80.30330017209053, + "max_ms": 85.8228001743555, + "iterations": 50, + "ops_per_sec": 12.19651889674022, + "allocated_mb": 0.0 + }, + { + "name": "np.tan (float64)", + "category": "Trig", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 94.53113004565239, + "stddev_ms": 1.072018197777912, + "min_ms": 92.54069998860359, + "max_ms": 97.41180017590523, + "iterations": 50, + "ops_per_sec": 10.578525820193464, + "allocated_mb": 0.0 + }, + { + "name": "np.exp2 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 37.01950001530349, + "stddev_ms": 13.370500386261451, + "min_ms": 29.84659979119897, + "max_ms": 116.01739982143044, + "iterations": 50, + "ops_per_sec": 27.012790545161604, + "allocated_mb": 0.0 + }, + { + "name": "np.expm1 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 47.04529202543199, + "stddev_ms": 1.1667952789463334, + "min_ms": 44.08210003748536, + "max_ms": 49.781200010329485, + "iterations": 50, + "ops_per_sec": 21.256112077259818, + "allocated_mb": 0.0 + }, + { + "name": "np.log2 (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 50.1018500328064, + "stddev_ms": 1.4365035848416896, + "min_ms": 47.90950007736683, + "max_ms": 57.756700087338686, + "iterations": 50, + "ops_per_sec": 19.959342805609094, + "allocated_mb": 0.0 + }, + { + "name": "np.log1p (float64)", + "category": "ExpLog", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 48.208328019827604, + "stddev_ms": 3.306137247117637, + "min_ms": 44.34650018811226, + "max_ms": 61.0317001119256, + "iterations": 50, + "ops_per_sec": 20.743303928497788, + "allocated_mb": 0.0 + }, + { + "name": "np.clip(a, -10, 10) (float64)", + "category": "Math", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 18.697130037471652, + "stddev_ms": 1.653290737073644, + "min_ms": 16.40920015051961, + "max_ms": 24.8000998981297, + "iterations": 50, + "ops_per_sec": 53.48414425079468, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 2) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 28.440477987751365, + "stddev_ms": 1.6586186974272483, + "min_ms": 25.55439993739128, + "max_ms": 32.249600160866976, + "iterations": 50, + "ops_per_sec": 35.1611530731191, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 3) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 124.6531679853797, + "stddev_ms": 6.926287444784977, + "min_ms": 119.56550041213632, + "max_ms": 165.84519995376468, + "iterations": 50, + "ops_per_sec": 8.022259010034048, + "allocated_mb": 0.0 + }, + { + "name": "np.power(a, 0.5) (float64)", + "category": "Power", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 25.40127999149263, + "stddev_ms": 2.8683561282785277, + "min_ms": 21.58669987693429, + "max_ms": 37.71559987217188, + "iterations": 50, + "ops_per_sec": 39.36809484935086, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 121.42529194243252, + "stddev_ms": 1.8472126607705444, + "min_ms": 119.23739966005087, + "max_ms": 128.5784002393484, + "iterations": 50, + "ops_per_sec": 8.235516538630996, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 23.132408037781715, + "stddev_ms": 0.3970195414263997, + "min_ms": 22.41319976747036, + "max_ms": 24.120999965816736, + "iterations": 50, + "ops_per_sec": 43.22939481124141, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 23.119867956265807, + "stddev_ms": 0.47956213781311374, + "min_ms": 22.34450029209256, + "max_ms": 24.644900113344193, + "iterations": 50, + "ops_per_sec": 43.25284218281991, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 4.768980015069246, + "stddev_ms": 0.1991970309690638, + "min_ms": 4.51510027050972, + "max_ms": 5.455999635159969, + "iterations": 50, + "ops_per_sec": 209.6884442459715, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 4.231904000043869, + "stddev_ms": 0.17831800346899326, + "min_ms": 4.010600037872791, + "max_ms": 5.028400104492903, + "iterations": 50, + "ops_per_sec": 236.30025633606851, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float16)", + "category": "Unary", + "suite": "Unary", + "dtype": "float16", + "n": 10000000, + "mean_ms": 42.039622040465474, + "stddev_ms": 1.0376832978567705, + "min_ms": 40.10089999064803, + "max_ms": 44.85550010576844, + "iterations": 50, + "ops_per_sec": 23.7870835051144, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 94.51945799402893, + "stddev_ms": 0.9340957160995549, + "min_ms": 92.89649967104197, + "max_ms": 97.0507999882102, + "iterations": 50, + "ops_per_sec": 10.5798321448603, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.161999996751547, + "stddev_ms": 0.23373140941653586, + "min_ms": 6.746700033545494, + "max_ms": 7.7574001625180244, + "iterations": 50, + "ops_per_sec": 139.62580291169616, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.1832500118762255, + "stddev_ms": 0.33230638179379435, + "min_ms": 6.627500057220459, + "max_ms": 8.059600368142128, + "iterations": 50, + "ops_per_sec": 139.21275165790945, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.782608028501272, + "stddev_ms": 0.28599807657440407, + "min_ms": 7.337499875575304, + "max_ms": 8.73570004478097, + "iterations": 50, + "ops_per_sec": 128.49163112645851, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.762011997401714, + "stddev_ms": 0.5081343111652483, + "min_ms": 7.161600049585104, + "max_ms": 10.328399948775768, + "iterations": 50, + "ops_per_sec": 128.83257592680144, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float32)", + "category": "Unary", + "suite": "Unary", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.181719960644841, + "stddev_ms": 0.4811629467938943, + "min_ms": 6.678000092506409, + "max_ms": 10.09340025484562, + "iterations": 50, + "ops_per_sec": 139.24241065927202, + "allocated_mb": 0.0 + }, + { + "name": "np.cbrt(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 115.38688402622938, + "stddev_ms": 1.6712604956663706, + "min_ms": 112.87260008975863, + "max_ms": 121.17520021274686, + "iterations": 50, + "ops_per_sec": 8.666496269824595, + "allocated_mb": 0.0 + }, + { + "name": "np.reciprocal(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.726590001955628, + "stddev_ms": 0.5131955892234862, + "min_ms": 13.817300088703632, + "max_ms": 16.014700289815664, + "iterations": 50, + "ops_per_sec": 67.90438247192353, + "allocated_mb": 0.0 + }, + { + "name": "np.square(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.915789943188429, + "stddev_ms": 0.6240175394316212, + "min_ms": 14.00130009278655, + "max_ms": 18.08069972321391, + "iterations": 50, + "ops_per_sec": 67.04304658411125, + "allocated_mb": 0.0 + }, + { + "name": "np.negative(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 16.065137945115566, + "stddev_ms": 0.5085627152510972, + "min_ms": 15.093499794602394, + "max_ms": 17.585199791938066, + "iterations": 50, + "ops_per_sec": 62.24658657873768, + "allocated_mb": 0.0 + }, + { + "name": "np.positive(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 15.124128004536033, + "stddev_ms": 0.6120031941390793, + "min_ms": 14.210199937224388, + "max_ms": 16.88799960538745, + "iterations": 50, + "ops_per_sec": 66.11951444077171, + "allocated_mb": 0.0 + }, + { + "name": "np.trunc(a) (float64)", + "category": "Unary", + "suite": "Unary", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.667380005121231, + "stddev_ms": 0.5730631389330183, + "min_ms": 13.781100045889616, + "max_ms": 16.623900271952152, + "iterations": 50, + "ops_per_sec": 68.1785022035866, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.002423962578177452, + "stddev_ms": 0.0004538367247015314, + "min_ms": 0.0020996667444705963, + "max_ms": 0.004400033503770828, + "iterations": 50, + "ops_per_sec": 412547.62305443175, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0026200246065855026, + "stddev_ms": 8.807370318546971e-05, + "min_ms": 0.002400018274784088, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 381675.80468002975, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.002524023875594139, + "stddev_ms": 7.442678279967889e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.00270036980509758, + "iterations": 50, + "ops_per_sec": 396192.7657140749, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.00307595357298851, + "stddev_ms": 0.00010011570308710304, + "min_ms": 0.0029997900128364563, + "max_ms": 0.0034999102354049683, + "iterations": 50, + "ops_per_sec": 325102.4361295636, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0015639513731002808, + "stddev_ms": 8.025376506166874e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 639406.0692677815, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.001561986282467842, + "stddev_ms": 6.971510663165101e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 640210.4879052213, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0008899718523025513, + "stddev_ms": 5.8007100039273274e-05, + "min_ms": 0.0007995404303073883, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1123631.0422771033, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.001325998455286026, + "stddev_ms": 0.00036858376826015614, + "min_ms": 0.0009997747838497162, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 754148.691511329, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0024759676307439804, + "stddev_ms": 7.438586400980163e-05, + "min_ms": 0.0023995526134967804, + "max_ms": 0.002699904143810272, + "iterations": 50, + "ops_per_sec": 403882.5013635252, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0019179657101631165, + "stddev_ms": 5.607533297696383e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 521385.75507429347, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0018879584968090057, + "stddev_ms": 5.206538416723599e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 529672.6605432177, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.003895992413163185, + "stddev_ms": 0.0004915550597171528, + "min_ms": 0.0034999102354049683, + "max_ms": 0.006299931555986404, + "iterations": 50, + "ops_per_sec": 256674.01112521483, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0035140197724103928, + "stddev_ms": 5.718933259028502e-05, + "min_ms": 0.0033997930586338043, + "max_ms": 0.003600027412176132, + "iterations": 50, + "ops_per_sec": 284574.38055735925, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0021860189735889435, + "stddev_ms": 0.000843472556053981, + "min_ms": 0.00200001522898674, + "max_ms": 0.00800006091594696, + "iterations": 50, + "ops_per_sec": 457452.57112669456, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.002388041466474533, + "stddev_ms": 6.88910917212687e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.002600252628326416, + "iterations": 50, + "ops_per_sec": 418753.19756331557, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0023119430989027023, + "stddev_ms": 4.8008993391872225e-05, + "min_ms": 0.0021997839212417603, + "max_ms": 0.002400018274784088, + "iterations": 50, + "ops_per_sec": 432536.59680232673, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.003002006560564041, + "stddev_ms": 5.526279747877389e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.0030999071896076202, + "iterations": 50, + "ops_per_sec": 333110.5311815548, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0017039664089679718, + "stddev_ms": 0.00041594575590607214, + "min_ms": 0.0014998950064182281, + "max_ms": 0.0032996758818626404, + "iterations": 50, + "ops_per_sec": 586866.0290114888, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0015540234744548798, + "stddev_ms": 5.42106510441178e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.0016996636986732483, + "iterations": 50, + "ops_per_sec": 643490.9230381992, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0008919835090637207, + "stddev_ms": 5.282601684226469e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1121096.9595723355, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0008939672261476517, + "stddev_ms": 4.6966519214189754e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1118609.240642157, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.002516014501452446, + "stddev_ms": 9.55594743711441e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.0029001384973526, + "iterations": 50, + "ops_per_sec": 397453.98900631117, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0019120890647172928, + "stddev_ms": 6.272101138837838e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 522988.19048361253, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0020299572497606277, + "stddev_ms": 0.0003581657643533823, + "min_ms": 0.0017997808754444122, + "max_ms": 0.0034999102354049683, + "iterations": 50, + "ops_per_sec": 492621.21166242287, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0037640053778886795, + "stddev_ms": 0.0006669506408125318, + "min_ms": 0.0034999102354049683, + "max_ms": 0.00800006091594696, + "iterations": 50, + "ops_per_sec": 265674.4344400815, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.003629978746175766, + "stddev_ms": 8.632837518564254e-05, + "min_ms": 0.0034999102354049683, + "max_ms": 0.0038999132812023163, + "iterations": 50, + "ops_per_sec": 275483.70663423697, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.002049999311566353, + "stddev_ms": 6.777255700061699e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 487805.04186409956, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0025159772485494614, + "stddev_ms": 0.0003960744377611894, + "min_ms": 0.002299901098012924, + "max_ms": 0.00400003045797348, + "iterations": 50, + "ops_per_sec": 397459.87392236193, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0023139454424381256, + "stddev_ms": 7.566564515497529e-05, + "min_ms": 0.0021997839212417603, + "max_ms": 0.002600252628326416, + "iterations": 50, + "ops_per_sec": 432162.30670777353, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0030579790472984314, + "stddev_ms": 9.915593260754766e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.0033997930586338043, + "iterations": 50, + "ops_per_sec": 327013.35899716156, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.00156402587890625, + "stddev_ms": 6.629367598325351e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 639375.6097560975, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0015400070697069168, + "stddev_ms": 5.342980662977867e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.0016996636986732483, + "iterations": 50, + "ops_per_sec": 649347.6683781153, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0010739825665950775, + "stddev_ms": 0.0006083767585386184, + "min_ms": 0.000800006091594696, + "max_ms": 0.004800036549568176, + "iterations": 50, + "ops_per_sec": 931113.8105065991, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0008520111441612244, + "stddev_ms": 5.7998207088976904e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1173693.5682742337, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.002482030540704727, + "stddev_ms": 0.00011375870426121321, + "min_ms": 0.002299901098012924, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 402895.92879710026, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.001966021955013275, + "stddev_ms": 0.00010806372662719331, + "min_ms": 0.0017997808754444122, + "max_ms": 0.0023995526134967804, + "iterations": 50, + "ops_per_sec": 508641.31880625297, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0019919686019420624, + "stddev_ms": 0.00010656929053670138, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002299901098012924, + "iterations": 50, + "ops_per_sec": 502015.944942633, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.003832019865512848, + "stddev_ms": 0.00046218282504738973, + "min_ms": 0.0034999102354049683, + "max_ms": 0.0060996972024440765, + "iterations": 50, + "ops_per_sec": 260958.98118893694, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0036899838596582413, + "stddev_ms": 0.00014463319858943049, + "min_ms": 0.0034999102354049683, + "max_ms": 0.004400033503770828, + "iterations": 50, + "ops_per_sec": 271003.89541883196, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.002183998003602028, + "stddev_ms": 9.336992849669926e-05, + "min_ms": 0.0020996667444705963, + "max_ms": 0.0024996697902679443, + "iterations": 50, + "ops_per_sec": 457875.8764205454, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.002488037571310997, + "stddev_ms": 9.613246893888561e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.00270036980509758, + "iterations": 50, + "ops_per_sec": 401923.1910043384, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0026859622448682785, + "stddev_ms": 0.0008386481526208799, + "min_ms": 0.002299901098012924, + "max_ms": 0.007300172001123428, + "iterations": 50, + "ops_per_sec": 372306.05229487905, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0031040143221616745, + "stddev_ms": 0.00010682501379465771, + "min_ms": 0.0028996728360652924, + "max_ms": 0.0034999102354049683, + "iterations": 50, + "ops_per_sec": 322163.4619596689, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0015979912132024765, + "stddev_ms": 7.952298050273154e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 625785.668743407, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0015939772129058838, + "stddev_ms": 4.6961776743325936e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 627361.540618865, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0009080022573471069, + "stddev_ms": 4.4437674238976934e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1101318.8479527365, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0009020324796438217, + "stddev_ms": 5.530839810167154e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1108607.5308450777, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.002566026523709297, + "stddev_ms": 0.000357228436193254, + "min_ms": 0.0023995526134967804, + "max_ms": 0.004100147634744644, + "iterations": 50, + "ops_per_sec": 389707.58515561203, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0019659288227558136, + "stddev_ms": 6.580235141473233e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.0021997839212417603, + "iterations": 50, + "ops_per_sec": 508665.4147520015, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.001964019611477852, + "stddev_ms": 6.623124636434144e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 509159.88524551294, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0037400145083665848, + "stddev_ms": 0.00012616234215880718, + "min_ms": 0.003600027412176132, + "max_ms": 0.004200264811515808, + "iterations": 50, + "ops_per_sec": 267378.6419178198, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.003785984590649605, + "stddev_ms": 0.000607441915824384, + "min_ms": 0.0034999102354049683, + "max_ms": 0.0074999406933784485, + "iterations": 50, + "ops_per_sec": 264132.08402108646, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0023239757865667343, + "stddev_ms": 8.461135910262915e-05, + "min_ms": 0.002100132405757904, + "max_ms": 0.0025997869670391083, + "iterations": 50, + "ops_per_sec": 430297.0821728415, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0028039980679750443, + "stddev_ms": 0.0005682229574836985, + "min_ms": 0.002400018274784088, + "max_ms": 0.004600267857313156, + "iterations": 50, + "ops_per_sec": 356633.6266137898, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.00249398872256279, + "stddev_ms": 8.436422585606659e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.002600252628326416, + "iterations": 50, + "ops_per_sec": 400964.1226334068, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0030300021171569824, + "stddev_ms": 0.00010928246122313332, + "min_ms": 0.002800021320581436, + "max_ms": 0.003400258719921112, + "iterations": 50, + "ops_per_sec": 330032.7726959772, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0016039889305830002, + "stddev_ms": 5.701876157469764e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 623445.6989902861, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0016159843653440475, + "stddev_ms": 6.181742849508441e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 618817.8681958332, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0009799841791391373, + "stddev_ms": 0.000239858236327166, + "min_ms": 0.000800006091594696, + "max_ms": 0.0016996636986732483, + "iterations": 50, + "ops_per_sec": 1020424.6367308149, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0008699856698513031, + "stddev_ms": 5.050505682344534e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1149444.2203524096, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.002411995083093643, + "stddev_ms": 7.46319765012782e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.002500135451555252, + "iterations": 50, + "ops_per_sec": 414594.54333438876, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.002341950312256813, + "stddev_ms": 0.0008233923647514526, + "min_ms": 0.0018998980522155762, + "max_ms": 0.006299931555986404, + "iterations": 50, + "ops_per_sec": 426994.54158630426, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0019899755716323853, + "stddev_ms": 0.0001832722979078163, + "min_ms": 0.0018998980522155762, + "max_ms": 0.003100372850894928, + "iterations": 50, + "ops_per_sec": 502518.731513722, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.004356000572443008, + "stddev_ms": 0.0015128308888730847, + "min_ms": 0.0034999102354049683, + "max_ms": 0.01400010660290718, + "iterations": 50, + "ops_per_sec": 229568.38121790293, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.003669988363981247, + "stddev_ms": 0.0001432696453924843, + "min_ms": 0.003400258719921112, + "max_ms": 0.004100147634744644, + "iterations": 50, + "ops_per_sec": 272480.4279529617, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0022999942302703857, + "stddev_ms": 9.900403190142078e-05, + "min_ms": 0.002100132405757904, + "max_ms": 0.002500135451555252, + "iterations": 50, + "ops_per_sec": 434783.6993845157, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0028319749981164932, + "stddev_ms": 0.00021135122651158898, + "min_ms": 0.002400018274784088, + "max_ms": 0.003400258719921112, + "iterations": 50, + "ops_per_sec": 353110.4620150552, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.002630027011036873, + "stddev_ms": 0.00019818158290506974, + "min_ms": 0.002400018274784088, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 380224.2318438227, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0030220020562410355, + "stddev_ms": 0.00017053389495402547, + "min_ms": 0.0028996728360652924, + "max_ms": 0.004099681973457336, + "iterations": 50, + "ops_per_sec": 330906.45915835863, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0016100052744150162, + "stddev_ms": 4.6267357059244635e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.0017997808754444122, + "iterations": 50, + "ops_per_sec": 621115.9776251931, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0015980005264282227, + "stddev_ms": 3.7761122048745174e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 625782.0216337187, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.000985991209745407, + "stddev_ms": 7.560196548420004e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1014207.8246906584, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0008980277925729752, + "stddev_ms": 0.00016597143458300668, + "min_ms": 0.000800006091594696, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 1113551.2823437904, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0024259835481643677, + "stddev_ms": 8.526959418251049e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.0025997869670391083, + "iterations": 50, + "ops_per_sec": 412203.9495101502, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.00192202627658844, + "stddev_ms": 4.6411084806171485e-05, + "min_ms": 0.00180024653673172, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 520284.25010660157, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0019340123981237411, + "stddev_ms": 5.1935012331613185e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 517059.76702638407, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.004416005685925484, + "stddev_ms": 0.0029146259312448504, + "min_ms": 0.0036996789276599884, + "max_ms": 0.02290029078722, + "iterations": 50, + "ops_per_sec": 226448.98379256166, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.003411984071135521, + "stddev_ms": 5.5835359884434804e-05, + "min_ms": 0.0032996758818626404, + "max_ms": 0.003500375896692276, + "iterations": 50, + "ops_per_sec": 293084.6038994538, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0017540156841278076, + "stddev_ms": 0.00016313986240986672, + "min_ms": 0.001600012183189392, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 570120.3296236513, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.001979973167181015, + "stddev_ms": 4.94992186501194e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 505057.34955173614, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.001926003023982048, + "stddev_ms": 5.272834698812625e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 519209.98438127106, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.002874014899134636, + "stddev_ms": 0.00017822478054170765, + "min_ms": 0.002800021320581436, + "max_ms": 0.00400003045797348, + "iterations": 50, + "ops_per_sec": 347945.30825191597, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.001650005578994751, + "stddev_ms": 5.440118775950682e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 606058.5568499955, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0016600079834461212, + "stddev_ms": 4.9483964367235475e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 602406.7413965283, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009599886834621429, + "stddev_ms": 5.3429984702880054e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1041678.9460408622, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009759794920682907, + "stddev_ms": 4.310490303327832e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1024611.6933059783, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0017039850354194641, + "stddev_ms": 9.681806632961385e-05, + "min_ms": 0.0015995465219020844, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 586859.6139131195, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0026739761233329773, + "stddev_ms": 0.003024075781092596, + "min_ms": 0.00200001522898674, + "max_ms": 0.020100269466638565, + "iterations": 50, + "ops_per_sec": 373974.91745496594, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0021139997988939285, + "stddev_ms": 0.0005042485502435325, + "min_ms": 0.0018998980522155762, + "max_ms": 0.0044996850192546844, + "iterations": 50, + "ops_per_sec": 473036.9418782408, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.004274044185876846, + "stddev_ms": 0.000286307211125708, + "min_ms": 0.0033997930586338043, + "max_ms": 0.005000270903110504, + "iterations": 50, + "ops_per_sec": 233970.4402926859, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.003351997584104538, + "stddev_ms": 5.7954494620859266e-05, + "min_ms": 0.0032996758818626404, + "max_ms": 0.0034999102354049683, + "iterations": 50, + "ops_per_sec": 298329.57062442, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0017520133405923843, + "stddev_ms": 5.435295508778874e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 570771.9095688413, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0019579846411943436, + "stddev_ms": 5.747866456032266e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 510729.23605264537, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0019279681146144867, + "stddev_ms": 5.733422045080454e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 518680.77714550705, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.003176005557179451, + "stddev_ms": 0.0008548560522365768, + "min_ms": 0.0028996728360652924, + "max_ms": 0.008899718523025513, + "iterations": 50, + "ops_per_sec": 314860.9100319335, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.001690024510025978, + "stddev_ms": 5.0510682669019874e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 591707.394814427, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0016979780048131943, + "stddev_ms": 0.00015580513924524843, + "min_ms": 0.001600012183189392, + "max_ms": 0.002699904143810272, + "iterations": 50, + "ops_per_sec": 588935.7795951053, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0009700097143650055, + "stddev_ms": 5.0542877507761467e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1030917.5106092901, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0009719934314489365, + "stddev_ms": 4.540026829936113e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1028813.5368459378, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.001666005700826645, + "stddev_ms": 7.454286196718082e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 600238.0421050278, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0019819941371679306, + "stddev_ms": 5.2280190898643296e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 504542.3602659587, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.00201396644115448, + "stddev_ms": 5.7178940275439636e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.0021997839212417603, + "iterations": 50, + "ops_per_sec": 496532.6033073138, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0036519858986139297, + "stddev_ms": 8.631595108679239e-05, + "min_ms": 0.0034999102354049683, + "max_ms": 0.00400003045797348, + "iterations": 50, + "ops_per_sec": 273823.62028822146, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0036779697984457016, + "stddev_ms": 9.101090594835706e-05, + "min_ms": 0.0034999102354049683, + "max_ms": 0.0038999132812023163, + "iterations": 50, + "ops_per_sec": 271889.1276438966, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.003964034840464592, + "stddev_ms": 0.0010397676497331735, + "min_ms": 0.0034999102354049683, + "max_ms": 0.010400079190731049, + "iterations": 50, + "ops_per_sec": 252268.21666451302, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005253981798887253, + "stddev_ms": 0.0008638214466868307, + "min_ms": 0.00490015372633934, + "max_ms": 0.010400079190731049, + "iterations": 50, + "ops_per_sec": 190331.83560167474, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0039459578692913055, + "stddev_ms": 9.087245317802089e-05, + "min_ms": 0.0037997961044311523, + "max_ms": 0.0041997991502285, + "iterations": 50, + "ops_per_sec": 253423.8917709479, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004695970565080643, + "stddev_ms": 0.00012448482959092477, + "min_ms": 0.0044996850192546844, + "max_ms": 0.005200039595365524, + "iterations": 50, + "ops_per_sec": 212948.52387619836, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.019989972934126854, + "stddev_ms": 0.0014320008476040463, + "min_ms": 0.017399899661540985, + "max_ms": 0.021799933165311813, + "iterations": 50, + "ops_per_sec": 50025.08023874316, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.020277947187423706, + "stddev_ms": 0.0019721827411620712, + "min_ms": 0.01800013706088066, + "max_ms": 0.027799978852272034, + "iterations": 50, + "ops_per_sec": 49314.65649640293, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004065986722707748, + "stddev_ms": 0.000523998863311049, + "min_ms": 0.003700144588947296, + "max_ms": 0.006500165909528732, + "iterations": 50, + "ops_per_sec": 245942.76081011127, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0037319958209991455, + "stddev_ms": 7.40551750923664e-05, + "min_ms": 0.003600027412176132, + "max_ms": 0.0038999132812023163, + "iterations": 50, + "ops_per_sec": 267953.1403473747, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0029120035469532013, + "stddev_ms": 0.0003420888929640595, + "min_ms": 0.0025997869670391083, + "max_ms": 0.00490015372633934, + "iterations": 50, + "ops_per_sec": 343406.17512169224, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0029380153864622116, + "stddev_ms": 0.0002203075923677854, + "min_ms": 0.0025997869670391083, + "max_ms": 0.003400258719921112, + "iterations": 50, + "ops_per_sec": 340365.81449089764, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.007077986374497414, + "stddev_ms": 0.0005880950923787861, + "min_ms": 0.0057998113334178925, + "max_ms": 0.0074999406933784485, + "iterations": 50, + "ops_per_sec": 141283.12023926535, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.004020007327198982, + "stddev_ms": 0.0001339917473062384, + "min_ms": 0.0037997961044311523, + "max_ms": 0.004299916326999664, + "iterations": 50, + "ops_per_sec": 248755.76550174333, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00416196882724762, + "stddev_ms": 0.00045168603628659626, + "min_ms": 0.0038999132812023163, + "max_ms": 0.0064997002482414246, + "iterations": 50, + "ops_per_sec": 240270.9009863769, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006118025630712509, + "stddev_ms": 0.0007244873483882489, + "min_ms": 0.004999805241823196, + "max_ms": 0.007200054824352264, + "iterations": 50, + "ops_per_sec": 163451.4237697856, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00515802763402462, + "stddev_ms": 0.0002657730495579911, + "min_ms": 0.00490015372633934, + "max_ms": 0.0065998174250125885, + "iterations": 50, + "ops_per_sec": 193872.5557427339, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.01999402418732643, + "stddev_ms": 0.0008117491105147345, + "min_ms": 0.019399914890527725, + "max_ms": 0.024999957531690598, + "iterations": 50, + "ops_per_sec": 50014.9439968102, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.021418016403913498, + "stddev_ms": 0.001896606186542813, + "min_ms": 0.02019992098212242, + "max_ms": 0.03310013562440872, + "iterations": 50, + "ops_per_sec": 46689.664492799624, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0017180200666189194, + "stddev_ms": 6.29110400397873e-05, + "min_ms": 0.0015995465219020844, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 582065.3782979439, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.002192007377743721, + "stddev_ms": 0.0005450539884360693, + "min_ms": 0.0018998980522155762, + "max_ms": 0.003700144588947296, + "iterations": 50, + "ops_per_sec": 456202.84409321693, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.002955980598926544, + "stddev_ms": 0.0007120710202483272, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00400003045797348, + "iterations": 50, + "ops_per_sec": 338297.2135754704, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.004010004922747612, + "stddev_ms": 0.00021780570328335026, + "min_ms": 0.003700144588947296, + "max_ms": 0.004699919372797012, + "iterations": 50, + "ops_per_sec": 249376.2524647503, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.00832999125123024, + "stddev_ms": 0.0007277030547317072, + "min_ms": 0.007799826562404633, + "max_ms": 0.011700205504894257, + "iterations": 50, + "ops_per_sec": 120048.14529094637, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.008590025827288628, + "stddev_ms": 0.00020223438644959813, + "min_ms": 0.008299946784973145, + "max_ms": 0.009599607437849045, + "iterations": 50, + "ops_per_sec": 116414.08537134073, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0022700056433677673, + "stddev_ms": 0.001522779073482148, + "min_ms": 0.001600012183189392, + "max_ms": 0.011899974197149277, + "iterations": 50, + "ops_per_sec": 440527.5391810946, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0016660243272781372, + "stddev_ms": 7.175511823209299e-05, + "min_ms": 0.0015995465219020844, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 600231.3313358079, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0009340047836303711, + "stddev_ms": 5.194427795142677e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1070658.3280153158, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0009199418127536774, + "stddev_ms": 4.5216309475886414e-05, + "min_ms": 0.0007995404303073883, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1087025.2728340318, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0029359571635723114, + "stddev_ms": 7.765549124442827e-05, + "min_ms": 0.002800021320581436, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 340604.42448119883, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0020780228078365326, + "stddev_ms": 7.084240006134669e-05, + "min_ms": 0.00200001522898674, + "max_ms": 0.002300366759300232, + "iterations": 50, + "ops_per_sec": 481226.6719252799, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0020780041813850403, + "stddev_ms": 0.0002452475144295025, + "min_ms": 0.0018998980522155762, + "max_ms": 0.003500375896692276, + "iterations": 50, + "ops_per_sec": 481230.98546099925, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.003948016092181206, + "stddev_ms": 0.0009817176103451852, + "min_ms": 0.003600027412176132, + "max_ms": 0.010400079190731049, + "iterations": 50, + "ops_per_sec": 253291.7740584787, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.003630043938755989, + "stddev_ms": 0.00017984457603422327, + "min_ms": 0.0034999102354049683, + "max_ms": 0.004800036549568176, + "iterations": 50, + "ops_per_sec": 275478.75917521224, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.008648009970784187, + "stddev_ms": 0.0009717212868048706, + "min_ms": 0.00819982960820198, + "max_ms": 0.01400010660290718, + "iterations": 50, + "ops_per_sec": 115633.53920477981, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.008669979870319366, + "stddev_ms": 7.890489456009317e-05, + "min_ms": 0.008500181138515472, + "max_ms": 0.008800067007541656, + "iterations": 50, + "ops_per_sec": 115340.52154185268, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.001692008227109909, + "stddev_ms": 6.004434394261701e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 591013.6747432271, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0019620265811681747, + "stddev_ms": 6.355426892844464e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 509677.09081933444, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0018919166177511215, + "stddev_ms": 4.446128648253069e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 528564.5205594089, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0024140067398548126, + "stddev_ms": 5.7169574817334235e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.0025997869670391083, + "iterations": 50, + "ops_per_sec": 414249.0505474495, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.006691981106996536, + "stddev_ms": 0.0010189101984041005, + "min_ms": 0.0061998143792152405, + "max_ms": 0.011699739843606949, + "iterations": 50, + "ops_per_sec": 149432.5796817462, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.006837984547019005, + "stddev_ms": 8.306462378702713e-05, + "min_ms": 0.0066999346017837524, + "max_ms": 0.0070999376475811005, + "iterations": 50, + "ops_per_sec": 146241.92159602736, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0016720127314329147, + "stddev_ms": 0.00015918233675167647, + "min_ms": 0.001600012183189392, + "max_ms": 0.00270036980509758, + "iterations": 50, + "ops_per_sec": 598081.570313762, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0017659831792116165, + "stddev_ms": 0.0003706672811810077, + "min_ms": 0.0015995465219020844, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 566256.8091086957, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0009760074317455292, + "stddev_ms": 4.316488986854507e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1024582.3622588217, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0009800121188163757, + "stddev_ms": 4.042118211360849e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1020395.5449120007, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0028420332819223404, + "stddev_ms": 4.987128080473252e-05, + "min_ms": 0.002800021320581436, + "max_ms": 0.0029001384973526, + "iterations": 50, + "ops_per_sec": 351860.7633347643, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.002075992524623871, + "stddev_ms": 5.175316107490483e-05, + "min_ms": 0.00200001522898674, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 481697.30292317906, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0020559970289468765, + "stddev_ms": 5.014560401511632e-05, + "min_ms": 0.0019995495676994324, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 486382.02581071836, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.002991938963532448, + "stddev_ms": 0.0002593699845818833, + "min_ms": 0.0027995556592941284, + "max_ms": 0.004299916326999664, + "iterations": 50, + "ops_per_sec": 334231.41721425526, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0028880592435598373, + "stddev_ms": 5.206900909226613e-05, + "min_ms": 0.002800021320581436, + "max_ms": 0.003000255674123764, + "iterations": 50, + "ops_per_sec": 346253.2848763153, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.007493970915675163, + "stddev_ms": 0.0010670152521139568, + "min_ms": 0.0069998204708099365, + "max_ms": 0.01200009137392044, + "iterations": 50, + "ops_per_sec": 133440.6032866096, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.007551973685622215, + "stddev_ms": 7.347678784969607e-05, + "min_ms": 0.007300172001123428, + "max_ms": 0.007700175046920776, + "iterations": 50, + "ops_per_sec": 132415.7156299213, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0017839856445789337, + "stddev_ms": 4.2164047796862285e-05, + "min_ms": 0.0016996636986732483, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 560542.627144304, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0020079966634511948, + "stddev_ms": 4.8787565636912524e-05, + "min_ms": 0.0018998980522155762, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 498008.79563279485, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.002059992402791977, + "stddev_ms": 5.34618494048915e-05, + "min_ms": 0.0019995495676994324, + "max_ms": 0.002200249582529068, + "iterations": 50, + "ops_per_sec": 485438.68348478683, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0026759784668684006, + "stddev_ms": 6.868315626745833e-05, + "min_ms": 0.0025997869670391083, + "max_ms": 0.0029997900128364563, + "iterations": 50, + "ops_per_sec": 373695.0847628693, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0030680187046527863, + "stddev_ms": 5.125817144473357e-05, + "min_ms": 0.0029997900128364563, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 325943.2540236654, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0030200183391571045, + "stddev_ms": 4.042118211360849e-05, + "min_ms": 0.0029997900128364563, + "max_ms": 0.003100372850894928, + "iterations": 50, + "ops_per_sec": 331123.81704248284, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (complex128)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0019199587404727936, + "stddev_ms": 4.949160819117192e-05, + "min_ms": 0.00180024653673172, + "max_ms": 0.002100132405757904, + "iterations": 50, + "ops_per_sec": 520844.52593692095, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (complex128)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0019959546625614166, + "stddev_ms": 0.00023904815835194392, + "min_ms": 0.0018998980522155762, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 501013.38409996545, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.0029980111867189407, + "stddev_ms": 5.150101017022216e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.003100372850894928, + "iterations": 50, + "ops_per_sec": 333554.45917945757, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.002930033951997757, + "stddev_ms": 5.440136997407573e-05, + "min_ms": 0.002800021320581436, + "max_ms": 0.003000255674123764, + "iterations": 50, + "ops_per_sec": 341292.97352277423, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.003014020621776581, + "stddev_ms": 0.0005503286878520237, + "min_ms": 0.002800021320581436, + "max_ms": 0.006800051778554916, + "iterations": 50, + "ops_per_sec": 331782.73326164606, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.003266073763370514, + "stddev_ms": 0.0004914067295478583, + "min_ms": 0.0029997900128364563, + "max_ms": 0.005400273948907852, + "iterations": 50, + "ops_per_sec": 306178.0205992723, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 1000, + "mean_ms": 0.003150012344121933, + "stddev_ms": 6.141687300483357e-05, + "min_ms": 0.003000255674123764, + "max_ms": 0.003300141543149948, + "iterations": 50, + "ops_per_sec": 317459.07341158384, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006327945739030838, + "stddev_ms": 0.000134077989115494, + "min_ms": 0.0061998143792152405, + "max_ms": 0.006800051778554916, + "iterations": 50, + "ops_per_sec": 158029.1679544578, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.01266399398446083, + "stddev_ms": 0.0006304255828821318, + "min_ms": 0.01219986006617546, + "max_ms": 0.01659989356994629, + "iterations": 50, + "ops_per_sec": 78964.02992823871, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.00541001558303833, + "stddev_ms": 0.001011419364956775, + "min_ms": 0.004999805241823196, + "max_ms": 0.01200009137392044, + "iterations": 50, + "ops_per_sec": 184842.35112653556, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0052840448915958405, + "stddev_ms": 0.00024692892259522487, + "min_ms": 0.004999805241823196, + "max_ms": 0.006200280040502548, + "iterations": 50, + "ops_per_sec": 189248.95993795936, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.03406204283237457, + "stddev_ms": 0.010771740424862737, + "min_ms": 0.03040023148059845, + "max_ms": 0.09820004925131798, + "iterations": 50, + "ops_per_sec": 29358.192194202195, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.03239401616156101, + "stddev_ms": 0.007205483392057006, + "min_ms": 0.0300002284348011, + "max_ms": 0.08110003545880318, + "iterations": 50, + "ops_per_sec": 30869.898780460808, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006062006577849388, + "stddev_ms": 0.00024739847253774333, + "min_ms": 0.005700159817934036, + "max_ms": 0.007400289177894592, + "iterations": 50, + "ops_per_sec": 164961.87972708684, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.017054015770554543, + "stddev_ms": 0.0018884602773987292, + "min_ms": 0.01619989052414894, + "max_ms": 0.02950010821223259, + "iterations": 50, + "ops_per_sec": 58637.21562440441, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.036453986540436745, + "stddev_ms": 0.0039655732017573895, + "min_ms": 0.0320998951792717, + "max_ms": 0.05759997293353081, + "iterations": 50, + "ops_per_sec": 27431.84202613192, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.03356199711561203, + "stddev_ms": 0.002380353049675331, + "min_ms": 0.030899886041879654, + "max_ms": 0.043200328946113586, + "iterations": 50, + "ops_per_sec": 29795.60472981598, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.006125997751951218, + "stddev_ms": 0.00016137604696857502, + "min_ms": 0.005900394171476364, + "max_ms": 0.00690016895532608, + "iterations": 50, + "ops_per_sec": 163238.71481694322, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0037020258605480194, + "stddev_ms": 0.00020152570819440262, + "min_ms": 0.0034999102354049683, + "max_ms": 0.00490015372633934, + "iterations": 50, + "ops_per_sec": 270122.37020191096, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.010178014636039734, + "stddev_ms": 0.0011227214729004284, + "min_ms": 0.009699724614620209, + "max_ms": 0.017799902707338333, + "iterations": 50, + "ops_per_sec": 98250.98860234102, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0029620248824357986, + "stddev_ms": 6.354132748026026e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.003100372850894928, + "iterations": 50, + "ops_per_sec": 337606.8870757283, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.002958020195364952, + "stddev_ms": 7.583190473719434e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.003200024366378784, + "iterations": 50, + "ops_per_sec": 338063.95289894997, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.020237993448972702, + "stddev_ms": 0.0013553909925777847, + "min_ms": 0.01950003206729889, + "max_ms": 0.029399991035461426, + "iterations": 50, + "ops_per_sec": 49412.01322756436, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0194619782269001, + "stddev_ms": 0.0002919716966392944, + "min_ms": 0.01910002902150154, + "max_ms": 0.020499806851148605, + "iterations": 50, + "ops_per_sec": 51382.238143592855, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.005228016525506973, + "stddev_ms": 0.0008005117571464727, + "min_ms": 0.00490015372633934, + "max_ms": 0.010699965059757233, + "iterations": 50, + "ops_per_sec": 191277.13065195936, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0132020004093647, + "stddev_ms": 0.00042544770037201794, + "min_ms": 0.012899748980998993, + "max_ms": 0.015600118786096573, + "iterations": 50, + "ops_per_sec": 75746.09672717935, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.026658019050955772, + "stddev_ms": 0.0012802887831223435, + "min_ms": 0.025700312107801437, + "max_ms": 0.03369990736246109, + "iterations": 50, + "ops_per_sec": 37512.16465441557, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.02802399918437004, + "stddev_ms": 0.013172087882020674, + "min_ms": 0.02459995448589325, + "max_ms": 0.11539971455931664, + "iterations": 50, + "ops_per_sec": 35683.70072454665, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0045800115913152695, + "stddev_ms": 0.0001399584788234278, + "min_ms": 0.004400033503770828, + "max_ms": 0.00509992241859436, + "iterations": 50, + "ops_per_sec": 218340.0587667124, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0036839768290519714, + "stddev_ms": 6.808210213562188e-05, + "min_ms": 0.003600027412176132, + "max_ms": 0.0038999132812023163, + "iterations": 50, + "ops_per_sec": 271445.7898089816, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.008755987510085106, + "stddev_ms": 0.0013566755524914327, + "min_ms": 0.008299946784973145, + "max_ms": 0.018100254237651825, + "iterations": 50, + "ops_per_sec": 114207.56354987997, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.003033960238099098, + "stddev_ms": 9.391837292454395e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.003300141543149948, + "iterations": 50, + "ops_per_sec": 329602.2101550485, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.004194062203168869, + "stddev_ms": 0.0027490018867433064, + "min_ms": 0.0032996758818626404, + "max_ms": 0.023200176656246185, + "iterations": 50, + "ops_per_sec": 238432.32445251747, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0189860537648201, + "stddev_ms": 0.00040307283380790573, + "min_ms": 0.01840014010667801, + "max_ms": 0.02040015533566475, + "iterations": 50, + "ops_per_sec": 52670.239555148306, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.019823964685201645, + "stddev_ms": 0.0013820491626685475, + "min_ms": 0.018300022929906845, + "max_ms": 0.027799978852272034, + "iterations": 50, + "ops_per_sec": 50443.99623787103, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.005489969626069069, + "stddev_ms": 0.00033699981535852553, + "min_ms": 0.005000270903110504, + "max_ms": 0.006800051778554916, + "iterations": 50, + "ops_per_sec": 182150.37024094077, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.012698005884885788, + "stddev_ms": 0.0013595180768743004, + "min_ms": 0.011700205504894257, + "max_ms": 0.019900035113096237, + "iterations": 50, + "ops_per_sec": 78752.52296033996, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.02649596892297268, + "stddev_ms": 0.001189713237122295, + "min_ms": 0.02529984340071678, + "max_ms": 0.03169989213347435, + "iterations": 50, + "ops_per_sec": 37741.59016064419, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.02569396048784256, + "stddev_ms": 0.0014777910789677503, + "min_ms": 0.024700071662664413, + "max_ms": 0.035400036722421646, + "iterations": 50, + "ops_per_sec": 38919.651973200605, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.004564030095934868, + "stddev_ms": 0.00042940387189403686, + "min_ms": 0.003600027412176132, + "max_ms": 0.0057998113334178925, + "iterations": 50, + "ops_per_sec": 219104.60250704506, + "allocated_mb": 0.0 + }, + { + "name": "np.prod (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0020819809287786484, + "stddev_ms": 6.288018028424159e-05, + "min_ms": 0.00200001522898674, + "max_ms": 0.002300366759300232, + "iterations": 50, + "ops_per_sec": 480311.79641334637, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=0 (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0019720103591680527, + "stddev_ms": 0.00016169891782104453, + "min_ms": 0.00180024653673172, + "max_ms": 0.003000255674123764, + "iterations": 50, + "ops_per_sec": 507096.727636805, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=1 (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0018759723752737045, + "stddev_ms": 5.5608478973075605e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 533056.8899523907, + "allocated_mb": 0.0 + }, + { + "name": "np.prod (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0022079981863498688, + "stddev_ms": 3.957050391298194e-05, + "min_ms": 0.0020996667444705963, + "max_ms": 0.002299901098012924, + "iterations": 50, + "ops_per_sec": 452898.9227355936, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=0 (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0018600188195705414, + "stddev_ms": 5.3447755898106625e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 537628.9688460729, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=1 (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0018719863146543503, + "stddev_ms": 5.359060926531465e-05, + "min_ms": 0.0017997808754444122, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 534191.9394237897, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.034829964861273766, + "stddev_ms": 0.0007858660157819275, + "min_ms": 0.033999793231487274, + "max_ms": 0.03989972174167633, + "iterations": 50, + "ops_per_sec": 28710.910389457942, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.05131798796355724, + "stddev_ms": 0.008815083514852563, + "min_ms": 0.04730001091957092, + "max_ms": 0.09479979053139687, + "iterations": 50, + "ops_per_sec": 19486.344646055415, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.04017396830022335, + "stddev_ms": 0.005361657701833422, + "min_ms": 0.03660004585981369, + "max_ms": 0.06620027124881744, + "iterations": 50, + "ops_per_sec": 24891.740654717458, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.05412399768829346, + "stddev_ms": 0.0009671157731829216, + "min_ms": 0.05229981616139412, + "max_ms": 0.057499855756759644, + "iterations": 50, + "ops_per_sec": 18476.092726171468, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.002820035442709923, + "stddev_ms": 0.00020900956172690736, + "min_ms": 0.002299901098012924, + "max_ms": 0.003600027412176132, + "iterations": 50, + "ops_per_sec": 354605.472276989, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.0024499930441379547, + "stddev_ms": 8.863198265975057e-05, + "min_ms": 0.002299901098012924, + "max_ms": 0.002699904143810272, + "iterations": 50, + "ops_per_sec": 408164.4241369086, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.0032839924097061157, + "stddev_ms": 0.0009910795838472795, + "min_ms": 0.0029997900128364563, + "max_ms": 0.010100193321704865, + "iterations": 50, + "ops_per_sec": 304507.4029539215, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.003150021657347679, + "stddev_ms": 0.0005039246324482459, + "min_ms": 0.0029997900128364563, + "max_ms": 0.0065998174250125885, + "iterations": 50, + "ops_per_sec": 317458.134825016, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.3197759762406349, + "stddev_ms": 0.02059844476150977, + "min_ms": 0.29140012338757515, + "max_ms": 0.3757001832127571, + "iterations": 50, + "ops_per_sec": 3127.1892646728693, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.007610004395246506, + "stddev_ms": 0.0006108830944167871, + "min_ms": 0.006800051778554916, + "max_ms": 0.008999835699796677, + "iterations": 50, + "ops_per_sec": 131405.96878296646, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.008144015446305275, + "stddev_ms": 8.846303982509766e-05, + "min_ms": 0.00800006091594696, + "max_ms": 0.008500181138515472, + "iterations": 50, + "ops_per_sec": 122789.55100136428, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.05447600036859512, + "stddev_ms": 0.01360927034840862, + "min_ms": 0.050199683755636215, + "max_ms": 0.12109987437725067, + "iterations": 50, + "ops_per_sec": 18356.707416730434, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.05870594643056393, + "stddev_ms": 0.0016115795542453388, + "min_ms": 0.05700020119547844, + "max_ms": 0.06589991971850395, + "iterations": 50, + "ops_per_sec": 17034.049543563317, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.034170011058449745, + "stddev_ms": 0.0009443701544043719, + "min_ms": 0.03330036997795105, + "max_ms": 0.039599835872650146, + "iterations": 50, + "ops_per_sec": 29265.428047109588, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.04739000461995602, + "stddev_ms": 0.0013430767450976196, + "min_ms": 0.0462997704744339, + "max_ms": 0.053800176829099655, + "iterations": 50, + "ops_per_sec": 21101.49614923013, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.037924014031887054, + "stddev_ms": 0.0013473604946351429, + "min_ms": 0.03620004281401634, + "max_ms": 0.04340009763836861, + "iterations": 50, + "ops_per_sec": 26368.516770381575, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.056654056534171104, + "stddev_ms": 0.012670239904415058, + "min_ms": 0.05140015855431557, + "max_ms": 0.12390036135911942, + "iterations": 50, + "ops_per_sec": 17650.986728493946, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.0028220191597938538, + "stddev_ms": 7.08106796932773e-05, + "min_ms": 0.002699904143810272, + "max_ms": 0.003000255674123764, + "iterations": 50, + "ops_per_sec": 354356.2050347841, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.002410002052783966, + "stddev_ms": 0.00017984829032138426, + "min_ms": 0.002299901098012924, + "max_ms": 0.003600027412176132, + "iterations": 50, + "ops_per_sec": 414937.40590172046, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.0022819917649030685, + "stddev_ms": 4.374255026018366e-05, + "min_ms": 0.0021997839212417603, + "max_ms": 0.002400018274784088, + "iterations": 50, + "ops_per_sec": 438213.6760438646, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.0022740568965673447, + "stddev_ms": 4.432264538056606e-05, + "min_ms": 0.0021997839212417603, + "max_ms": 0.002300366759300232, + "iterations": 50, + "ops_per_sec": 439742.7353332651, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.3123559895902872, + "stddev_ms": 0.016158351489557965, + "min_ms": 0.28739962726831436, + "max_ms": 0.3573000431060791, + "iterations": 50, + "ops_per_sec": 3201.4753464842643, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.0077039934694767, + "stddev_ms": 0.0006265981411101285, + "min_ms": 0.006800051778554916, + "max_ms": 0.009200070053339005, + "iterations": 50, + "ops_per_sec": 129802.80992734614, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.007627997547388077, + "stddev_ms": 0.00042998749318043253, + "min_ms": 0.007100403308868408, + "max_ms": 0.008800067007541656, + "iterations": 50, + "ops_per_sec": 131096.00439533606, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.053372010588645935, + "stddev_ms": 0.008720955382670622, + "min_ms": 0.04940014332532883, + "max_ms": 0.10100007057189941, + "iterations": 50, + "ops_per_sec": 18736.412381150476, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.05712197162210941, + "stddev_ms": 0.0012485559214401234, + "min_ms": 0.05579972639679909, + "max_ms": 0.06170012056827545, + "iterations": 50, + "ops_per_sec": 17506.398529369806, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.03386400640010834, + "stddev_ms": 0.0037813674812487465, + "min_ms": 0.03260001540184021, + "max_ms": 0.05530007183551788, + "iterations": 50, + "ops_per_sec": 29529.878661870345, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.047418009489774704, + "stddev_ms": 0.002374506712538578, + "min_ms": 0.04630023613572121, + "max_ms": 0.06050011143088341, + "iterations": 50, + "ops_per_sec": 21089.033697537252, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.03757399506866932, + "stddev_ms": 0.0007596096977814137, + "min_ms": 0.036699697375297546, + "max_ms": 0.04189973697066307, + "iterations": 50, + "ops_per_sec": 26614.15157404541, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.053215986117720604, + "stddev_ms": 0.0046002532418162176, + "min_ms": 0.05139969289302826, + "max_ms": 0.07810024544596672, + "iterations": 50, + "ops_per_sec": 18791.345852125552, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.0035120081156492233, + "stddev_ms": 0.0002918951674667556, + "min_ms": 0.0029997900128364563, + "max_ms": 0.004600267857313156, + "iterations": 50, + "ops_per_sec": 284737.3830214347, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.0030659977346658707, + "stddev_ms": 9.60472784046991e-05, + "min_ms": 0.0028996728360652924, + "max_ms": 0.003300141543149948, + "iterations": 50, + "ops_per_sec": 326158.10138847964, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.003400007262825966, + "stddev_ms": 0.00010100214199131128, + "min_ms": 0.0032996758818626404, + "max_ms": 0.0036996789276599884, + "iterations": 50, + "ops_per_sec": 294117.0187880232, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.0033520162105560303, + "stddev_ms": 5.798665093046639e-05, + "min_ms": 0.0032996758818626404, + "max_ms": 0.003500375896692276, + "iterations": 50, + "ops_per_sec": 298327.91286952654, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.32527402974665165, + "stddev_ms": 0.03136964572216686, + "min_ms": 0.3026002086699009, + "max_ms": 0.5084997974336147, + "iterations": 50, + "ops_per_sec": 3074.3308981011387, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.006480012089014053, + "stddev_ms": 0.00042861286329969723, + "min_ms": 0.006100162863731384, + "max_ms": 0.008100178092718124, + "iterations": 50, + "ops_per_sec": 154320.69975538456, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.006345994770526886, + "stddev_ms": 0.0008901589277487445, + "min_ms": 0.0060996972024440765, + "max_ms": 0.010699965059757233, + "iterations": 50, + "ops_per_sec": 157579.7075415764, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.054971976205706596, + "stddev_ms": 0.012918247755090054, + "min_ms": 0.04930002614855766, + "max_ms": 0.12600002810359, + "iterations": 50, + "ops_per_sec": 18191.086968712447, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.05732199177145958, + "stddev_ms": 0.0016248254939131399, + "min_ms": 0.05579972639679909, + "max_ms": 0.06250012665987015, + "iterations": 50, + "ops_per_sec": 17445.311460686135, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.033401986584067345, + "stddev_ms": 0.001054382823346587, + "min_ms": 0.032499898225069046, + "max_ms": 0.040300190448760986, + "iterations": 50, + "ops_per_sec": 29938.33907103589, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.04787403158843517, + "stddev_ms": 0.001954183105222137, + "min_ms": 0.04650000482797623, + "max_ms": 0.060200225561857224, + "iterations": 50, + "ops_per_sec": 20888.150983331176, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.037462012842297554, + "stddev_ms": 0.0030975236635974544, + "min_ms": 0.0362996943295002, + "max_ms": 0.05489960312843323, + "iterations": 50, + "ops_per_sec": 26693.707148349527, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.05260597914457321, + "stddev_ms": 0.0029459714181525945, + "min_ms": 0.05139969289302826, + "max_ms": 0.07040007039904594, + "iterations": 50, + "ops_per_sec": 19009.246026041492, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.003287969157099724, + "stddev_ms": 0.00032804743526047256, + "min_ms": 0.0029997900128364563, + "max_ms": 0.004500150680541992, + "iterations": 50, + "ops_per_sec": 304139.10600125196, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.0031559914350509644, + "stddev_ms": 0.0009174365596884903, + "min_ms": 0.0028996728360652924, + "max_ms": 0.009499955922365189, + "iterations": 50, + "ops_per_sec": 316857.64064307464, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.004991982132196426, + "stddev_ms": 0.00016016040721498258, + "min_ms": 0.0048996880650520325, + "max_ms": 0.00600004568696022, + "iterations": 50, + "ops_per_sec": 200321.22982780173, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.0049460213631391525, + "stddev_ms": 5.031457797016965e-05, + "min_ms": 0.0048996880650520325, + "max_ms": 0.005000270903110504, + "iterations": 50, + "ops_per_sec": 202182.70941015863, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.325568001717329, + "stddev_ms": 0.04080503440583028, + "min_ms": 0.2882997505366802, + "max_ms": 0.5683000199496746, + "iterations": 50, + "ops_per_sec": 3071.5549277727837, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.006540035828948021, + "stddev_ms": 0.000522988096351951, + "min_ms": 0.006100162863731384, + "max_ms": 0.008600298315286636, + "iterations": 50, + "ops_per_sec": 152904.36110054955, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.006481977179646492, + "stddev_ms": 0.0007249832663530644, + "min_ms": 0.0060996972024440765, + "max_ms": 0.010299962013959885, + "iterations": 50, + "ops_per_sec": 154273.91554848655, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.05156797356903553, + "stddev_ms": 0.002644317723015069, + "min_ms": 0.04940014332532883, + "max_ms": 0.06739981472492218, + "iterations": 50, + "ops_per_sec": 19391.880866935197, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.06291802041232586, + "stddev_ms": 0.013650337339364443, + "min_ms": 0.05679996684193611, + "max_ms": 0.13009971007704735, + "iterations": 50, + "ops_per_sec": 15893.697758553391, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.034493934363126755, + "stddev_ms": 0.0004704707594023521, + "min_ms": 0.032700132578611374, + "max_ms": 0.03609992563724518, + "iterations": 50, + "ops_per_sec": 28990.604245741757, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.04850397817790508, + "stddev_ms": 0.0019525448657274377, + "min_ms": 0.04610000178217888, + "max_ms": 0.05630031228065491, + "iterations": 50, + "ops_per_sec": 20616.86561733462, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.03960398957133293, + "stddev_ms": 0.008454333185979854, + "min_ms": 0.03620004281401634, + "max_ms": 0.09700004011392593, + "iterations": 50, + "ops_per_sec": 25249.981398940752, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.04289197735488415, + "stddev_ms": 0.0034698624073393127, + "min_ms": 0.03829970955848694, + "max_ms": 0.05439994856715202, + "iterations": 50, + "ops_per_sec": 23314.38328725428, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.00453997403383255, + "stddev_ms": 0.00041795491500931826, + "min_ms": 0.004099681973457336, + "max_ms": 0.005500391125679016, + "iterations": 50, + "ops_per_sec": 220265.5769719945, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.004385998472571373, + "stddev_ms": 0.00046464177962786217, + "min_ms": 0.004099681973457336, + "max_ms": 0.006299931555986404, + "iterations": 50, + "ops_per_sec": 227998.25541519886, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.005522044375538826, + "stddev_ms": 0.00010159522229642268, + "min_ms": 0.005300156772136688, + "max_ms": 0.0058002769947052, + "iterations": 50, + "ops_per_sec": 181092.3513091875, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.0056260451674461365, + "stddev_ms": 9.646255495707372e-05, + "min_ms": 0.005499925464391708, + "max_ms": 0.005899928510189056, + "iterations": 50, + "ops_per_sec": 177744.7514616979, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.3303420264273882, + "stddev_ms": 0.041240339539519374, + "min_ms": 0.3049001097679138, + "max_ms": 0.5780002102255821, + "iterations": 50, + "ops_per_sec": 3027.165543587921, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.008781962096691132, + "stddev_ms": 0.0011089119524699607, + "min_ms": 0.008099712431430817, + "max_ms": 0.014999881386756897, + "iterations": 50, + "ops_per_sec": 113869.76953325499, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.008171973749995232, + "stddev_ms": 6.399147895054257e-05, + "min_ms": 0.00800006091594696, + "max_ms": 0.008299946784973145, + "iterations": 50, + "ops_per_sec": 122369.45817411412, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.035893991589546204, + "stddev_ms": 0.0018777014550548708, + "min_ms": 0.034700147807598114, + "max_ms": 0.04439987242221832, + "iterations": 50, + "ops_per_sec": 27859.815966838327, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.04280603490769863, + "stddev_ms": 0.0030242035918220185, + "min_ms": 0.04110019654035568, + "max_ms": 0.06269989535212517, + "iterations": 50, + "ops_per_sec": 23361.191994452885, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.03315201960504055, + "stddev_ms": 0.0009433057531901369, + "min_ms": 0.03240024670958519, + "max_ms": 0.036700163036584854, + "iterations": 50, + "ops_per_sec": 30164.074826016225, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.05063202232122421, + "stddev_ms": 0.011227950203724787, + "min_ms": 0.04610000178217888, + "max_ms": 0.11530006304383278, + "iterations": 50, + "ops_per_sec": 19750.346799416984, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.04134399816393852, + "stddev_ms": 0.00405107295762532, + "min_ms": 0.03620004281401634, + "max_ms": 0.06120000034570694, + "iterations": 50, + "ops_per_sec": 24187.307575691364, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.04017997533082962, + "stddev_ms": 0.0011430534818603502, + "min_ms": 0.039400067180395126, + "max_ms": 0.04550023004412651, + "iterations": 50, + "ops_per_sec": 24888.01926248849, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.00439799390733242, + "stddev_ms": 0.00030205365152201694, + "min_ms": 0.004099681973457336, + "max_ms": 0.005000270903110504, + "iterations": 50, + "ops_per_sec": 227376.3950270101, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.00492599792778492, + "stddev_ms": 0.00035153403796522756, + "min_ms": 0.004699919372797012, + "max_ms": 0.0066999346017837524, + "iterations": 50, + "ops_per_sec": 203004.5514959588, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.010123969987034798, + "stddev_ms": 7.154437305209393e-05, + "min_ms": 0.0100000761449337, + "max_ms": 0.01039961352944374, + "iterations": 50, + "ops_per_sec": 98775.48049635114, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.010367976501584053, + "stddev_ms": 0.0006953237128320425, + "min_ms": 0.010099727660417557, + "max_ms": 0.014699995517730713, + "iterations": 50, + "ops_per_sec": 96450.83588366705, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.3373900055885315, + "stddev_ms": 0.04190940533176087, + "min_ms": 0.30640000477433205, + "max_ms": 0.4763002507388592, + "iterations": 50, + "ops_per_sec": 2963.9289351669872, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.008437950164079666, + "stddev_ms": 0.0009913854586198457, + "min_ms": 0.00800006091594696, + "max_ms": 0.014400109648704529, + "iterations": 50, + "ops_per_sec": 118512.19556344356, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.008200015872716904, + "stddev_ms": 7.288970618584103e-05, + "min_ms": 0.008099712431430817, + "max_ms": 0.008400063961744308, + "iterations": 50, + "ops_per_sec": 121950.98345201995, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.04710398614406586, + "stddev_ms": 0.01467875180554121, + "min_ms": 0.03730040043592453, + "max_ms": 0.08760020136833191, + "iterations": 50, + "ops_per_sec": 21229.62581004367, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.04666803404688835, + "stddev_ms": 0.006938918193212123, + "min_ms": 0.04460010677576065, + "max_ms": 0.08910009637475014, + "iterations": 50, + "ops_per_sec": 21427.943568295144, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.015259981155395508, + "stddev_ms": 0.0016899854028072704, + "min_ms": 0.013699755072593689, + "max_ms": 0.023600179702043533, + "iterations": 50, + "ops_per_sec": 65530.88039996875, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.027841972187161446, + "stddev_ms": 0.0018089844545646475, + "min_ms": 0.026999972760677338, + "max_ms": 0.03950018435716629, + "iterations": 50, + "ops_per_sec": 35916.99586788332, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.017544031143188477, + "stddev_ms": 0.00047943487731388716, + "min_ms": 0.016800127923488617, + "max_ms": 0.018800143152475357, + "iterations": 50, + "ops_per_sec": 56999.44282122715, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03442799672484398, + "stddev_ms": 0.0007554242319160443, + "min_ms": 0.033600255846977234, + "max_ms": 0.03910018131136894, + "iterations": 50, + "ops_per_sec": 29046.128010067416, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.010576052591204643, + "stddev_ms": 0.00040889158979443794, + "min_ms": 0.01019984483718872, + "max_ms": 0.013300217688083649, + "iterations": 50, + "ops_per_sec": 94553.23632104756, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.008889995515346527, + "stddev_ms": 0.0001909176889643778, + "min_ms": 0.008599832653999329, + "max_ms": 0.009900424629449844, + "iterations": 50, + "ops_per_sec": 112485.99600232988, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.01422797329723835, + "stddev_ms": 0.0004823107434841054, + "min_ms": 0.013899989426136017, + "max_ms": 0.017199665307998657, + "iterations": 50, + "ops_per_sec": 70284.07905390854, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.01457001082599163, + "stddev_ms": 0.0009607011612689226, + "min_ms": 0.013999640941619873, + "max_ms": 0.017399899661540985, + "iterations": 50, + "ops_per_sec": 68634.12882412462, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03145204856991768, + "stddev_ms": 0.0052963235535923485, + "min_ms": 0.029299873858690262, + "max_ms": 0.06349990144371986, + "iterations": 50, + "ops_per_sec": 31794.431379469836, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.01928599551320076, + "stddev_ms": 0.0036404494597018166, + "min_ms": 0.01819990575313568, + "max_ms": 0.04169996827840805, + "iterations": 50, + "ops_per_sec": 51851.095750568136, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.015327995643019676, + "stddev_ms": 5.728872913627119e-05, + "min_ms": 0.015200115740299225, + "max_ms": 0.015400350093841553, + "iterations": 50, + "ops_per_sec": 65240.10205179025, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03197799436748028, + "stddev_ms": 0.0003157351623804251, + "min_ms": 0.03130035474896431, + "max_ms": 0.03260001540184021, + "iterations": 50, + "ops_per_sec": 31271.504663749038, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03940202295780182, + "stddev_ms": 0.0017851476891880972, + "min_ms": 0.03789970651268959, + "max_ms": 0.05050003528594971, + "iterations": 50, + "ops_per_sec": 25379.407576889258, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.01999598927795887, + "stddev_ms": 0.001269588909239692, + "min_ms": 0.013799872249364853, + "max_ms": 0.020500272512435913, + "iterations": 50, + "ops_per_sec": 50010.02881624254, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.02735799178481102, + "stddev_ms": 0.0002983742582023017, + "min_ms": 0.026999972760677338, + "max_ms": 0.02859998494386673, + "iterations": 50, + "ops_per_sec": 36552.390536033185, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.01728796400129795, + "stddev_ms": 0.00041585418869524243, + "min_ms": 0.01639965921640396, + "max_ms": 0.017999671399593353, + "iterations": 50, + "ops_per_sec": 57843.71137774938, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.05394800566136837, + "stddev_ms": 0.005355973603158103, + "min_ms": 0.0504995696246624, + "max_ms": 0.0849999487400055, + "iterations": 50, + "ops_per_sec": 18536.366409483235, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.012587988749146461, + "stddev_ms": 0.0004649989428843661, + "min_ms": 0.011799857020378113, + "max_ms": 0.013899989426136017, + "iterations": 50, + "ops_per_sec": 79440.808212337, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.012921998277306557, + "stddev_ms": 0.000665576807440613, + "min_ms": 0.011799857020378113, + "max_ms": 0.014299992471933365, + "iterations": 50, + "ops_per_sec": 77387.4116479482, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.01797400414943695, + "stddev_ms": 0.00316333852154067, + "min_ms": 0.01679966226220131, + "max_ms": 0.03439979627728462, + "iterations": 50, + "ops_per_sec": 55635.905705036, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.01714005134999752, + "stddev_ms": 0.0008124333232162915, + "min_ms": 0.01679966226220131, + "max_ms": 0.022500287741422653, + "iterations": 50, + "ops_per_sec": 58342.88238583046, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.031173937022686005, + "stddev_ms": 0.0018591681449821873, + "min_ms": 0.02969987690448761, + "max_ms": 0.04149973392486572, + "iterations": 50, + "ops_per_sec": 32078.0785331117, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.01769198104739189, + "stddev_ms": 0.000139661557983669, + "min_ms": 0.017399899661540985, + "max_ms": 0.017999671399593353, + "iterations": 50, + "ops_per_sec": 56522.78268449861, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.018476024270057678, + "stddev_ms": 0.0008551002782542552, + "min_ms": 0.017799902707338333, + "max_ms": 0.022300053387880325, + "iterations": 50, + "ops_per_sec": 54124.198224864005, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.04792800173163414, + "stddev_ms": 0.0009940424568780845, + "min_ms": 0.04610000178217888, + "max_ms": 0.05229981616139412, + "iterations": 50, + "ops_per_sec": 20864.629524914355, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.05685796961188316, + "stddev_ms": 0.009050553497617762, + "min_ms": 0.05279993638396263, + "max_ms": 0.11020014062523842, + "iterations": 50, + "ops_per_sec": 17587.683957518642, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.19806400872766972, + "stddev_ms": 0.0051478214119720115, + "min_ms": 0.18640002235770226, + "max_ms": 0.21640025079250336, + "iterations": 50, + "ops_per_sec": 5048.872869047909, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.29496999457478523, + "stddev_ms": 0.014729067166193733, + "min_ms": 0.2804999239742756, + "max_ms": 0.3646998666226864, + "iterations": 50, + "ops_per_sec": 3390.1753344151243, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.1987020019441843, + "stddev_ms": 0.007025549103799604, + "min_ms": 0.1880996860563755, + "max_ms": 0.22500008344650269, + "iterations": 50, + "ops_per_sec": 5032.661926984015, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.10880201123654842, + "stddev_ms": 0.014265769588513106, + "min_ms": 0.07950002327561378, + "max_ms": 0.14659995213150978, + "iterations": 50, + "ops_per_sec": 9191.0065690411, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.9060040023177862, + "stddev_ms": 0.04088095447321159, + "min_ms": 0.8670003153383732, + "max_ms": 1.1068996973335743, + "iterations": 50, + "ops_per_sec": 1103.747883499133, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.9085320215672255, + "stddev_ms": 0.07021882893949868, + "min_ms": 0.8675004355609417, + "max_ms": 1.2109000235795975, + "iterations": 50, + "ops_per_sec": 1100.676669904261, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.5119619611650705, + "stddev_ms": 0.025162295310083602, + "min_ms": 0.48350030556321144, + "max_ms": 0.591800082474947, + "iterations": 50, + "ops_per_sec": 1953.2701174210338, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.5066320020705462, + "stddev_ms": 0.022568911687382495, + "min_ms": 0.48900023102760315, + "max_ms": 0.5810000002384186, + "iterations": 50, + "ops_per_sec": 1973.8192532511096, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.42483601719141006, + "stddev_ms": 0.03517111690748264, + "min_ms": 0.4043998196721077, + "max_ms": 0.5967998877167702, + "iterations": 50, + "ops_per_sec": 2353.8493901976526, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.43306203559041023, + "stddev_ms": 0.012135236394907024, + "min_ms": 0.42079994454979897, + "max_ms": 0.4912000149488449, + "iterations": 50, + "ops_per_sec": 2309.1379936748813, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.47282202169299126, + "stddev_ms": 0.017965652277382237, + "min_ms": 0.46079978346824646, + "max_ms": 0.5804998800158501, + "iterations": 50, + "ops_per_sec": 2114.9607127421646, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.477066021412611, + "stddev_ms": 0.02292449389283319, + "min_ms": 0.46140002086758614, + "max_ms": 0.5736001767218113, + "iterations": 50, + "ops_per_sec": 2096.1459318334205, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.5074639990925789, + "stddev_ms": 0.026575232219844095, + "min_ms": 0.4905001260340214, + "max_ms": 0.6682001985609531, + "iterations": 50, + "ops_per_sec": 1970.5831384849935, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.0789959728717804, + "stddev_ms": 0.009275631092479343, + "min_ms": 0.07539987564086914, + "max_ms": 0.14070002362132072, + "iterations": 50, + "ops_per_sec": 12658.87315069992, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.09519596584141254, + "stddev_ms": 0.01435798036031657, + "min_ms": 0.08510006591677666, + "max_ms": 0.15030009672045708, + "iterations": 50, + "ops_per_sec": 10504.646821546043, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.1366000585258007, + "stddev_ms": 0.06866617315716703, + "min_ms": 1.063300296664238, + "max_ms": 1.3216999359428883, + "iterations": 50, + "ops_per_sec": 879.816952760873, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.1043459828943014, + "stddev_ms": 0.049020916042594245, + "min_ms": 1.0544001124799252, + "max_ms": 1.261100172996521, + "iterations": 50, + "ops_per_sec": 905.5133223549847, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.017082002013921738, + "stddev_ms": 0.0004260732743063814, + "min_ms": 0.016800127923488617, + "max_ms": 0.019200146198272705, + "iterations": 50, + "ops_per_sec": 58541.14752972196, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.008285986259579659, + "stddev_ms": 0.004327607007042393, + "min_ms": 0.006799586117267609, + "max_ms": 0.03190012648701668, + "iterations": 50, + "ops_per_sec": 120685.69373306313, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.016186069697141647, + "stddev_ms": 9.899537971440241e-05, + "min_ms": 0.015999656170606613, + "max_ms": 0.01640012487769127, + "iterations": 50, + "ops_per_sec": 61781.5206971828, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.017830021679401398, + "stddev_ms": 0.00428936167300251, + "min_ms": 0.016800127923488617, + "max_ms": 0.04429975524544716, + "iterations": 50, + "ops_per_sec": 56085.181385689306, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.04509001970291138, + "stddev_ms": 0.003255308416565964, + "min_ms": 0.04369998350739479, + "max_ms": 0.06309989839792252, + "iterations": 50, + "ops_per_sec": 22177.856798218076, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.04496392793953419, + "stddev_ms": 0.0014594655614217596, + "min_ms": 0.0442001037299633, + "max_ms": 0.050199683755636215, + "iterations": 50, + "ops_per_sec": 22240.04987608651, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005795983597636223, + "stddev_ms": 6.378656343264199e-05, + "min_ms": 0.0056996941566467285, + "max_ms": 0.005900394171476364, + "iterations": 50, + "ops_per_sec": 172533.26948817284, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0058780331164598465, + "stddev_ms": 0.0003351712903528714, + "min_ms": 0.0056996941566467285, + "max_ms": 0.007799826562404633, + "iterations": 50, + "ops_per_sec": 170124.93468261854, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.008674021810293198, + "stddev_ms": 7.231317344135565e-05, + "min_ms": 0.008599832653999329, + "max_ms": 0.008800067007541656, + "iterations": 50, + "ops_per_sec": 115286.77490911199, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.008696010336279869, + "stddev_ms": 0.00021284587736050738, + "min_ms": 0.008599832653999329, + "max_ms": 0.010100193321704865, + "iterations": 50, + "ops_per_sec": 114995.26349778897, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.16556604765355587, + "stddev_ms": 0.016198649103524813, + "min_ms": 0.1555001363158226, + "max_ms": 0.22060004994273186, + "iterations": 50, + "ops_per_sec": 6039.885678085901, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.011576013639569283, + "stddev_ms": 0.008508975759261291, + "min_ms": 0.008999835699796677, + "max_ms": 0.06330013275146484, + "iterations": 50, + "ops_per_sec": 86385.52364708579, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.009129997342824936, + "stddev_ms": 5.436981823379059e-05, + "min_ms": 0.008999835699796677, + "max_ms": 0.00929972156882286, + "iterations": 50, + "ops_per_sec": 109529.057068771, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.00863601453602314, + "stddev_ms": 8.268684219270185e-05, + "min_ms": 0.008499715477228165, + "max_ms": 0.008800067007541656, + "iterations": 50, + "ops_per_sec": 115794.1543322711, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.018342025578022003, + "stddev_ms": 0.0009035584266937215, + "min_ms": 0.017900019884109497, + "max_ms": 0.024500302970409393, + "iterations": 50, + "ops_per_sec": 54519.60557716328, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.03709795884788036, + "stddev_ms": 0.0009108165303282061, + "min_ms": 0.03639981150627136, + "max_ms": 0.04279986023902893, + "iterations": 50, + "ops_per_sec": 26955.660932734478, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.03766198642551899, + "stddev_ms": 0.0008635756888169065, + "min_ms": 0.03660004585981369, + "max_ms": 0.04190020263195038, + "iterations": 50, + "ops_per_sec": 26551.9717601093, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.01659397967159748, + "stddev_ms": 0.000946453640065865, + "min_ms": 0.01600012183189392, + "max_ms": 0.02290029078722, + "iterations": 50, + "ops_per_sec": 60262.81939537481, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.014161989092826843, + "stddev_ms": 0.0006670029552295682, + "min_ms": 0.012599863111972809, + "max_ms": 0.016300007700920105, + "iterations": 50, + "ops_per_sec": 70611.54993450092, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.020037991926074028, + "stddev_ms": 0.0010255961412637491, + "min_ms": 0.01859990879893303, + "max_ms": 0.02530030906200409, + "iterations": 50, + "ops_per_sec": 49905.20026603915, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.016890093684196472, + "stddev_ms": 0.00018210998087797253, + "min_ms": 0.01659989356994629, + "max_ms": 0.01750001683831215, + "iterations": 50, + "ops_per_sec": 59206.30274156907, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.05727201700210571, + "stddev_ms": 0.0027632989068434475, + "min_ms": 0.05590030923485756, + "max_ms": 0.07400009781122208, + "iterations": 50, + "ops_per_sec": 17460.533998012208, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.056986017152667046, + "stddev_ms": 0.001822901218014668, + "min_ms": 0.05589984357357025, + "max_ms": 0.06620027124881744, + "iterations": 50, + "ops_per_sec": 17548.164443936723, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.010384013876318932, + "stddev_ms": 0.002089691678205817, + "min_ms": 0.009899958968162537, + "max_ms": 0.023700296878814697, + "iterations": 50, + "ops_per_sec": 96301.87439180251, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.009941989555954933, + "stddev_ms": 6.091809554634541e-05, + "min_ms": 0.00980030745267868, + "max_ms": 0.010100193321704865, + "iterations": 50, + "ops_per_sec": 100583.48928771827, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.0276079960167408, + "stddev_ms": 0.0221466510880926, + "min_ms": 0.01640012487769127, + "max_ms": 0.08520018309354782, + "iterations": 50, + "ops_per_sec": 36221.39033175841, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.019342023879289627, + "stddev_ms": 0.006485750801574163, + "min_ms": 0.01640012487769127, + "max_ms": 0.04499964416027069, + "iterations": 50, + "ops_per_sec": 51700.8978088764, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.16977399587631226, + "stddev_ms": 0.01341109795576779, + "min_ms": 0.16380008310079575, + "max_ms": 0.22220006212592125, + "iterations": 50, + "ops_per_sec": 5890.18356338001, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.015695979818701744, + "stddev_ms": 0.0050301663572542, + "min_ms": 0.013299752026796341, + "max_ms": 0.039400067180395126, + "iterations": 50, + "ops_per_sec": 63710.581406870886, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.014491993933916092, + "stddev_ms": 0.001278822564296985, + "min_ms": 0.013399869203567505, + "max_ms": 0.02059992402791977, + "iterations": 50, + "ops_per_sec": 69003.6170702271, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.016616005450487137, + "stddev_ms": 0.005482230832312178, + "min_ms": 0.013399869203567505, + "max_ms": 0.04279986023902893, + "iterations": 50, + "ops_per_sec": 60182.936445214196, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.019763968884944916, + "stddev_ms": 0.0010659675137478623, + "min_ms": 0.018999911844730377, + "max_ms": 0.026500318199396133, + "iterations": 50, + "ops_per_sec": 50597.124789127956, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.06801600567996502, + "stddev_ms": 0.0021756551208447525, + "min_ms": 0.06349990144371986, + "max_ms": 0.07489975541830063, + "iterations": 50, + "ops_per_sec": 14702.42173151551, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.06367001682519913, + "stddev_ms": 0.002525160072142687, + "min_ms": 0.05879998207092285, + "max_ms": 0.0754999928176403, + "iterations": 50, + "ops_per_sec": 15705.979829492098, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.02941998653113842, + "stddev_ms": 0.0008633514163790974, + "min_ms": 0.028899870812892914, + "max_ms": 0.035200268030166626, + "iterations": 50, + "ops_per_sec": 33990.49822614941, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.030852006748318672, + "stddev_ms": 0.013347940241800044, + "min_ms": 0.023900065571069717, + "max_ms": 0.11060014367103577, + "iterations": 50, + "ops_per_sec": 32412.802452615066, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.034036049619317055, + "stddev_ms": 0.00457222990624401, + "min_ms": 0.032300129532814026, + "max_ms": 0.05800044164061546, + "iterations": 50, + "ops_per_sec": 29380.612943766926, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.030485931783914566, + "stddev_ms": 0.0009806149948299568, + "min_ms": 0.02950010821223259, + "max_ms": 0.0362996943295002, + "iterations": 50, + "ops_per_sec": 32802.01527340669, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.15272196382284164, + "stddev_ms": 0.0017030689952981038, + "min_ms": 0.14929985627532005, + "max_ms": 0.15820004045963287, + "iterations": 50, + "ops_per_sec": 6547.846655246038, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.1573220081627369, + "stddev_ms": 0.010638713535607814, + "min_ms": 0.14739995822310448, + "max_ms": 0.20660040900111198, + "iterations": 50, + "ops_per_sec": 6356.389749141651, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (complex128)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.1139100082218647, + "stddev_ms": 0.0018124666323328872, + "min_ms": 0.11109979823231697, + "max_ms": 0.11890009045600891, + "iterations": 50, + "ops_per_sec": 8778.859870260749, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (complex128)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.1132239680737257, + "stddev_ms": 0.003326655961839163, + "min_ms": 0.11040037497878075, + "max_ms": 0.12669991701841354, + "iterations": 50, + "ops_per_sec": 8832.052232517153, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.3768759872764349, + "stddev_ms": 0.020157986603226853, + "min_ms": 0.350200105458498, + "max_ms": 0.44400012120604515, + "iterations": 50, + "ops_per_sec": 2653.3927173940897, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.1409019809216261, + "stddev_ms": 0.003914778809412189, + "min_ms": 0.13730023056268692, + "max_ms": 0.1550000160932541, + "iterations": 50, + "ops_per_sec": 7097.132300476528, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.15499398112297058, + "stddev_ms": 0.03153180110768531, + "min_ms": 0.14369981363415718, + "max_ms": 0.36219973117113113, + "iterations": 50, + "ops_per_sec": 6451.863438533207, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.02859204076230526, + "stddev_ms": 0.002605804755359767, + "min_ms": 0.025799963623285294, + "max_ms": 0.041400082409381866, + "iterations": 50, + "ops_per_sec": 34974.76826901999, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 100000, + "mean_ms": 0.04431402310729027, + "stddev_ms": 0.004474665634047776, + "min_ms": 0.0371001660823822, + "max_ms": 0.05979975685477257, + "iterations": 50, + "ops_per_sec": 22566.220123568204, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.288494024425745, + "stddev_ms": 0.012642764681017833, + "min_ms": 0.274099875241518, + "max_ms": 0.3541000187397003, + "iterations": 50, + "ops_per_sec": 3466.27630153008, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.3723300527781248, + "stddev_ms": 0.03723776839479651, + "min_ms": 0.3220001235604286, + "max_ms": 0.48429984599351883, + "iterations": 50, + "ops_per_sec": 2685.7891071068334, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.540917981415987, + "stddev_ms": 0.029343937553376696, + "min_ms": 0.5101999267935753, + "max_ms": 0.6516999565064907, + "iterations": 50, + "ops_per_sec": 1848.7091099878985, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.5321799777448177, + "stddev_ms": 0.023927493271930705, + "min_ms": 0.5012000910937786, + "max_ms": 0.6500999443233013, + "iterations": 50, + "ops_per_sec": 1879.0635533445486, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.2279319949448109, + "stddev_ms": 0.07727250384143931, + "min_ms": 1.1383001692593098, + "max_ms": 1.524600200355053, + "iterations": 50, + "ops_per_sec": 814.3773467234598, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.2270339950919151, + "stddev_ms": 0.08663582847468711, + "min_ms": 1.1445996351540089, + "max_ms": 1.5973001718521118, + "iterations": 50, + "ops_per_sec": 814.9733454818354, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.17005402594804764, + "stddev_ms": 0.008847222639133035, + "min_ms": 0.15819957479834557, + "max_ms": 0.21540001034736633, + "iterations": 50, + "ops_per_sec": 5880.484125118596, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.9888540115207434, + "stddev_ms": 0.03380395790679177, + "min_ms": 0.9498996660113335, + "max_ms": 1.124500297009945, + "iterations": 50, + "ops_per_sec": 1011.2716218465002, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.8857100047171116, + "stddev_ms": 0.05546106229040791, + "min_ms": 1.8095998093485832, + "max_ms": 2.069499809294939, + "iterations": 50, + "ops_per_sec": 530.3042342133709, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.8625759799033403, + "stddev_ms": 0.046037072129115175, + "min_ms": 1.8124999478459358, + "max_ms": 2.032399643212557, + "iterations": 50, + "ops_per_sec": 536.8908494416941, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.41027795523405075, + "stddev_ms": 0.011849311706436761, + "min_ms": 0.40079979225993156, + "max_ms": 0.4787999205291271, + "iterations": 50, + "ops_per_sec": 2437.371999257263, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.03210199996829033, + "stddev_ms": 0.003854706026820799, + "min_ms": 0.030399765819311142, + "max_ms": 0.05519995465874672, + "iterations": 50, + "ops_per_sec": 31150.70715182165, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.07508797571063042, + "stddev_ms": 0.00831329576411502, + "min_ms": 0.0725998543202877, + "max_ms": 0.12309988960623741, + "iterations": 50, + "ops_per_sec": 13317.711531520581, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.00806400552392006, + "stddev_ms": 0.0016504792976795655, + "min_ms": 0.0070999376475811005, + "max_ms": 0.016700010746717453, + "iterations": 50, + "ops_per_sec": 124007.85156132704, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.007170001044869423, + "stddev_ms": 7.351546774256461e-05, + "min_ms": 0.007000286132097244, + "max_ms": 0.007300172001123428, + "iterations": 50, + "ops_per_sec": 139469.99362232472, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.1683259755373001, + "stddev_ms": 0.02127147712314502, + "min_ms": 0.15769992023706436, + "max_ms": 0.2484000287950039, + "iterations": 50, + "ops_per_sec": 5940.85373221797, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.16449003480374813, + "stddev_ms": 0.015252700146180275, + "min_ms": 0.157299917191267, + "max_ms": 0.2586999908089638, + "iterations": 50, + "ops_per_sec": 6079.395637511371, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.16040999442338943, + "stddev_ms": 0.27525617463932567, + "min_ms": 0.0904998742043972, + "max_ms": 1.6998001374304295, + "iterations": 50, + "ops_per_sec": 6234.025526866983, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.48879598267376423, + "stddev_ms": 0.038805304454113385, + "min_ms": 0.45720022171735764, + "max_ms": 0.6768000312149525, + "iterations": 50, + "ops_per_sec": 2045.8433281916462, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.7602200470864773, + "stddev_ms": 0.07490659206028258, + "min_ms": 0.6903000175952911, + "max_ms": 1.0740002617239952, + "iterations": 50, + "ops_per_sec": 1315.4086160085792, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.7231339905411005, + "stddev_ms": 0.04154537064387536, + "min_ms": 0.6826999597251415, + "max_ms": 0.8654003031551838, + "iterations": 50, + "ops_per_sec": 1382.869583065413, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.1699600089341402, + "stddev_ms": 0.01568621670192279, + "min_ms": 0.1659998670220375, + "max_ms": 0.2774996683001518, + "iterations": 50, + "ops_per_sec": 5883.737040679385, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.047115981578826904, + "stddev_ms": 0.013451942781323358, + "min_ms": 0.04169996827840805, + "max_ms": 0.11149980127811432, + "iterations": 50, + "ops_per_sec": 21224.220879850724, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.31005593948066235, + "stddev_ms": 0.026132188627515072, + "min_ms": 0.2895002253353596, + "max_ms": 0.4603997804224491, + "iterations": 50, + "ops_per_sec": 3225.2244600602735, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011516055092215538, + "stddev_ms": 0.0005929290502772896, + "min_ms": 0.011200085282325745, + "max_ms": 0.013699755072593689, + "iterations": 50, + "ops_per_sec": 86835.29142509626, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011354023590683937, + "stddev_ms": 9.30410805404801e-05, + "min_ms": 0.011199619621038437, + "max_ms": 0.011600088328123093, + "iterations": 50, + "ops_per_sec": 88074.50433875332, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.4496639594435692, + "stddev_ms": 0.05157228153374833, + "min_ms": 0.4061996005475521, + "max_ms": 0.6512999534606934, + "iterations": 50, + "ops_per_sec": 2223.8829218989154, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.43558397330343723, + "stddev_ms": 0.03645714014523284, + "min_ms": 0.3964998759329319, + "max_ms": 0.5772998556494713, + "iterations": 50, + "ops_per_sec": 2295.7685803177574, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.10789194144308567, + "stddev_ms": 0.014360165773821926, + "min_ms": 0.10140007361769676, + "max_ms": 0.17149979248642921, + "iterations": 50, + "ops_per_sec": 9268.532817416326, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.5210379976779222, + "stddev_ms": 0.04076235074058359, + "min_ms": 0.4732999950647354, + "max_ms": 0.624100212007761, + "iterations": 50, + "ops_per_sec": 1919.2458217186424, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.7628180459141731, + "stddev_ms": 0.05353717248216305, + "min_ms": 0.7000998593866825, + "max_ms": 0.9230999276041985, + "iterations": 50, + "ops_per_sec": 1310.9286091961606, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.7484079990535975, + "stddev_ms": 0.0393442547725929, + "min_ms": 0.7008002139627934, + "max_ms": 0.8924002759158611, + "iterations": 50, + "ops_per_sec": 1336.1695776428824, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.16943002119660378, + "stddev_ms": 0.002940646736686614, + "min_ms": 0.16660010442137718, + "max_ms": 0.183899886906147, + "iterations": 50, + "ops_per_sec": 5902.141739329753, + "allocated_mb": 0.0 + }, + { + "name": "np.prod (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.05723796784877777, + "stddev_ms": 0.0008494952594094732, + "min_ms": 0.056199729442596436, + "max_ms": 0.06079999729990959, + "iterations": 50, + "ops_per_sec": 17470.92074690687, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=0 (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.027217986062169075, + "stddev_ms": 0.0008775126973494313, + "min_ms": 0.02679973840713501, + "max_ms": 0.031100120395421982, + "iterations": 50, + "ops_per_sec": 36740.41120147106, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=1 (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.04575807601213455, + "stddev_ms": 0.0006462269675498388, + "min_ms": 0.04529999569058418, + "max_ms": 0.048900023102760315, + "iterations": 50, + "ops_per_sec": 21854.06571147814, + "allocated_mb": 0.0 + }, + { + "name": "np.prod (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 2.3310360219329596, + "stddev_ms": 0.042675402553537765, + "min_ms": 2.2860001772642136, + "max_ms": 2.4720998480916023, + "iterations": 50, + "ops_per_sec": 428.99379957705344, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=0 (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.01362399198114872, + "stddev_ms": 0.0009033590028958069, + "min_ms": 0.012499745935201645, + "max_ms": 0.018099788576364517, + "iterations": 50, + "ops_per_sec": 73399.92576211749, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=1 (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.06010395474731922, + "stddev_ms": 0.0035242949614775008, + "min_ms": 0.056900084018707275, + "max_ms": 0.07529975846409798, + "iterations": 50, + "ops_per_sec": 16637.840291941895, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.258937979117036, + "stddev_ms": 0.0783326461249866, + "min_ms": 3.155800048261881, + "max_ms": 3.6054998636245728, + "iterations": 50, + "ops_per_sec": 306.848429276011, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.557711947709322, + "stddev_ms": 0.13152381681938136, + "min_ms": 4.363399930298328, + "max_ms": 4.986700136214495, + "iterations": 50, + "ops_per_sec": 219.4083372255664, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.206291990354657, + "stddev_ms": 0.06982754333666001, + "min_ms": 3.07859992608428, + "max_ms": 3.438100218772888, + "iterations": 50, + "ops_per_sec": 311.88675361079237, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 5.0561439990997314, + "stddev_ms": 0.1053426077495318, + "min_ms": 4.909700248390436, + "max_ms": 5.420499946922064, + "iterations": 50, + "ops_per_sec": 197.77917721054905, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 0.13502400368452072, + "stddev_ms": 0.00352334952579792, + "min_ms": 0.13299984857439995, + "max_ms": 0.15329988673329353, + "iterations": 50, + "ops_per_sec": 7406.090566951844, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 0.13511396944522858, + "stddev_ms": 0.014027802894859956, + "min_ms": 0.125800259411335, + "max_ms": 0.20239967852830887, + "iterations": 50, + "ops_per_sec": 7401.159214742574, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 0.22368996404111385, + "stddev_ms": 0.013674254869530831, + "min_ms": 0.2143997699022293, + "max_ms": 0.2855001948773861, + "iterations": 50, + "ops_per_sec": 4470.473247589246, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 0.22458200342953205, + "stddev_ms": 0.0164352001612472, + "min_ms": 0.21460000425577164, + "max_ms": 0.3202003426849842, + "iterations": 50, + "ops_per_sec": 4452.716534402873, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 28.956615971401334, + "stddev_ms": 2.3144118333735837, + "min_ms": 26.685399934649467, + "max_ms": 42.16119972988963, + "iterations": 50, + "ops_per_sec": 34.53442215028298, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 0.20903999917209148, + "stddev_ms": 0.029069810934408, + "min_ms": 0.18699979409575462, + "max_ms": 0.3831000067293644, + "iterations": 50, + "ops_per_sec": 4783.773459436121, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 0.22066202946007252, + "stddev_ms": 0.03415803386468243, + "min_ms": 0.19189994782209396, + "max_ms": 0.4071001894772053, + "iterations": 50, + "ops_per_sec": 4531.817288397341, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 5.363697996363044, + "stddev_ms": 0.17979435824758547, + "min_ms": 5.150400102138519, + "max_ms": 6.195599678903818, + "iterations": 50, + "ops_per_sec": 186.43853562934916, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 5.292360028252006, + "stddev_ms": 0.27529136365936446, + "min_ms": 5.035099573433399, + "max_ms": 6.865000352263451, + "iterations": 50, + "ops_per_sec": 188.95161981833016, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.2332720328122377, + "stddev_ms": 0.23007493244970512, + "min_ms": 3.095900174230337, + "max_ms": 4.2213997803628445, + "iterations": 50, + "ops_per_sec": 309.2842142113911, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.643959999084473, + "stddev_ms": 0.300414926228956, + "min_ms": 4.337899852544069, + "max_ms": 6.08500000089407, + "iterations": 50, + "ops_per_sec": 215.33346544697707, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.5110959876328707, + "stddev_ms": 0.6948340053657832, + "min_ms": 3.1238002702593803, + "max_ms": 7.117000408470631, + "iterations": 50, + "ops_per_sec": 284.8113533558464, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 5.69445202127099, + "stddev_ms": 1.0691050043544454, + "min_ms": 5.003599915653467, + "max_ms": 8.535600267350674, + "iterations": 50, + "ops_per_sec": 175.60952243773616, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 0.14353793114423752, + "stddev_ms": 0.004281984510141938, + "min_ms": 0.13859989121556282, + "max_ms": 0.1591998152434826, + "iterations": 50, + "ops_per_sec": 6966.799591079003, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 0.15080800279974937, + "stddev_ms": 0.026192686089202912, + "min_ms": 0.13530021533370018, + "max_ms": 0.2816002815961838, + "iterations": 50, + "ops_per_sec": 6630.9478372169115, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 0.16263398341834545, + "stddev_ms": 0.006871018529932028, + "min_ms": 0.1542000100016594, + "max_ms": 0.17639994621276855, + "iterations": 50, + "ops_per_sec": 6148.776405652485, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int8)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 0.17165196128189564, + "stddev_ms": 0.05581902572980992, + "min_ms": 0.15150010585784912, + "max_ms": 0.4771002568304539, + "iterations": 50, + "ops_per_sec": 5825.7417656751895, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int8)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 41.05547201819718, + "stddev_ms": 7.52452174516948, + "min_ms": 29.982400126755238, + "max_ms": 73.63080000504851, + "iterations": 50, + "ops_per_sec": 24.357289073592092, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 0.2766619995236397, + "stddev_ms": 0.09618666237295055, + "min_ms": 0.18869992345571518, + "max_ms": 0.5989000201225281, + "iterations": 50, + "ops_per_sec": 3614.518805335801, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int8)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 0.39637399837374687, + "stddev_ms": 0.30540835144712497, + "min_ms": 0.20449981093406677, + "max_ms": 1.717899926006794, + "iterations": 50, + "ops_per_sec": 2522.8698252227064, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 6.449716044589877, + "stddev_ms": 1.3838828830573648, + "min_ms": 5.249599926173687, + "max_ms": 10.889699682593346, + "iterations": 50, + "ops_per_sec": 155.04558543144168, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int8)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int8", + "n": 10000000, + "mean_ms": 5.502318013459444, + "stddev_ms": 0.2972508509675959, + "min_ms": 5.127800162881613, + "max_ms": 6.490400061011314, + "iterations": 50, + "ops_per_sec": 181.74158555609824, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 3.554660016670823, + "stddev_ms": 0.5255183075251325, + "min_ms": 3.117899876087904, + "max_ms": 6.464399863034487, + "iterations": 50, + "ops_per_sec": 281.32085637167825, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 5.061396034434438, + "stddev_ms": 0.4152875684963058, + "min_ms": 4.598800092935562, + "max_ms": 6.3078999519348145, + "iterations": 50, + "ops_per_sec": 197.57394860956387, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 3.642200008034706, + "stddev_ms": 0.3606440873276991, + "min_ms": 3.3891000784933567, + "max_ms": 5.5633001029491425, + "iterations": 50, + "ops_per_sec": 274.55933166602506, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 6.374965971335769, + "stddev_ms": 1.424470039176192, + "min_ms": 5.039399955421686, + "max_ms": 10.04730025306344, + "iterations": 50, + "ops_per_sec": 156.86358240912563, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 0.7444999739527702, + "stddev_ms": 0.6409267430131893, + "min_ms": 0.3206999972462654, + "max_ms": 2.6203999295830727, + "iterations": 50, + "ops_per_sec": 1343.1833915194177, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 0.4359120409935713, + "stddev_ms": 0.30414716826683447, + "min_ms": 0.2970998175442219, + "max_ms": 1.9888002425432205, + "iterations": 50, + "ops_per_sec": 2294.0407833669997, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 0.7167399674654007, + "stddev_ms": 0.405072436607286, + "min_ms": 0.44790003448724747, + "max_ms": 2.772000152617693, + "iterations": 50, + "ops_per_sec": 1395.2061352686785, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 0.6950540374964476, + "stddev_ms": 0.292377991007086, + "min_ms": 0.4012999124825001, + "max_ms": 1.62870017811656, + "iterations": 50, + "ops_per_sec": 1438.7370564768657, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 48.42664994299412, + "stddev_ms": 3.656074265887285, + "min_ms": 36.87880001962185, + "max_ms": 58.318099938333035, + "iterations": 50, + "ops_per_sec": 20.649786866883407, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 0.5065499991178513, + "stddev_ms": 0.2199695702886364, + "min_ms": 0.3186003305017948, + "max_ms": 1.0174000635743141, + "iterations": 50, + "ops_per_sec": 1974.1387853943027, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 0.5072600301355124, + "stddev_ms": 0.2522473158431932, + "min_ms": 0.32240012660622597, + "max_ms": 1.588399987667799, + "iterations": 50, + "ops_per_sec": 1971.3755087954678, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 5.38216601125896, + "stddev_ms": 0.41747876553465024, + "min_ms": 5.0559998489916325, + "max_ms": 7.388199679553509, + "iterations": 50, + "ops_per_sec": 185.7988025467997, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int16", + "n": 10000000, + "mean_ms": 6.059209955856204, + "stddev_ms": 1.0922585988843228, + "min_ms": 5.175900179892778, + "max_ms": 9.15930001065135, + "iterations": 50, + "ops_per_sec": 165.03801770947112, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 3.757922016084194, + "stddev_ms": 0.9424823338099144, + "min_ms": 3.295999951660633, + "max_ms": 7.658500224351883, + "iterations": 50, + "ops_per_sec": 266.10451087593714, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 4.741546008735895, + "stddev_ms": 0.1829394372029117, + "min_ms": 4.522799979895353, + "max_ms": 5.308900028467178, + "iterations": 50, + "ops_per_sec": 210.90167598449642, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 3.877482023090124, + "stddev_ms": 1.223946331420592, + "min_ms": 3.283000085502863, + "max_ms": 9.242499712854624, + "iterations": 50, + "ops_per_sec": 257.89932591436207, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.191358020529151, + "stddev_ms": 0.1967340720609296, + "min_ms": 4.929900169372559, + "max_ms": 5.75529970228672, + "iterations": 50, + "ops_per_sec": 192.62782417346565, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 0.3224700316786766, + "stddev_ms": 0.02471017386574481, + "min_ms": 0.2892003394663334, + "max_ms": 0.3690999001264572, + "iterations": 50, + "ops_per_sec": 3101.063360196039, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 0.29384602792561054, + "stddev_ms": 0.023217457906305236, + "min_ms": 0.26769982650876045, + "max_ms": 0.3613000735640526, + "iterations": 50, + "ops_per_sec": 3403.142819589714, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 0.5632419977337122, + "stddev_ms": 0.15025898543081834, + "min_ms": 0.4448997788131237, + "max_ms": 0.9788000024855137, + "iterations": 50, + "ops_per_sec": 1775.4357878561052, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 0.5085219815373421, + "stddev_ms": 0.09625759071585747, + "min_ms": 0.44430000707507133, + "max_ms": 0.9241001680493355, + "iterations": 50, + "ops_per_sec": 1966.4833307241556, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 34.591673985123634, + "stddev_ms": 3.3616201727821604, + "min_ms": 30.396599788218737, + "max_ms": 46.1125997826457, + "iterations": 50, + "ops_per_sec": 28.908690583463994, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 0.44209797866642475, + "stddev_ms": 0.06277546429981051, + "min_ms": 0.3725998103618622, + "max_ms": 0.5983998998999596, + "iterations": 50, + "ops_per_sec": 2261.9420315299108, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 0.48036200925707817, + "stddev_ms": 0.11121744740431405, + "min_ms": 0.36899978294968605, + "max_ms": 0.8502001874148846, + "iterations": 50, + "ops_per_sec": 2081.7632966990614, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.887937964871526, + "stddev_ms": 1.1785761713885947, + "min_ms": 5.084100179374218, + "max_ms": 9.408699814230204, + "iterations": 50, + "ops_per_sec": 169.8387459185501, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.461517972871661, + "stddev_ms": 0.4488048915410209, + "min_ms": 5.1460000686347485, + "max_ms": 7.926700171083212, + "iterations": 50, + "ops_per_sec": 183.09927843635768, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.7348379623144865, + "stddev_ms": 1.3806613896307922, + "min_ms": 3.902600146830082, + "max_ms": 10.198100004345179, + "iterations": 50, + "ops_per_sec": 211.200469363302, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 5.669364016503096, + "stddev_ms": 0.7039042700090977, + "min_ms": 5.17110014334321, + "max_ms": 9.883600287139416, + "iterations": 50, + "ops_per_sec": 176.38662768682246, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.233721969649196, + "stddev_ms": 0.23678884894773308, + "min_ms": 3.879799973219633, + "max_ms": 5.049699917435646, + "iterations": 50, + "ops_per_sec": 236.1987884818189, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.957471983507276, + "stddev_ms": 0.968326011722368, + "min_ms": 4.259499721229076, + "max_ms": 8.625600021332502, + "iterations": 50, + "ops_per_sec": 201.71571384101446, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 1.2150259781628847, + "stddev_ms": 0.29746277025178797, + "min_ms": 0.8849999867379665, + "max_ms": 2.359299920499325, + "iterations": 50, + "ops_per_sec": 823.0276701671817, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 1.2908419594168663, + "stddev_ms": 0.4846395292289785, + "min_ms": 0.9400998242199421, + "max_ms": 4.116600379347801, + "iterations": 50, + "ops_per_sec": 774.688173641138, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 1.76460400223732, + "stddev_ms": 0.16517175451423216, + "min_ms": 1.3426002115011215, + "max_ms": 2.1589999087154865, + "iterations": 50, + "ops_per_sec": 566.6993833925981, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 1.8978999834507704, + "stddev_ms": 0.3804315135124112, + "min_ms": 1.403499860316515, + "max_ms": 3.255000337958336, + "iterations": 50, + "ops_per_sec": 526.8981551819161, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 32.38797600381076, + "stddev_ms": 4.332278471453172, + "min_ms": 28.439400251954794, + "max_ms": 49.02630019932985, + "iterations": 50, + "ops_per_sec": 30.875655826172657, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 2.0365940127521753, + "stddev_ms": 0.6391946073905417, + "min_ms": 1.4574001543223858, + "max_ms": 4.722500219941139, + "iterations": 50, + "ops_per_sec": 491.015879325226, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 1.7469419911503792, + "stddev_ms": 0.6142616858973544, + "min_ms": 1.2350999750196934, + "max_ms": 3.862799610942602, + "iterations": 50, + "ops_per_sec": 572.4288528558924, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.529948011040688, + "stddev_ms": 0.22837075902302342, + "min_ms": 4.184900317341089, + "max_ms": 5.162199959158897, + "iterations": 50, + "ops_per_sec": 220.75308536935395, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.8185099847614765, + "stddev_ms": 0.7759101417791192, + "min_ms": 4.277599975466728, + "max_ms": 9.568899869918823, + "iterations": 50, + "ops_per_sec": 207.5330347270208, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 4.056015992537141, + "stddev_ms": 0.1710887135664314, + "min_ms": 3.797699697315693, + "max_ms": 4.4917999766767025, + "iterations": 50, + "ops_per_sec": 246.54735135165842, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 5.547051997855306, + "stddev_ms": 0.5786236067208622, + "min_ms": 5.026000086218119, + "max_ms": 8.183400146663189, + "iterations": 50, + "ops_per_sec": 180.2759376307698, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 4.281700002029538, + "stddev_ms": 0.5104049142197862, + "min_ms": 3.8918000645935535, + "max_ms": 6.450999993830919, + "iterations": 50, + "ops_per_sec": 233.5520936838165, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 4.603537982329726, + "stddev_ms": 0.22092872953611706, + "min_ms": 4.3449001386761665, + "max_ms": 5.33830001950264, + "iterations": 50, + "ops_per_sec": 217.2242314147101, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 1.0859000403434038, + "stddev_ms": 0.24546255515669482, + "min_ms": 0.7880004122853279, + "max_ms": 1.7130998894572258, + "iterations": 50, + "ops_per_sec": 920.8950758338319, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 1.4205379970371723, + "stddev_ms": 0.5160508456455173, + "min_ms": 0.8002002723515034, + "max_ms": 3.165199887007475, + "iterations": 50, + "ops_per_sec": 703.958642490175, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 1.8480139877647161, + "stddev_ms": 0.2848567010906899, + "min_ms": 1.4713001437485218, + "max_ms": 2.751599997282028, + "iterations": 50, + "ops_per_sec": 541.1214453033226, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 1.8851479794830084, + "stddev_ms": 0.25118933256331943, + "min_ms": 1.4649000950157642, + "max_ms": 2.589999698102474, + "iterations": 50, + "ops_per_sec": 530.4623355213974, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 29.722279962152243, + "stddev_ms": 3.494404729333799, + "min_ms": 27.268599718809128, + "max_ms": 50.24650041013956, + "iterations": 50, + "ops_per_sec": 33.64479445296189, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 1.8904019799083471, + "stddev_ms": 0.673108940587684, + "min_ms": 1.4055999927222729, + "max_ms": 5.269299726933241, + "iterations": 50, + "ops_per_sec": 528.988019811788, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 1.6176740173250437, + "stddev_ms": 0.6050187654715884, + "min_ms": 1.2528998777270317, + "max_ms": 4.67640021815896, + "iterations": 50, + "ops_per_sec": 618.1715161955693, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 4.98145199380815, + "stddev_ms": 0.6168218676174663, + "min_ms": 4.35320008546114, + "max_ms": 7.191400043666363, + "iterations": 50, + "ops_per_sec": 200.74468272362776, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 4.955461984500289, + "stddev_ms": 0.6384573012691204, + "min_ms": 4.4698999263346195, + "max_ms": 8.462700061500072, + "iterations": 50, + "ops_per_sec": 201.79753232449434, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 4.148975983262062, + "stddev_ms": 0.37712400635823395, + "min_ms": 3.7635001353919506, + "max_ms": 6.017299834638834, + "iterations": 50, + "ops_per_sec": 241.02332817404428, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 5.601142048835754, + "stddev_ms": 0.9704569807270621, + "min_ms": 4.799899645149708, + "max_ms": 10.12980006635189, + "iterations": 50, + "ops_per_sec": 178.53501862318572, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 4.722007978707552, + "stddev_ms": 0.9215630773535288, + "min_ms": 4.010200034826994, + "max_ms": 9.716300293803215, + "iterations": 50, + "ops_per_sec": 211.77431391670527, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 6.341445986181498, + "stddev_ms": 0.750211846913932, + "min_ms": 5.657599773257971, + "max_ms": 10.848499834537506, + "iterations": 50, + "ops_per_sec": 157.6927410844589, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 3.328226003795862, + "stddev_ms": 0.8947404381222638, + "min_ms": 2.936599776148796, + "max_ms": 9.083999786525965, + "iterations": 50, + "ops_per_sec": 300.4603650291458, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 3.407418029382825, + "stddev_ms": 0.310127303643266, + "min_ms": 2.998900134116411, + "max_ms": 4.513300023972988, + "iterations": 50, + "ops_per_sec": 293.47734600709583, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (int64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 4.064405960962176, + "stddev_ms": 0.22551733618954936, + "min_ms": 3.650700207799673, + "max_ms": 4.6814000234007835, + "iterations": 50, + "ops_per_sec": 246.03841486426413, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (int64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 4.105570018291473, + "stddev_ms": 0.32353511902914817, + "min_ms": 3.698100335896015, + "max_ms": 5.086799617856741, + "iterations": 50, + "ops_per_sec": 243.57153709344078, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (int64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 16.379808001220226, + "stddev_ms": 1.6350244050183413, + "min_ms": 14.76160017773509, + "max_ms": 21.839899942278862, + "iterations": 50, + "ops_per_sec": 61.05077665901238, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 4.388771960511804, + "stddev_ms": 0.6867686950305786, + "min_ms": 3.819500096142292, + "max_ms": 8.687099907547235, + "iterations": 50, + "ops_per_sec": 227.85417173586376, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (int64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 4.14099195972085, + "stddev_ms": 0.785882722971754, + "min_ms": 3.634300082921982, + "max_ms": 8.470400236546993, + "iterations": 50, + "ops_per_sec": 241.48803227027068, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 5.985431969165802, + "stddev_ms": 0.22018585275460614, + "min_ms": 5.694599822163582, + "max_ms": 6.649999879300594, + "iterations": 50, + "ops_per_sec": 167.07231911607064, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (int64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 6.362547967582941, + "stddev_ms": 0.4047857644553045, + "min_ms": 6.013000383973122, + "max_ms": 8.54460010305047, + "iterations": 50, + "ops_per_sec": 157.16973845933745, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 4.254929963499308, + "stddev_ms": 0.2500088222809564, + "min_ms": 3.8987998850643635, + "max_ms": 5.129000172019005, + "iterations": 50, + "ops_per_sec": 235.0214947316283, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 5.140624018386006, + "stddev_ms": 0.2968826161736991, + "min_ms": 4.7160000540316105, + "max_ms": 6.33540004491806, + "iterations": 50, + "ops_per_sec": 194.5289125256759, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 4.645747980102897, + "stddev_ms": 0.9873119353971495, + "min_ms": 3.996100276708603, + "max_ms": 9.49010020121932, + "iterations": 50, + "ops_per_sec": 215.2505913542584, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 7.37692398019135, + "stddev_ms": 0.7274725129838314, + "min_ms": 6.832499988377094, + "max_ms": 11.41569996252656, + "iterations": 50, + "ops_per_sec": 135.55785618575143, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 3.603661973029375, + "stddev_ms": 0.22574720304020252, + "min_ms": 3.2616001553833485, + "max_ms": 4.382999613881111, + "iterations": 50, + "ops_per_sec": 277.49550526221026, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 3.6692160461097956, + "stddev_ms": 0.24952820716018123, + "min_ms": 3.3100000582635403, + "max_ms": 4.4377995654940605, + "iterations": 50, + "ops_per_sec": 272.5377812135722, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (uint64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 4.283059984445572, + "stddev_ms": 0.24053049985673577, + "min_ms": 3.9705997332930565, + "max_ms": 4.897200036793947, + "iterations": 50, + "ops_per_sec": 233.47793484835975, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (uint64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 4.387781973928213, + "stddev_ms": 0.30200661358045666, + "min_ms": 3.9885002188384533, + "max_ms": 5.1599000580608845, + "iterations": 50, + "ops_per_sec": 227.9055809841751, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (uint64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 16.241489965468645, + "stddev_ms": 1.9797990373611951, + "min_ms": 14.643299859017134, + "max_ms": 24.36670009046793, + "iterations": 50, + "ops_per_sec": 61.57070577429287, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 4.404707979410887, + "stddev_ms": 0.5576510913480365, + "min_ms": 3.8836002349853516, + "max_ms": 6.4213997684419155, + "iterations": 50, + "ops_per_sec": 227.02980644218468, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (uint64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 4.3907140381634235, + "stddev_ms": 0.28563103237984216, + "min_ms": 3.958300221711397, + "max_ms": 5.089500453323126, + "iterations": 50, + "ops_per_sec": 227.75338847124885, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 7.149479957297444, + "stddev_ms": 0.715574848322914, + "min_ms": 6.679499987512827, + "max_ms": 10.820599738508463, + "iterations": 50, + "ops_per_sec": 139.87031308190524, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (uint64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 7.381657958030701, + "stddev_ms": 0.257900851734856, + "min_ms": 7.0352996699512005, + "max_ms": 7.967500016093254, + "iterations": 50, + "ops_per_sec": 135.47092071803104, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 19.944875994697213, + "stddev_ms": 0.3960017328740547, + "min_ms": 19.14169965311885, + "max_ms": 21.493300329893827, + "iterations": 50, + "ops_per_sec": 50.13819089503851, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 29.044033996760845, + "stddev_ms": 0.8609201053068746, + "min_ms": 28.19480001926422, + "max_ms": 33.289500046521425, + "iterations": 50, + "ops_per_sec": 34.430478910454575, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 19.791163997724652, + "stddev_ms": 0.45638047069641247, + "min_ms": 19.163500051945448, + "max_ms": 22.127800155431032, + "iterations": 50, + "ops_per_sec": 50.52759908992558, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 10.493548000231385, + "stddev_ms": 0.46991800102879494, + "min_ms": 8.68299975991249, + "max_ms": 11.332500260323286, + "iterations": 50, + "ops_per_sec": 95.2966527601484, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 91.46598999388516, + "stddev_ms": 1.6546695705405525, + "min_ms": 89.24150001257658, + "max_ms": 98.76299975439906, + "iterations": 50, + "ops_per_sec": 10.933025489221226, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 90.81490397453308, + "stddev_ms": 1.2226917505165817, + "min_ms": 89.25479976460338, + "max_ms": 96.36980015784502, + "iterations": 50, + "ops_per_sec": 11.011408438866232, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 51.88154402188957, + "stddev_ms": 0.3702935828756635, + "min_ms": 51.303999964147806, + "max_ms": 53.186300210654736, + "iterations": 50, + "ops_per_sec": 19.274676936717334, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 50.665879994630814, + "stddev_ms": 0.7115005787971802, + "min_ms": 49.73379988223314, + "max_ms": 54.04390022158623, + "iterations": 50, + "ops_per_sec": 19.73714855255593, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 42.586119966581464, + "stddev_ms": 1.0374985732800122, + "min_ms": 41.69459966942668, + "max_ms": 45.90449994429946, + "iterations": 50, + "ops_per_sec": 23.481829309285004, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float16)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 43.85375197045505, + "stddev_ms": 0.6159335715731522, + "min_ms": 43.24939986690879, + "max_ms": 46.41069984063506, + "iterations": 50, + "ops_per_sec": 22.803065987916277, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float16)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 49.30713799782097, + "stddev_ms": 0.4765685775647009, + "min_ms": 48.564199823886156, + "max_ms": 51.20519967749715, + "iterations": 50, + "ops_per_sec": 20.281039228928535, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 47.35910997726023, + "stddev_ms": 0.9206373775619486, + "min_ms": 46.10730009153485, + "max_ms": 50.61030015349388, + "iterations": 50, + "ops_per_sec": 21.11526167785155, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float16)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 49.74204000085592, + "stddev_ms": 1.2690677444849348, + "min_ms": 48.6782998777926, + "max_ms": 57.64670018106699, + "iterations": 50, + "ops_per_sec": 20.103719107274102, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 7.313342001289129, + "stddev_ms": 0.20224470646547396, + "min_ms": 7.038000039756298, + "max_ms": 7.71210016682744, + "iterations": 50, + "ops_per_sec": 136.73639217525027, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float16)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 7.962571997195482, + "stddev_ms": 0.18671731100222802, + "min_ms": 7.760900072753429, + "max_ms": 8.402599953114986, + "iterations": 50, + "ops_per_sec": 125.58756145027166, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 109.88249197602272, + "stddev_ms": 3.2511925493353924, + "min_ms": 107.05340001732111, + "max_ms": 122.30669986456633, + "iterations": 50, + "ops_per_sec": 9.100630883200287, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float16)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 110.00064597465098, + "stddev_ms": 3.2002992106060706, + "min_ms": 107.70690022036433, + "max_ms": 128.61189991235733, + "iterations": 50, + "ops_per_sec": 9.090855704887808, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.0578940082341433, + "stddev_ms": 0.3049605824477695, + "min_ms": 2.6724999770522118, + "max_ms": 4.695999901741743, + "iterations": 50, + "ops_per_sec": 327.022453135148, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.889529973268509, + "stddev_ms": 0.7890561796729184, + "min_ms": 1.271700020879507, + "max_ms": 5.245199892669916, + "iterations": 50, + "ops_per_sec": 529.2321445794269, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.384965993463993, + "stddev_ms": 0.23658510988786668, + "min_ms": 2.917500212788582, + "max_ms": 3.9425003342330456, + "iterations": 50, + "ops_per_sec": 295.4239427902357, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.6082659754902124, + "stddev_ms": 1.7377316755198136, + "min_ms": 2.7307001873850822, + "max_ms": 12.030299752950668, + "iterations": 50, + "ops_per_sec": 277.14143214294, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 17.125942017883062, + "stddev_ms": 2.195916847134494, + "min_ms": 15.662100166082382, + "max_ms": 27.540700044482946, + "iterations": 50, + "ops_per_sec": 58.39094859458189, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 17.83219595439732, + "stddev_ms": 3.0763681587004066, + "min_ms": 15.408500097692013, + "max_ms": 30.753899831324816, + "iterations": 50, + "ops_per_sec": 56.078342934169335, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.4446760062128305, + "stddev_ms": 0.23226384732987912, + "min_ms": 1.1506997980177402, + "max_ms": 2.4083000607788563, + "iterations": 50, + "ops_per_sec": 692.1967248708354, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.594685995951295, + "stddev_ms": 0.6042461800076669, + "min_ms": 1.1117001995444298, + "max_ms": 3.5343002527952194, + "iterations": 50, + "ops_per_sec": 627.0827000041845, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 2.7400899957865477, + "stddev_ms": 1.11818024532885, + "min_ms": 1.9505997188389301, + "max_ms": 7.494399789720774, + "iterations": 50, + "ops_per_sec": 364.9515167522621, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float32)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 2.313733948394656, + "stddev_ms": 0.7126363064021268, + "min_ms": 1.689099706709385, + "max_ms": 4.68769995495677, + "iterations": 50, + "ops_per_sec": 432.2018098467339, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float32)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 20.185471968725324, + "stddev_ms": 1.188665645999211, + "min_ms": 19.62260017171502, + "max_ms": 27.831600047647953, + "iterations": 50, + "ops_per_sec": 49.540580549682744, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.7251939978450537, + "stddev_ms": 0.2201521972275856, + "min_ms": 1.3902001082897186, + "max_ms": 2.380399964749813, + "iterations": 50, + "ops_per_sec": 579.6449565956663, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float32)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.6926060058176517, + "stddev_ms": 0.15636581523275192, + "min_ms": 1.3772002421319485, + "max_ms": 2.080800011754036, + "iterations": 50, + "ops_per_sec": 590.8049460789473, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.4901139587163925, + "stddev_ms": 0.17444605075277825, + "min_ms": 1.155999954789877, + "max_ms": 2.0443000830709934, + "iterations": 50, + "ops_per_sec": 671.089613079939, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float32)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 2.9697260353714228, + "stddev_ms": 0.21407292113720303, + "min_ms": 2.552799880504608, + "max_ms": 3.4722997806966305, + "iterations": 50, + "ops_per_sec": 336.73139814559704, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 14.084709994494915, + "stddev_ms": 0.5096835718498867, + "min_ms": 13.061500154435635, + "max_ms": 15.333199873566628, + "iterations": 50, + "ops_per_sec": 70.99897693249314, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float32)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 14.254512004554272, + "stddev_ms": 0.9960467195994873, + "min_ms": 13.180900365114212, + "max_ms": 19.30590020492673, + "iterations": 50, + "ops_per_sec": 70.15322584740208, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.811659995466471, + "stddev_ms": 0.2246314370648372, + "min_ms": 4.410300403833389, + "max_ms": 5.404899828135967, + "iterations": 50, + "ops_per_sec": 207.82848350510977, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.476220015436411, + "stddev_ms": 0.3205001217724781, + "min_ms": 3.1034001149237156, + "max_ms": 4.652000032365322, + "iterations": 50, + "ops_per_sec": 287.66878838491994, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 5.103635946288705, + "stddev_ms": 0.27069293111245085, + "min_ms": 4.726199898868799, + "max_ms": 5.952799692749977, + "iterations": 50, + "ops_per_sec": 195.93874063983472, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.654403980821371, + "stddev_ms": 0.25281258618590224, + "min_ms": 4.313500132411718, + "max_ms": 5.229199770838022, + "iterations": 50, + "ops_per_sec": 214.85028031957128, + "allocated_mb": 0.0 + }, + { + "name": "np.var (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 30.590246003121138, + "stddev_ms": 1.535431379050638, + "min_ms": 28.94470002502203, + "max_ms": 37.77060005813837, + "iterations": 50, + "ops_per_sec": 32.690158813955584, + "allocated_mb": 0.0 + }, + { + "name": "np.std (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 30.34028396010399, + "stddev_ms": 0.9200213106125831, + "min_ms": 28.806500136852264, + "max_ms": 33.37079985067248, + "iterations": 50, + "ops_per_sec": 32.95948058083279, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.34981600753963, + "stddev_ms": 0.41611529849637396, + "min_ms": 3.0215997248888016, + "max_ms": 5.859800148755312, + "iterations": 50, + "ops_per_sec": 298.523858549019, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.347511999309063, + "stddev_ms": 0.2317328417621174, + "min_ms": 3.0259001068770885, + "max_ms": 3.936199937015772, + "iterations": 50, + "ops_per_sec": 298.7293250050793, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (float64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.284717999398708, + "stddev_ms": 0.2676248226484657, + "min_ms": 3.8558999076485634, + "max_ms": 4.864700138568878, + "iterations": 50, + "ops_per_sec": 233.38758820074833, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (float64)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.118013996630907, + "stddev_ms": 0.18146355068068495, + "min_ms": 3.8503999821841717, + "max_ms": 4.5900000259280205, + "iterations": 50, + "ops_per_sec": 242.835502943442, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (float64)", + "category": "Sum", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 24.682243978604674, + "stddev_ms": 1.3991779713199388, + "min_ms": 23.890699725598097, + "max_ms": 31.758800148963928, + "iterations": 50, + "ops_per_sec": 40.514954834205135, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.0123700723052025, + "stddev_ms": 0.24986200040584158, + "min_ms": 3.576799761503935, + "max_ms": 4.6616001054644585, + "iterations": 50, + "ops_per_sec": 249.22925402677927, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (float64)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.9103940036147833, + "stddev_ms": 0.6513204113828464, + "min_ms": 3.4698001109063625, + "max_ms": 7.8039998188614845, + "iterations": 50, + "ops_per_sec": 255.72870638498222, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.3835740108042955, + "stddev_ms": 0.2185783685931824, + "min_ms": 3.0799000523984432, + "max_ms": 4.039099905639887, + "iterations": 50, + "ops_per_sec": 295.5454784812861, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (float64)", + "category": "Mean", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 5.108585990965366, + "stddev_ms": 0.45234226063975547, + "min_ms": 4.796300083398819, + "max_ms": 7.972800172865391, + "iterations": 50, + "ops_per_sec": 195.7488827179418, + "allocated_mb": 0.0 + }, + { + "name": "np.var axis=0 (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 28.512711990624666, + "stddev_ms": 0.9865416104564515, + "min_ms": 27.044199872761965, + "max_ms": 31.468700151890516, + "iterations": 50, + "ops_per_sec": 35.07207593331748, + "allocated_mb": 0.0 + }, + { + "name": "np.std axis=0 (float64)", + "category": "VarStd", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 30.04091995768249, + "stddev_ms": 3.4547890408343385, + "min_ms": 27.367800008505583, + "max_ms": 45.42770003899932, + "iterations": 50, + "ops_per_sec": 33.28792864561612, + "allocated_mb": 0.0 + }, + { + "name": "np.sum (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 8.992475997656584, + "stddev_ms": 1.0682466568398665, + "min_ms": 7.553100120276213, + "max_ms": 13.63519998267293, + "iterations": 50, + "ops_per_sec": 111.2040777490646, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=0 (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 7.450088020414114, + "stddev_ms": 0.412477461498445, + "min_ms": 6.892200093716383, + "max_ms": 9.39439982175827, + "iterations": 50, + "ops_per_sec": 134.22660205622844, + "allocated_mb": 0.0 + }, + { + "name": "np.sum axis=1 (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 9.245342006906867, + "stddev_ms": 1.0664493058986155, + "min_ms": 7.763999979943037, + "max_ms": 13.285399880260229, + "iterations": 50, + "ops_per_sec": 108.16257519223578, + "allocated_mb": 0.0 + }, + { + "name": "np.mean (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 8.558130022138357, + "stddev_ms": 0.9601210760579414, + "min_ms": 7.666099816560745, + "max_ms": 14.629700221121311, + "iterations": 50, + "ops_per_sec": 116.84795596855601, + "allocated_mb": 0.0 + }, + { + "name": "np.amin (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 16.43777403049171, + "stddev_ms": 0.3531186605640163, + "min_ms": 16.090300399810076, + "max_ms": 17.924599815160036, + "iterations": 50, + "ops_per_sec": 60.83548770928606, + "allocated_mb": 0.0 + }, + { + "name": "np.amax (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 16.62396201863885, + "stddev_ms": 0.5975248404669954, + "min_ms": 16.068399883806705, + "max_ms": 19.91630019620061, + "iterations": 50, + "ops_per_sec": 60.15413166120064, + "allocated_mb": 0.0 + }, + { + "name": "np.argmin (complex128)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 13.871133970096707, + "stddev_ms": 0.4495849075837643, + "min_ms": 13.430099934339523, + "max_ms": 16.2754999473691, + "iterations": 50, + "ops_per_sec": 72.09215931125695, + "allocated_mb": 0.0 + }, + { + "name": "np.argmax (complex128)", + "category": "ArgMinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 14.196829991415143, + "stddev_ms": 0.6029048893063413, + "min_ms": 13.437699992209673, + "max_ms": 16.342599876224995, + "iterations": 50, + "ops_per_sec": 70.43825985129796, + "allocated_mb": 0.0 + }, + { + "name": "np.cumsum (complex128)", + "category": "Sum", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 41.34871997870505, + "stddev_ms": 2.320440086107332, + "min_ms": 37.79300022870302, + "max_ms": 49.060499761253595, + "iterations": 50, + "ops_per_sec": 24.184545507454857, + "allocated_mb": 0.0 + }, + { + "name": "np.amin axis=0 (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 15.7181659899652, + "stddev_ms": 0.24320346249808084, + "min_ms": 15.456300228834152, + "max_ms": 16.534199938178062, + "iterations": 50, + "ops_per_sec": 63.62065400240846, + "allocated_mb": 0.0 + }, + { + "name": "np.amax axis=0 (complex128)", + "category": "MinMax", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 16.004230016842484, + "stddev_ms": 0.7257851548363544, + "min_ms": 15.434700064361095, + "max_ms": 20.364100113511086, + "iterations": 50, + "ops_per_sec": 62.48348086397302, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=0 (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 7.529783984646201, + "stddev_ms": 0.5343705936937067, + "min_ms": 6.866099778562784, + "max_ms": 9.926900267601013, + "iterations": 50, + "ops_per_sec": 132.80593467741912, + "allocated_mb": 0.0 + }, + { + "name": "np.mean axis=1 (complex128)", + "category": "Mean", + "suite": "Reduction", + "dtype": "complex128", + "n": 10000000, + "mean_ms": 8.40552999638021, + "stddev_ms": 0.4241355247240708, + "min_ms": 7.734700106084347, + "max_ms": 9.46279987692833, + "iterations": 50, + "ops_per_sec": 118.96929764460349, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 31.607678029686213, + "stddev_ms": 1.2158373576001784, + "min_ms": 30.59769980609417, + "max_ms": 37.79229987412691, + "iterations": 50, + "ops_per_sec": 31.637882386070597, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 37.86236001178622, + "stddev_ms": 2.405130995987012, + "min_ms": 36.15549998357892, + "max_ms": 52.14980011805892, + "iterations": 50, + "ops_per_sec": 26.411454533967476, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 51.24404597096145, + "stddev_ms": 1.590450089692553, + "min_ms": 50.01079989597201, + "max_ms": 58.182299602776766, + "iterations": 50, + "ops_per_sec": 19.514462237557737, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 51.43242199905217, + "stddev_ms": 1.0311300170758078, + "min_ms": 50.26650009676814, + "max_ms": 55.253700353205204, + "iterations": 50, + "ops_per_sec": 19.442988705031794, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 119.94074801914394, + "stddev_ms": 2.335142431390606, + "min_ms": 117.57970042526722, + "max_ms": 128.92659986391664, + "iterations": 50, + "ops_per_sec": 8.337450086941166, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 120.05725594237447, + "stddev_ms": 2.1361489207519075, + "min_ms": 117.0338997617364, + "max_ms": 131.35539973154664, + "iterations": 50, + "ops_per_sec": 8.329359122450573, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 20.517921978607774, + "stddev_ms": 1.322464143218308, + "min_ms": 19.56319995224476, + "max_ms": 26.21949976310134, + "iterations": 50, + "ops_per_sec": 48.73787906214926, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 114.70824806950986, + "stddev_ms": 1.835139434921122, + "min_ms": 113.26780030503869, + "max_ms": 124.32119995355606, + "iterations": 50, + "ops_per_sec": 8.717768920976189, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 120.94978401437402, + "stddev_ms": 1.363797185534611, + "min_ms": 119.20659989118576, + "max_ms": 126.1297999881208, + "iterations": 50, + "ops_per_sec": 8.267894053297004, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 121.18165996856987, + "stddev_ms": 1.716361803743036, + "min_ms": 119.13450015708804, + "max_ms": 126.7022998072207, + "iterations": 50, + "ops_per_sec": 8.252073789543433, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float16)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float16", + "n": 10000000, + "mean_ms": 43.545661978423595, + "stddev_ms": 1.8090661486134247, + "min_ms": 42.61469980701804, + "max_ms": 55.35570019856095, + "iterations": 50, + "ops_per_sec": 22.96440000143962, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 13.398746019229293, + "stddev_ms": 0.690126479833664, + "min_ms": 12.521999888122082, + "max_ms": 17.223000060766935, + "iterations": 50, + "ops_per_sec": 74.6338499561708, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 19.318201998248696, + "stddev_ms": 0.9574723126245789, + "min_ms": 18.019199836999178, + "max_ms": 22.83360017463565, + "iterations": 50, + "ops_per_sec": 51.764651808209464, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.5124240331351757, + "stddev_ms": 0.38162054978447935, + "min_ms": 1.1219000443816185, + "max_ms": 3.590600099414587, + "iterations": 50, + "ops_per_sec": 661.190233751478, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1.5001100022345781, + "stddev_ms": 0.24239470759240236, + "min_ms": 1.0861996561288834, + "max_ms": 2.0237998105585575, + "iterations": 50, + "ops_per_sec": 666.6177803696999, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 31.953579988330603, + "stddev_ms": 0.9134499807885705, + "min_ms": 30.445599928498268, + "max_ms": 35.055600106716156, + "iterations": 50, + "ops_per_sec": 31.29539789798822, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 32.06121399067342, + "stddev_ms": 0.8079998759414172, + "min_ms": 30.84920020774007, + "max_ms": 34.328400157392025, + "iterations": 50, + "ops_per_sec": 31.190334847922447, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 18.035309994593263, + "stddev_ms": 0.907884655878782, + "min_ms": 17.161500174552202, + "max_ms": 22.334299981594086, + "iterations": 50, + "ops_per_sec": 55.44678745748125, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 77.37931202165782, + "stddev_ms": 0.9073161759899024, + "min_ms": 75.89279999956489, + "max_ms": 80.9863000176847, + "iterations": 50, + "ops_per_sec": 12.923350878592824, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 51.878920029848814, + "stddev_ms": 1.2278203939915666, + "min_ms": 50.61550019308925, + "max_ms": 56.05830019339919, + "iterations": 50, + "ops_per_sec": 19.275651833628082, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 51.10568595118821, + "stddev_ms": 0.5828255456737513, + "min_ms": 50.164599902927876, + "max_ms": 52.82349977642298, + "iterations": 50, + "ops_per_sec": 19.56729435067391, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float32)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float32", + "n": 10000000, + "mean_ms": 20.843690019100904, + "stddev_ms": 0.5649096348681859, + "min_ms": 20.360300317406654, + "max_ms": 23.991300258785486, + "iterations": 50, + "ops_per_sec": 47.97615005229938, + "allocated_mb": 0.0 + }, + { + "name": "np.nansum(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 23.875438002869487, + "stddev_ms": 0.7106616375320219, + "min_ms": 22.257599979639053, + "max_ms": 25.58849984779954, + "iterations": 50, + "ops_per_sec": 41.88404836300026, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmean(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 29.77194202132523, + "stddev_ms": 2.0544853036850776, + "min_ms": 28.294299729168415, + "max_ms": 39.2840001732111, + "iterations": 50, + "ops_per_sec": 33.58867215594179, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmax(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.5080939531326294, + "stddev_ms": 0.23394327959417688, + "min_ms": 3.1507997773587704, + "max_ms": 4.267099779099226, + "iterations": 50, + "ops_per_sec": 285.05507929940933, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmin(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 3.6863359715789557, + "stddev_ms": 0.3906743041551263, + "min_ms": 3.143299836665392, + "max_ms": 4.988499917089939, + "iterations": 50, + "ops_per_sec": 271.27207278713485, + "allocated_mb": 0.0 + }, + { + "name": "np.nanstd(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 49.60623199120164, + "stddev_ms": 2.73415125591022, + "min_ms": 46.29669990390539, + "max_ms": 58.954000007361174, + "iterations": 50, + "ops_per_sec": 20.15875747582207, + "allocated_mb": 0.0 + }, + { + "name": "np.nanvar(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 51.17592799477279, + "stddev_ms": 3.8282234537266273, + "min_ms": 47.01019963249564, + "max_ms": 64.47910005226731, + "iterations": 50, + "ops_per_sec": 19.540437060606735, + "allocated_mb": 0.0 + }, + { + "name": "np.nanprod(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 28.668830022215843, + "stddev_ms": 1.654537872816923, + "min_ms": 26.630499865859747, + "max_ms": 35.10829992592335, + "iterations": 50, + "ops_per_sec": 34.88108859779374, + "allocated_mb": 0.0 + }, + { + "name": "np.nanmedian(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 92.48640001751482, + "stddev_ms": 2.6937997932738424, + "min_ms": 89.05410021543503, + "max_ms": 107.32549987733364, + "iterations": 50, + "ops_per_sec": 10.812400523867538, + "allocated_mb": 0.0 + }, + { + "name": "np.nanpercentile(a, 50) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 63.5626479703933, + "stddev_ms": 1.3349042249033036, + "min_ms": 62.09270004183054, + "max_ms": 69.7447001002729, + "iterations": 50, + "ops_per_sec": 15.732510081483511, + "allocated_mb": 0.0 + }, + { + "name": "np.nanquantile(a, 0.5) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 64.05839802697301, + "stddev_ms": 2.032784981821633, + "min_ms": 61.730300076305866, + "max_ms": 73.8332998007536, + "iterations": 50, + "ops_per_sec": 15.610755666711038, + "allocated_mb": 0.0 + }, + { + "name": "np.cumprod(a) (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 25.498289987444878, + "stddev_ms": 1.7890040627221795, + "min_ms": 24.413600098341703, + "max_ms": 36.06130043044686, + "iterations": 50, + "ops_per_sec": 39.2183162279663, + "allocated_mb": 0.0 + }, + { + "name": "np.prod (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 6.3161279540508986, + "stddev_ms": 0.23430708576430667, + "min_ms": 5.996800027787685, + "max_ms": 7.009999826550484, + "iterations": 50, + "ops_per_sec": 158.3248482733226, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=0 (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 5.010693967342377, + "stddev_ms": 0.2593123727911093, + "min_ms": 4.633800126612186, + "max_ms": 5.897399969398975, + "iterations": 50, + "ops_per_sec": 199.57315424122584, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=1 (int64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "int64", + "n": 10000000, + "mean_ms": 6.275884062051773, + "stddev_ms": 0.4690545039430181, + "min_ms": 5.955400411039591, + "max_ms": 9.359500370919704, + "iterations": 50, + "ops_per_sec": 159.34010095034648, + "allocated_mb": 0.0 + }, + { + "name": "np.prod (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 239.64741803705692, + "stddev_ms": 4.165537580195371, + "min_ms": 236.52350017800927, + "max_ms": 257.1885003708303, + "iterations": 50, + "ops_per_sec": 4.172796887155984, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=0 (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 19.807212008163333, + "stddev_ms": 0.17307833660268968, + "min_ms": 19.518399611115456, + "max_ms": 20.31979989260435, + "iterations": 50, + "ops_per_sec": 50.48666110040426, + "allocated_mb": 0.0 + }, + { + "name": "np.prod axis=1 (float64)", + "category": "Reduction", + "suite": "Reduction", + "dtype": "float64", + "n": 10000000, + "mean_ms": 69.92487800307572, + "stddev_ms": 0.770572066512901, + "min_ms": 69.48790000751615, + "max_ms": 74.58819961175323, + "iterations": 50, + "ops_per_sec": 14.301061775982133, + "allocated_mb": 0.0 + }, + { + "name": "matrix + scalar", + "category": "Scalar", + "suite": "Broadcasting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0007279589772224426, + "stddev_ms": 8.819314790229619e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1373703.7817921294, + "allocated_mb": 0.0 + }, + { + "name": "matrix + row_vector (N,M)+(M,)", + "category": "Row", + "suite": "Broadcasting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0011779926717281342, + "stddev_ms": 5.454638194779584e-05, + "min_ms": 0.0010998919606208801, + "max_ms": 0.0013997778296470642, + "iterations": 50, + "ops_per_sec": 848901.7156048891, + "allocated_mb": 0.0 + }, + { + "name": "matrix + col_vector (N,M)+(N,1)", + "category": "Column", + "suite": "Broadcasting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0012660026550292969, + "stddev_ms": 0.00011885003757565898, + "min_ms": 0.001200009137392044, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 789887.758945386, + "allocated_mb": 0.0 + }, + { + "name": "np.broadcast_to(row, (N,M))", + "category": "BroadcastTo", + "suite": "Broadcasting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0018379930406808853, + "stddev_ms": 6.6636725578017e-05, + "min_ms": 0.001700129359960556, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 544071.7009622352, + "allocated_mb": 0.0 + }, + { + "name": "matrix + scalar", + "category": "Scalar", + "suite": "Broadcasting", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.014209961518645287, + "stddev_ms": 0.00014179509428680724, + "min_ms": 0.01400010660290718, + "max_ms": 0.014699995517730713, + "iterations": 50, + "ops_per_sec": 70373.16735079628, + "allocated_mb": 0.0 + }, + { + "name": "matrix + row_vector (N,M)+(M,)", + "category": "Row", + "suite": "Broadcasting", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.19418194890022278, + "stddev_ms": 0.009680522296886105, + "min_ms": 0.1783999614417553, + "max_ms": 0.24059973657131195, + "iterations": 50, + "ops_per_sec": 5149.809267357975, + "allocated_mb": 0.0 + }, + { + "name": "matrix + col_vector (N,M)+(N,1)", + "category": "Column", + "suite": "Broadcasting", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.19683602266013622, + "stddev_ms": 0.00806070879627377, + "min_ms": 0.17620017752051353, + "max_ms": 0.22060004994273186, + "iterations": 50, + "ops_per_sec": 5080.370891900382, + "allocated_mb": 0.0 + }, + { + "name": "np.broadcast_to(row, (N,M))", + "category": "BroadcastTo", + "suite": "Broadcasting", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.002137981355190277, + "stddev_ms": 0.0006429525049842645, + "min_ms": 0.0016996636986732483, + "max_ms": 0.0048996880650520325, + "iterations": 50, + "ops_per_sec": 467730.9264518827, + "allocated_mb": 0.0 + }, + { + "name": "matrix + scalar", + "category": "Scalar", + "suite": "Broadcasting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 15.684900004416704, + "stddev_ms": 0.45691811915538294, + "min_ms": 14.909700024873018, + "max_ms": 17.38410023972392, + "iterations": 50, + "ops_per_sec": 63.75558656532145, + "allocated_mb": 0.0 + }, + { + "name": "matrix + row_vector (N,M)+(M,)", + "category": "Row", + "suite": "Broadcasting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 16.342001957818866, + "stddev_ms": 0.5027890892082351, + "min_ms": 15.567199792712927, + "max_ms": 18.000800162553787, + "iterations": 50, + "ops_per_sec": 61.19201322953874, + "allocated_mb": 0.0 + }, + { + "name": "matrix + col_vector (N,M)+(N,1)", + "category": "Column", + "suite": "Broadcasting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 16.026101941242814, + "stddev_ms": 0.5148437772633504, + "min_ms": 15.018900390714407, + "max_ms": 17.797499895095825, + "iterations": 50, + "ops_per_sec": 62.39820535688235, + "allocated_mb": 0.0 + }, + { + "name": "np.broadcast_to(row, (N,M))", + "category": "BroadcastTo", + "suite": "Broadcasting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.001827990636229515, + "stddev_ms": 6.074767334744727e-05, + "min_ms": 0.001700129359960556, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 547048.7540694623, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0003800075501203537, + "stddev_ms": 5.7136857203533256e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 2631526.662255226, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0008819904178380966, + "stddev_ms": 4.373558939721867e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1133799.165813121, + "allocated_mb": 0.0 + }, + { + "name": "np.full (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0009139999747276306, + "stddev_ms": 4.045990200647352e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1094091.933971877, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (int32)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.00033598393201828003, + "stddev_ms": 4.850202541044421e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2976332.8085153564, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (int32)", + "category": "Copy", + "suite": "Creation", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0005899742245674133, + "stddev_ms": 3.6368330885088475e-05, + "min_ms": 0.000500120222568512, + "max_ms": 0.0006998889148235321, + "iterations": 50, + "ops_per_sec": 1694989.3035297089, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (int32)", + "category": "Like", + "suite": "Creation", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0010580196976661682, + "stddev_ms": 5.746465287897184e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 945161.9872539699, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.00038399361073970795, + "stddev_ms": 4.2215763995543975e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2604209.9973321045, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0008620135486125946, + "stddev_ms": 4.9076366206362505e-05, + "min_ms": 0.0007995404303073883, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1160074.5737807646, + "allocated_mb": 0.0 + }, + { + "name": "np.full (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0008579716086387634, + "stddev_ms": 5.375878702108762e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1165539.733402805, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (int64)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0003198999911546707, + "stddev_ms": 4.519049675553974e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.0004996545612812042, + "iterations": 50, + "ops_per_sec": 3125976.9542053626, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (int64)", + "category": "Copy", + "suite": "Creation", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0006099790334701538, + "stddev_ms": 4.165116345080633e-05, + "min_ms": 0.000500120222568512, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1639400.610724319, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (int64)", + "category": "Like", + "suite": "Creation", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0010459963232278824, + "stddev_ms": 5.034329168858923e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 956026.3050581856, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.00042001716792583466, + "stddev_ms": 4.519049675553974e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0005997717380523682, + "iterations": 50, + "ops_per_sec": 2380855.061087829, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.000985981896519661, + "stddev_ms": 3.504834963178451e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1014217.4045282378, + "allocated_mb": 0.0 + }, + { + "name": "np.full (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0009799934923648834, + "stddev_ms": 0.00017374107382004848, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0020996667444705963, + "iterations": 50, + "ops_per_sec": 1020414.9392735636, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (float32)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.00033394433557987213, + "stddev_ms": 4.789446538689313e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2994511.041079845, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (float32)", + "category": "Copy", + "suite": "Creation", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.000590011477470398, + "stddev_ms": 3.0331583062562243e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1694882.283116555, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (float32)", + "category": "Like", + "suite": "Creation", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0010600034147500992, + "stddev_ms": 4.946493463019735e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 943393.1873094529, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0003540143370628357, + "stddev_ms": 6.129466068288033e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2824744.3544143955, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0008679740130901337, + "stddev_ms": 4.709934283957663e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1152108.2254984013, + "allocated_mb": 0.0 + }, + { + "name": "np.full (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0009699724614620209, + "stddev_ms": 0.0006698390681945444, + "min_ms": 0.000800006091594696, + "max_ms": 0.005600042641162872, + "iterations": 50, + "ops_per_sec": 1030957.1041766682, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (float64)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005340110510587692, + "stddev_ms": 0.0001451614242492909, + "min_ms": 0.0003003515303134918, + "max_ms": 0.001400243490934372, + "iterations": 50, + "ops_per_sec": 1872620.4224001116, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (float64)", + "category": "Copy", + "suite": "Creation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0006039813160896301, + "stddev_ms": 5.329304931346948e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1655680.3552704619, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (float64)", + "category": "Like", + "suite": "Creation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0012460164725780487, + "stddev_ms": 5.426453719226538e-05, + "min_ms": 0.001200009137392044, + "max_ms": 0.001400243490934372, + "iterations": 50, + "ops_per_sec": 802557.6081919426, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.004893997684121132, + "stddev_ms": 0.0001811090810120281, + "min_ms": 0.0047995708882808685, + "max_ms": 0.005999580025672913, + "iterations": 50, + "ops_per_sec": 204331.93159133682, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.005299998447299004, + "stddev_ms": 7.559374739441984e-05, + "min_ms": 0.0051995739340782166, + "max_ms": 0.005499925464391708, + "iterations": 50, + "ops_per_sec": 188679.30055896944, + "allocated_mb": 0.0 + }, + { + "name": "np.full (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.005385978147387505, + "stddev_ms": 0.00032137374420192867, + "min_ms": 0.0051995739340782166, + "max_ms": 0.006800051778554916, + "iterations": 50, + "ops_per_sec": 185667.29619670942, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (int32)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.00034594908356666565, + "stddev_ms": 5.039609619979449e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2890598.783179885, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (int32)", + "category": "Copy", + "suite": "Creation", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.006016045808792114, + "stddev_ms": 8.657348330023677e-05, + "min_ms": 0.005899928510189056, + "max_ms": 0.006200280040502548, + "iterations": 50, + "ops_per_sec": 166222.13855794715, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (int32)", + "category": "Like", + "suite": "Creation", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.00568002462387085, + "stddev_ms": 0.00047725176841567326, + "min_ms": 0.005399808287620544, + "max_ms": 0.007999595254659653, + "iterations": 50, + "ops_per_sec": 176055.57479406055, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.009448016062378883, + "stddev_ms": 0.0003252915925644493, + "min_ms": 0.009200070053339005, + "max_ms": 0.01109996810555458, + "iterations": 50, + "ops_per_sec": 105842.32640986996, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.009917989373207092, + "stddev_ms": 0.000653343760326645, + "min_ms": 0.009699724614620209, + "max_ms": 0.014100223779678345, + "iterations": 50, + "ops_per_sec": 100826.88762517185, + "allocated_mb": 0.0 + }, + { + "name": "np.full (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.009791990742087364, + "stddev_ms": 0.00010070924963276226, + "min_ms": 0.009699724614620209, + "max_ms": 0.010100193321704865, + "iterations": 50, + "ops_per_sec": 102124.27956062685, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (int64)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.00032791867852211, + "stddev_ms": 4.540888314898155e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 3049536.563476285, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (int64)", + "category": "Copy", + "suite": "Creation", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.011466043069958687, + "stddev_ms": 9.172318915135054e-05, + "min_ms": 0.0112997367978096, + "max_ms": 0.011799857020378113, + "iterations": 50, + "ops_per_sec": 87214.04532484485, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (int64)", + "category": "Like", + "suite": "Creation", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.009973989799618721, + "stddev_ms": 0.0003042422462575416, + "min_ms": 0.009799841791391373, + "max_ms": 0.011499971151351929, + "iterations": 50, + "ops_per_sec": 100260.78029859498, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0048180390149354935, + "stddev_ms": 4.379001243408202e-05, + "min_ms": 0.0047995708882808685, + "max_ms": 0.005000270903110504, + "iterations": 50, + "ops_per_sec": 207553.32136167615, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005371971055865288, + "stddev_ms": 0.0006455445485826152, + "min_ms": 0.0051995739340782166, + "max_ms": 0.009799841791391373, + "iterations": 50, + "ops_per_sec": 186151.4125077365, + "allocated_mb": 0.0 + }, + { + "name": "np.full (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005272002890706062, + "stddev_ms": 4.967905875757372e-05, + "min_ms": 0.0051995739340782166, + "max_ms": 0.005399808287620544, + "iterations": 50, + "ops_per_sec": 189681.23135191854, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (float32)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.000343983992934227, + "stddev_ms": 5.015989483713383e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2907112.0184107213, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (float32)", + "category": "Copy", + "suite": "Creation", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0061160605400800705, + "stddev_ms": 0.0004740148758926793, + "min_ms": 0.005899928510189056, + "max_ms": 0.008300412446260452, + "iterations": 50, + "ops_per_sec": 163503.94072242265, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (float32)", + "category": "Like", + "suite": "Creation", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005531990900635719, + "stddev_ms": 0.0003851455548658338, + "min_ms": 0.005300156772136688, + "max_ms": 0.0074999406933784485, + "iterations": 50, + "ops_per_sec": 180766.74708287808, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.009274035692214966, + "stddev_ms": 5.6452971837057546e-05, + "min_ms": 0.009199604392051697, + "max_ms": 0.009400304406881332, + "iterations": 50, + "ops_per_sec": 107827.92229702589, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.009806007146835327, + "stddev_ms": 0.0003582412152388702, + "min_ms": 0.009600073099136353, + "max_ms": 0.011600088328123093, + "iterations": 50, + "ops_per_sec": 101978.30625921255, + "allocated_mb": 0.0 + }, + { + "name": "np.full (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.009840019047260284, + "stddev_ms": 0.0006936812394853163, + "min_ms": 0.009600073099136353, + "max_ms": 0.014599878340959549, + "iterations": 50, + "ops_per_sec": 101625.81954334995, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (float64)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.0002960115671157837, + "stddev_ms": 2.8337010247993775e-05, + "min_ms": 0.00019976869225502014, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 3378246.362949912, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (float64)", + "category": "Copy", + "suite": "Creation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011275988072156906, + "stddev_ms": 5.906931400319323e-05, + "min_ms": 0.011199619621038437, + "max_ms": 0.011499971151351929, + "iterations": 50, + "ops_per_sec": 88684.02428246955, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (float64)", + "category": "Like", + "suite": "Creation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.009895972907543182, + "stddev_ms": 0.00015905916912650818, + "min_ms": 0.009799841791391373, + "max_ms": 0.01090019941329956, + "iterations": 50, + "ops_per_sec": 101051.2063182542, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 10000000, + "mean_ms": 0.01105600968003273, + "stddev_ms": 0.0004990316010541322, + "min_ms": 0.01039961352944374, + "max_ms": 0.012800097465515137, + "iterations": 50, + "ops_per_sec": 90448.54598906607, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 10000000, + "mean_ms": 7.134409975260496, + "stddev_ms": 0.21685265939079493, + "min_ms": 6.789600010961294, + "max_ms": 7.7587999403476715, + "iterations": 50, + "ops_per_sec": 140.16576051385206, + "allocated_mb": 0.0 + }, + { + "name": "np.full (int32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int32", + "n": 10000000, + "mean_ms": 7.332177991047502, + "stddev_ms": 0.588259199304046, + "min_ms": 6.826300173997879, + "max_ms": 10.450699832290411, + "iterations": 50, + "ops_per_sec": 136.38512338639183, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (int32)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "int32", + "n": 10000000, + "mean_ms": 0.01075800508260727, + "stddev_ms": 0.00025238362675393734, + "min_ms": 0.010299962013959885, + "max_ms": 0.011699739843606949, + "iterations": 50, + "ops_per_sec": 92954.03676809231, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (int32)", + "category": "Copy", + "suite": "Creation", + "dtype": "int32", + "n": 10000000, + "mean_ms": 6.3439940474927425, + "stddev_ms": 0.26128294251049095, + "min_ms": 5.919500254094601, + "max_ms": 7.003699894994497, + "iterations": 50, + "ops_per_sec": 157.62940389189322, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (int32)", + "category": "Like", + "suite": "Creation", + "dtype": "int32", + "n": 10000000, + "mean_ms": 7.2565980069339275, + "stddev_ms": 0.20354955689707752, + "min_ms": 6.844599731266499, + "max_ms": 7.723300252109766, + "iterations": 50, + "ops_per_sec": 137.8056217313493, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 10000000, + "mean_ms": 0.011402005329728127, + "stddev_ms": 0.0018202464978805642, + "min_ms": 0.010499730706214905, + "max_ms": 0.023900065571069717, + "iterations": 50, + "ops_per_sec": 87703.87059833486, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 10000000, + "mean_ms": 14.703784016892314, + "stddev_ms": 0.5239166706637699, + "min_ms": 13.818399980664253, + "max_ms": 15.78260026872158, + "iterations": 50, + "ops_per_sec": 68.00970409053606, + "allocated_mb": 0.0 + }, + { + "name": "np.full (int64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "int64", + "n": 10000000, + "mean_ms": 14.730364009737968, + "stddev_ms": 0.8283599692035197, + "min_ms": 13.989500235766172, + "max_ms": 19.52650025486946, + "iterations": 50, + "ops_per_sec": 67.88698496105857, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (int64)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "int64", + "n": 10000000, + "mean_ms": 0.011921972036361694, + "stddev_ms": 0.0009444311985444998, + "min_ms": 0.010999850928783417, + "max_ms": 0.015500001609325409, + "iterations": 50, + "ops_per_sec": 83878.7406101966, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (int64)", + "category": "Copy", + "suite": "Creation", + "dtype": "int64", + "n": 10000000, + "mean_ms": 13.203038005158305, + "stddev_ms": 1.0976545793792205, + "min_ms": 12.010800186544657, + "max_ms": 17.293899785727262, + "iterations": 50, + "ops_per_sec": 75.7401440190742, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (int64)", + "category": "Like", + "suite": "Creation", + "dtype": "int64", + "n": 10000000, + "mean_ms": 14.706877982243896, + "stddev_ms": 0.551869267424676, + "min_ms": 13.828400056809187, + "max_ms": 16.001500189304352, + "iterations": 50, + "ops_per_sec": 67.99539652177256, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 10000000, + "mean_ms": 0.008989972993731499, + "stddev_ms": 0.0011422174204445312, + "min_ms": 0.008099712431430817, + "max_ms": 0.01640012487769127, + "iterations": 50, + "ops_per_sec": 111235.0393819066, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.314290013164282, + "stddev_ms": 0.22358996204507603, + "min_ms": 6.9702002219855785, + "max_ms": 7.871500216424465, + "iterations": 50, + "ops_per_sec": 136.71866964533768, + "allocated_mb": 0.0 + }, + { + "name": "np.full (float32)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.3481719847768545, + "stddev_ms": 0.3279728067927197, + "min_ms": 6.912699900567532, + "max_ms": 8.72649997472763, + "iterations": 50, + "ops_per_sec": 136.08826822122447, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (float32)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "float32", + "n": 10000000, + "mean_ms": 0.008685942739248276, + "stddev_ms": 0.0002665032391050613, + "min_ms": 0.00819982960820198, + "max_ms": 0.00929972156882286, + "iterations": 50, + "ops_per_sec": 115128.5508113475, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (float32)", + "category": "Copy", + "suite": "Creation", + "dtype": "float32", + "n": 10000000, + "mean_ms": 6.478216042742133, + "stddev_ms": 0.6702110332703798, + "min_ms": 5.881000310182571, + "max_ms": 9.605400264263153, + "iterations": 50, + "ops_per_sec": 154.36348423735413, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (float32)", + "category": "Like", + "suite": "Creation", + "dtype": "float32", + "n": 10000000, + "mean_ms": 7.180591998621821, + "stddev_ms": 0.2635906723381494, + "min_ms": 6.84970011934638, + "max_ms": 8.264699950814247, + "iterations": 50, + "ops_per_sec": 139.26428352870224, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.008299974724650383, + "stddev_ms": 0.0005103040919736305, + "min_ms": 0.0074999406933784485, + "max_ms": 0.01109996810555458, + "iterations": 50, + "ops_per_sec": 120482.29460627938, + "allocated_mb": 0.0 + }, + { + "name": "np.ones (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.591115955263376, + "stddev_ms": 0.36960475156526656, + "min_ms": 13.701899908483028, + "max_ms": 15.354199800640345, + "iterations": 50, + "ops_per_sec": 68.53485388410441, + "allocated_mb": 0.0 + }, + { + "name": "np.full (float64)", + "category": "Initialized", + "suite": "Creation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.692740002647042, + "stddev_ms": 0.3944834062346355, + "min_ms": 13.98560032248497, + "max_ms": 15.814400278031826, + "iterations": 50, + "ops_per_sec": 68.06082458546467, + "allocated_mb": 0.0 + }, + { + "name": "np.empty (float64)", + "category": "Uninitialized", + "suite": "Creation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.008042016997933388, + "stddev_ms": 0.00019176157668950326, + "min_ms": 0.0073998235166072845, + "max_ms": 0.008499715477228165, + "iterations": 50, + "ops_per_sec": 124346.91449383617, + "allocated_mb": 0.0 + }, + { + "name": "np.copy (float64)", + "category": "Copy", + "suite": "Creation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 13.040423998609185, + "stddev_ms": 0.708315374195638, + "min_ms": 11.919899843633175, + "max_ms": 15.90029988437891, + "iterations": 50, + "ops_per_sec": 76.6846231461994, + "allocated_mb": 0.0 + }, + { + "name": "np.zeros_like (float64)", + "category": "Like", + "suite": "Creation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 14.813228026032448, + "stddev_ms": 0.4841418993013658, + "min_ms": 13.894100207835436, + "max_ms": 15.795299783349037, + "iterations": 50, + "ops_per_sec": 67.50723058084446, + "allocated_mb": 0.0 + }, + { + "name": "reshape 1D->2D", + "category": "Reshape", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00023999251425266266, + "stddev_ms": 8.571967592349754e-05, + "min_ms": 0.00019976869225502014, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 4166796.6316116266, + "allocated_mb": 0.0 + }, + { + "name": "reshape 2D->1D", + "category": "Reshape", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0001819618046283722, + "stddev_ms": 4.3807486865055476e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0003003515303134918, + "iterations": 50, + "ops_per_sec": 5495658.839185177, + "allocated_mb": 0.0 + }, + { + "name": "a.T (2D)", + "category": "Transpose", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00012602657079696655, + "stddev_ms": 4.432639034099149e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 7934834.6438072715, + "allocated_mb": 0.0 + }, + { + "name": "np.transpose (2D)", + "category": "Transpose", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00038999132812023163, + "stddev_ms": 4.632480881655635e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2564159.5797014926, + "allocated_mb": 0.0 + }, + { + "name": "np.ravel", + "category": "Flatten", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00035000964999198914, + "stddev_ms": 5.440118775950682e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2857064.083869938, + "allocated_mb": 0.0 + }, + { + "name": "a.flatten", + "category": "Flatten", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005180109292268753, + "stddev_ms": 3.8769533580902736e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1930461.19990651, + "allocated_mb": 0.0 + }, + { + "name": "np.concatenate", + "category": "Stack", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.001040017232298851, + "stddev_ms": 4.948036291932949e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 961522.5295734792, + "allocated_mb": 0.0 + }, + { + "name": "np.stack", + "category": "Stack", + "suite": "Manipulation", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0022120214998722076, + "stddev_ms": 8.720868962446782e-05, + "min_ms": 0.0020996667444705963, + "max_ms": 0.002400018274784088, + "iterations": 50, + "ops_per_sec": 452075.17198986164, + "allocated_mb": 0.0 + }, + { + "name": "reshape 1D->2D", + "category": "Reshape", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.00018600374460220337, + "stddev_ms": 4.952515623188251e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0003003515303134918, + "iterations": 50, + "ops_per_sec": 5376235.850190266, + "allocated_mb": 0.0 + }, + { + "name": "reshape 2D->1D", + "category": "Reshape", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.00017997808754444122, + "stddev_ms": 4.0407066569485704e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 5556231.948253558, + "allocated_mb": 0.0 + }, + { + "name": "a.T (2D)", + "category": "Transpose", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.00011397525668144226, + "stddev_ms": 3.5048813014477885e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 8773834.155907828, + "allocated_mb": 0.0 + }, + { + "name": "np.transpose (2D)", + "category": "Transpose", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.0003780145198106766, + "stddev_ms": 4.182350622922377e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2645401.02983567, + "allocated_mb": 0.0 + }, + { + "name": "np.ravel", + "category": "Flatten", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.0003440212458372116, + "stddev_ms": 5.0126626822431045e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2906797.2170334877, + "allocated_mb": 0.0 + }, + { + "name": "a.flatten", + "category": "Flatten", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.01128598116338253, + "stddev_ms": 4.948940583935193e-05, + "min_ms": 0.011199619621038437, + "max_ms": 0.011399853974580765, + "iterations": 50, + "ops_per_sec": 88605.49964805091, + "allocated_mb": 0.0 + }, + { + "name": "np.concatenate", + "category": "Stack", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.31540004536509514, + "stddev_ms": 0.018555759311908632, + "min_ms": 0.2850000746548176, + "max_ms": 0.37689972668886185, + "iterations": 50, + "ops_per_sec": 3170.5765889869735, + "allocated_mb": 0.0 + }, + { + "name": "np.stack", + "category": "Stack", + "suite": "Manipulation", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.3129940014332533, + "stddev_ms": 0.014752669130804886, + "min_ms": 0.29269978404045105, + "max_ms": 0.36740023642778397, + "iterations": 50, + "ops_per_sec": 3194.9494093203966, + "allocated_mb": 0.0 + }, + { + "name": "reshape 1D->2D", + "category": "Reshape", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.00019397586584091187, + "stddev_ms": 8.427716668978771e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0006998889148235321, + "iterations": 50, + "ops_per_sec": 5155280.507009795, + "allocated_mb": 0.0 + }, + { + "name": "reshape 2D->1D", + "category": "Reshape", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.00017997808754444122, + "stddev_ms": 4.518684985205333e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0002998858690261841, + "iterations": 50, + "ops_per_sec": 5556231.948253558, + "allocated_mb": 0.0 + }, + { + "name": "a.T (2D)", + "category": "Transpose", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.00012398697435855865, + "stddev_ms": 4.315072424458204e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 8065363.359122662, + "allocated_mb": 0.0 + }, + { + "name": "np.transpose (2D)", + "category": "Transpose", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.00037600286304950714, + "stddev_ms": 5.174562298602998e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2659554.2169271545, + "allocated_mb": 0.0 + }, + { + "name": "np.ravel", + "category": "Flatten", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.0003299769014120102, + "stddev_ms": 4.630853181182917e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 3030515.153396743, + "allocated_mb": 0.0 + }, + { + "name": "a.flatten", + "category": "Flatten", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 13.085177959874272, + "stddev_ms": 0.5955272523017613, + "min_ms": 12.322899885475636, + "max_ms": 14.447699766606092, + "iterations": 50, + "ops_per_sec": 76.42234618944444, + "allocated_mb": 0.0 + }, + { + "name": "np.concatenate", + "category": "Stack", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 32.81416600570083, + "stddev_ms": 2.2929922261581104, + "min_ms": 27.976199984550476, + "max_ms": 39.16889987885952, + "iterations": 50, + "ops_per_sec": 30.47464317167986, + "allocated_mb": 0.0 + }, + { + "name": "np.stack", + "category": "Stack", + "suite": "Manipulation", + "dtype": "float64", + "n": 10000000, + "mean_ms": 33.960064025595784, + "stddev_ms": 2.593375939646395, + "min_ms": 28.48949981853366, + "max_ms": 38.46880001947284, + "iterations": 50, + "ops_per_sec": 29.44635202237244, + "allocated_mb": 0.0 + }, + { + "name": "a[100:1000] (contiguous)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0001919921487569809, + "stddev_ms": 6.005967837985579e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 5208546.320640311, + "allocated_mb": 0.0 + }, + { + "name": "a[::2] (strided)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0001920107752084732, + "stddev_ms": 3.961664754259685e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0003003515303134918, + "iterations": 50, + "ops_per_sec": 5208041.053499539, + "allocated_mb": 0.0 + }, + { + "name": "a[::-1] (reversed)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0001400243490934372, + "stddev_ms": 4.9487978684500834e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 7141615.058197539, + "allocated_mb": 0.0 + }, + { + "name": "np.sum(contiguous_slice)", + "category": "SumSlice", + "suite": "Slicing", + "dtype": "float64", + "n": 900, + "mean_ms": 0.0016660429537296295, + "stddev_ms": 6.264683552397485e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 600224.6207166415, + "allocated_mb": 0.0 + }, + { + "name": "np.sum(strided_slice)", + "category": "SumSlice", + "suite": "Slicing", + "dtype": "float64", + "n": 500, + "mean_ms": 0.001575993373990059, + "stddev_ms": 6.564581124155866e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.0017997808754444122, + "iterations": 50, + "ops_per_sec": 634520.4342250667, + "allocated_mb": 0.0 + }, + { + "name": "a[100:1000] (contiguous)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.00014998018741607666, + "stddev_ms": 5.436644846497036e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0002998858690261841, + "iterations": 50, + "ops_per_sec": 6667547.342275212, + "allocated_mb": 0.0 + }, + { + "name": "a[::2] (strided)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.000141998752951622, + "stddev_ms": 5.379747654561604e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0002998858690261841, + "iterations": 50, + "ops_per_sec": 7042315.366957434, + "allocated_mb": 0.0 + }, + { + "name": "a[::-1] (reversed)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.0001560058444738388, + "stddev_ms": 5.0138208177482475e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 6410016.261715719, + "allocated_mb": 0.0 + }, + { + "name": "np.sum(contiguous_slice)", + "category": "SumSlice", + "suite": "Slicing", + "dtype": "float64", + "n": 900, + "mean_ms": 0.001658005639910698, + "stddev_ms": 0.00017154083418156315, + "min_ms": 0.0015995465219020844, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 603134.2571632393, + "allocated_mb": 0.0 + }, + { + "name": "np.sum(strided_slice)", + "category": "SumSlice", + "suite": "Slicing", + "dtype": "float64", + "n": 50000, + "mean_ms": 0.009626001119613647, + "stddev_ms": 5.2709294707990555e-05, + "min_ms": 0.009499955922365189, + "max_ms": 0.009700190275907516, + "iterations": 50, + "ops_per_sec": 103885.29853403303, + "allocated_mb": 0.0 + }, + { + "name": "a[100:1000] (contiguous)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.0001399591565132141, + "stddev_ms": 9.258607738634403e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0006998889148235321, + "iterations": 50, + "ops_per_sec": 7144941.6023422945, + "allocated_mb": 0.0 + }, + { + "name": "a[::2] (strided)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.0001459941267967224, + "stddev_ms": 5.427254814894853e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.0002998858690261841, + "iterations": 50, + "ops_per_sec": 6849590.609849451, + "allocated_mb": 0.0 + }, + { + "name": "a[::-1] (reversed)", + "category": "Create", + "suite": "Slicing", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.00015197321772575378, + "stddev_ms": 5.04974962981811e-05, + "min_ms": 9.96515154838562e-05, + "max_ms": 0.00020023435354232788, + "iterations": 50, + "ops_per_sec": 6580106.777791396, + "allocated_mb": 0.0 + }, + { + "name": "np.sum(contiguous_slice)", + "category": "SumSlice", + "suite": "Slicing", + "dtype": "float64", + "n": 900, + "mean_ms": 0.001643989235162735, + "stddev_ms": 5.013570764336783e-05, + "min_ms": 0.0015995465219020844, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 608276.4890495236, + "allocated_mb": 0.0 + }, + { + "name": "np.sum(strided_slice)", + "category": "SumSlice", + "suite": "Slicing", + "dtype": "float64", + "n": 5000000, + "mean_ms": 4.673774000257254, + "stddev_ms": 0.36943699150463805, + "min_ms": 3.975899890065193, + "max_ms": 5.657400004565716, + "iterations": 50, + "ops_per_sec": 213.95985341716525, + "allocated_mb": 0.0 + }, + { + "name": "a == b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0004300009459257126, + "stddev_ms": 9.315083881942614e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 2325576.279482792, + "allocated_mb": 0.0 + }, + { + "name": "a != b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.00041799619793891907, + "stddev_ms": 4.3728743805465007e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0005997717380523682, + "iterations": 50, + "ops_per_sec": 2392366.258188138, + "allocated_mb": 0.0 + }, + { + "name": "a < b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0004299823194742203, + "stddev_ms": 4.627975884707452e-05, + "min_ms": 0.0003995373845100403, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2325677.0213779807, + "allocated_mb": 0.0 + }, + { + "name": "a > b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0004139915108680725, + "stddev_ms": 3.504936856058528e-05, + "min_ms": 0.0003995373845100403, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2415508.467560515, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0004240032285451889, + "stddev_ms": 4.3142354959200306e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2358472.607463703, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.00043400563299655914, + "stddev_ms": 4.7855594738518675e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2304117.559709019, + "allocated_mb": 0.0 + }, + { + "name": "a == b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0004460010677576065, + "stddev_ms": 5.034377339348597e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2242147.0984986112, + "allocated_mb": 0.0 + }, + { + "name": "a != b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0004679989069700241, + "stddev_ms": 4.711864987348067e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2136757.1272213487, + "allocated_mb": 0.0 + }, + { + "name": "a < b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0005459785461425781, + "stddev_ms": 5.0323283678412215e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1831573.7991266376, + "allocated_mb": 0.0 + }, + { + "name": "a > b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.00054200179874897, + "stddev_ms": 4.9869339250891735e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1845012.3270958983, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0005339831113815308, + "stddev_ms": 4.787783377324938e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1872718.4037951722, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0007600057870149612, + "stddev_ms": 0.0014361163126586764, + "min_ms": 0.0004996545612812042, + "max_ms": 0.010699965059757233, + "iterations": 50, + "ops_per_sec": 1315779.4546902764, + "allocated_mb": 0.0 + }, + { + "name": "a == b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0004559941589832306, + "stddev_ms": 5.406138581542829e-05, + "min_ms": 0.0003995373845100403, + "max_ms": 0.0005997717380523682, + "iterations": 50, + "ops_per_sec": 2193010.5469547813, + "allocated_mb": 0.0 + }, + { + "name": "a != b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0004259869456291199, + "stddev_ms": 4.428146588949349e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2347489.777000437, + "allocated_mb": 0.0 + }, + { + "name": "a < b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0004140101373195648, + "stddev_ms": 3.506879198713559e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2415399.7930444954, + "allocated_mb": 0.0 + }, + { + "name": "a > b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.00042001716792583466, + "stddev_ms": 4.043468203976472e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2380855.061087829, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005939975380897522, + "stddev_ms": 0.0011005129151645814, + "min_ms": 0.000400003045797348, + "max_ms": 0.00819982960820198, + "iterations": 50, + "ops_per_sec": 1683508.661022264, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0004360079765319824, + "stddev_ms": 4.8494105149318486e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2293536.021872864, + "allocated_mb": 0.0 + }, + { + "name": "a == b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00042599625885486603, + "stddev_ms": 4.429732190317851e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2347438.455652478, + "allocated_mb": 0.0 + }, + { + "name": "a != b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0004659872502088547, + "stddev_ms": 5.1940843687801304e-05, + "min_ms": 0.0003995373845100403, + "max_ms": 0.0005997717380523682, + "iterations": 50, + "ops_per_sec": 2145981.460977316, + "allocated_mb": 0.0 + }, + { + "name": "a < b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00047001056373119354, + "stddev_ms": 4.6296271553478555e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2127611.754215626, + "allocated_mb": 0.0 + }, + { + "name": "a > b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0004440266638994217, + "stddev_ms": 5.018864414805838e-05, + "min_ms": 0.0003995373845100403, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2252117.0040061246, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00044998712837696075, + "stddev_ms": 5.049178659783838e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2222285.787610986, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0004500150680541992, + "stddev_ms": 5.0519946732065683e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2222147.8145695366, + "allocated_mb": 0.0 + }, + { + "name": "a == b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.007245978340506554, + "stddev_ms": 0.0018857456122428802, + "min_ms": 0.006899703294038773, + "max_ms": 0.020300038158893585, + "iterations": 50, + "ops_per_sec": 138007.58890069934, + "allocated_mb": 0.0 + }, + { + "name": "a != b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.006906008347868919, + "stddev_ms": 0.00011851453483766176, + "min_ms": 0.006799586117267609, + "max_ms": 0.007600057870149612, + "iterations": 50, + "ops_per_sec": 144801.44674435322, + "allocated_mb": 0.0 + }, + { + "name": "a < b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.007075965404510498, + "stddev_ms": 0.0007003105666529231, + "min_ms": 0.006899703294038773, + "max_ms": 0.011899974197149277, + "iterations": 50, + "ops_per_sec": 141323.47218127447, + "allocated_mb": 0.0 + }, + { + "name": "a > b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.006957985460758209, + "stddev_ms": 6.418583162164418e-05, + "min_ms": 0.006899703294038773, + "max_ms": 0.0070999376475811005, + "iterations": 50, + "ops_per_sec": 143719.7599276142, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.007046004757285118, + "stddev_ms": 0.0011796410193269126, + "min_ms": 0.006799586117267609, + "max_ms": 0.015200115740299225, + "iterations": 50, + "ops_per_sec": 141924.40034418995, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.006896015256643295, + "stddev_ms": 5.702300133654835e-05, + "min_ms": 0.006799586117267609, + "max_ms": 0.007000286132097244, + "iterations": 50, + "ops_per_sec": 145011.28010652924, + "allocated_mb": 0.0 + }, + { + "name": "a == b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.013125985860824585, + "stddev_ms": 0.003461383101420576, + "min_ms": 0.01219986006617546, + "max_ms": 0.035400036722421646, + "iterations": 50, + "ops_per_sec": 76184.75370940093, + "allocated_mb": 0.0 + }, + { + "name": "a != b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.01401602290570736, + "stddev_ms": 0.0073553249367752475, + "min_ms": 0.012299977242946625, + "max_ms": 0.06250012665987015, + "iterations": 50, + "ops_per_sec": 71346.91536447173, + "allocated_mb": 0.0 + }, + { + "name": "a < b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.01820199191570282, + "stddev_ms": 0.0022336588768741747, + "min_ms": 0.017600134015083313, + "max_ms": 0.03150012344121933, + "iterations": 50, + "ops_per_sec": 54939.042091173666, + "allocated_mb": 0.0 + }, + { + "name": "a > b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.023088036105036736, + "stddev_ms": 0.025947914228062873, + "min_ms": 0.01769978553056717, + "max_ms": 0.19769975915551186, + "iterations": 50, + "ops_per_sec": 43312.4755804521, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.018573980778455734, + "stddev_ms": 0.002267130259814187, + "min_ms": 0.01769978553056717, + "max_ms": 0.032899901270866394, + "iterations": 50, + "ops_per_sec": 53838.75497275826, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.018811915069818497, + "stddev_ms": 0.002393755113145248, + "min_ms": 0.01769978553056717, + "max_ms": 0.031299889087677, + "iterations": 50, + "ops_per_sec": 53157.79899540277, + "allocated_mb": 0.0 + }, + { + "name": "a == b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005867993459105492, + "stddev_ms": 0.0016558488740988705, + "min_ms": 0.005399808287620544, + "max_ms": 0.016800127923488617, + "iterations": 50, + "ops_per_sec": 170416.00454551948, + "allocated_mb": 0.0 + }, + { + "name": "a != b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005859965458512306, + "stddev_ms": 0.001685360565281726, + "min_ms": 0.005399808287620544, + "max_ms": 0.01750001683831215, + "iterations": 50, + "ops_per_sec": 170649.47004890267, + "allocated_mb": 0.0 + }, + { + "name": "a < b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005567967891693115, + "stddev_ms": 7.67345305561143e-05, + "min_ms": 0.005399808287620544, + "max_ms": 0.005700159817934036, + "iterations": 50, + "ops_per_sec": 179598.73681956858, + "allocated_mb": 0.0 + }, + { + "name": "a > b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.005649998784065247, + "stddev_ms": 0.00018651838960255862, + "min_ms": 0.005499925464391708, + "max_ms": 0.006299931555986404, + "iterations": 50, + "ops_per_sec": 176991.18853269683, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0062660034745931625, + "stddev_ms": 0.0025570023438439525, + "min_ms": 0.005599576979875565, + "max_ms": 0.023900065571069717, + "iterations": 50, + "ops_per_sec": 159591.35740264296, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0063020456582307816, + "stddev_ms": 0.0016483315909847744, + "min_ms": 0.005400273948907852, + "max_ms": 0.016800127923488617, + "iterations": 50, + "ops_per_sec": 158678.63456272343, + "allocated_mb": 0.0 + }, + { + "name": "a == b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011420035734772682, + "stddev_ms": 0.003548369799579137, + "min_ms": 0.009899958968162537, + "max_ms": 0.0320998951792717, + "iterations": 50, + "ops_per_sec": 87565.40025134213, + "allocated_mb": 0.0 + }, + { + "name": "a != b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011010020971298218, + "stddev_ms": 0.0037155370208708425, + "min_ms": 0.00980030745267868, + "max_ms": 0.030399765819311142, + "iterations": 50, + "ops_per_sec": 90826.34834273958, + "allocated_mb": 0.0 + }, + { + "name": "a < b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.010588010773062706, + "stddev_ms": 0.0021130661968085354, + "min_ms": 0.00980030745267868, + "max_ms": 0.024899840354919434, + "iterations": 50, + "ops_per_sec": 94446.44715928432, + "allocated_mb": 0.0 + }, + { + "name": "a > b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.010532038286328316, + "stddev_ms": 0.0017290963994492782, + "min_ms": 0.009899958968162537, + "max_ms": 0.02180039882659912, + "iterations": 50, + "ops_per_sec": 94948.38252706546, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.010388027876615524, + "stddev_ms": 0.0015448268733973477, + "min_ms": 0.009799841791391373, + "max_ms": 0.02090027555823326, + "iterations": 50, + "ops_per_sec": 96264.66273267312, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.011848006397485733, + "stddev_ms": 0.008306990470897889, + "min_ms": 0.0100000761449337, + "max_ms": 0.06789993494749069, + "iterations": 50, + "ops_per_sec": 84402.38521581235, + "allocated_mb": 0.0 + }, + { + "name": "a == b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.1735960356891155, + "stddev_ms": 0.23195335398173025, + "min_ms": 3.799800295382738, + "max_ms": 4.80609992519021, + "iterations": 50, + "ops_per_sec": 239.60153101757652, + "allocated_mb": 0.0 + }, + { + "name": "a != b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.291632007807493, + "stddev_ms": 0.2684135159541447, + "min_ms": 3.935599699616432, + "max_ms": 5.197000224143267, + "iterations": 50, + "ops_per_sec": 233.01159050467598, + "allocated_mb": 0.0 + }, + { + "name": "a < b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.367398004978895, + "stddev_ms": 0.3479666319594174, + "min_ms": 3.853200003504753, + "max_ms": 5.07869990542531, + "iterations": 50, + "ops_per_sec": 228.96928534106254, + "allocated_mb": 0.0 + }, + { + "name": "a > b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.188244063407183, + "stddev_ms": 0.30198827032498127, + "min_ms": 3.7759002298116684, + "max_ms": 4.972999915480614, + "iterations": 50, + "ops_per_sec": 238.76354502284877, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.235416008159518, + "stddev_ms": 0.2035483187163044, + "min_ms": 3.940700087696314, + "max_ms": 4.718999844044447, + "iterations": 50, + "ops_per_sec": 236.10431609870258, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (int32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int32", + "n": 10000000, + "mean_ms": 4.512811983004212, + "stddev_ms": 0.2694538313274954, + "min_ms": 4.167600069195032, + "max_ms": 5.431400146335363, + "iterations": 50, + "ops_per_sec": 221.59132792727, + "allocated_mb": 0.0 + }, + { + "name": "a == b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 10000000, + "mean_ms": 7.154563954100013, + "stddev_ms": 0.40701877988123375, + "min_ms": 6.508900318294764, + "max_ms": 8.2180998288095, + "iterations": 50, + "ops_per_sec": 139.77092194793192, + "allocated_mb": 0.0 + }, + { + "name": "a != b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 10000000, + "mean_ms": 7.297392021864653, + "stddev_ms": 0.39446672769687086, + "min_ms": 6.735300179570913, + "max_ms": 8.708400186151266, + "iterations": 50, + "ops_per_sec": 137.03525821331397, + "allocated_mb": 0.0 + }, + { + "name": "a < b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 10000000, + "mean_ms": 7.0768979750573635, + "stddev_ms": 0.3401928215434445, + "min_ms": 6.548899691551924, + "max_ms": 7.793999742716551, + "iterations": 50, + "ops_per_sec": 141.30484903477702, + "allocated_mb": 0.0 + }, + { + "name": "a > b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 10000000, + "mean_ms": 7.639564014971256, + "stddev_ms": 0.651163111596097, + "min_ms": 6.80019985884428, + "max_ms": 9.583699982613325, + "iterations": 50, + "ops_per_sec": 130.89752216753465, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 10000000, + "mean_ms": 8.251295993104577, + "stddev_ms": 1.0369212840756903, + "min_ms": 7.167200092226267, + "max_ms": 13.810200151056051, + "iterations": 50, + "ops_per_sec": 121.19308298183432, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (int64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "int64", + "n": 10000000, + "mean_ms": 7.854265980422497, + "stddev_ms": 1.4691271975658626, + "min_ms": 6.800100207328796, + "max_ms": 16.34250022470951, + "iterations": 50, + "ops_per_sec": 127.3193449894102, + "allocated_mb": 0.0 + }, + { + "name": "a == b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.957385942339897, + "stddev_ms": 0.251432443555983, + "min_ms": 3.59929958358407, + "max_ms": 4.669100046157837, + "iterations": 50, + "ops_per_sec": 252.6920584876608, + "allocated_mb": 0.0 + }, + { + "name": "a != b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.924675965681672, + "stddev_ms": 0.3146594567067482, + "min_ms": 3.5715997219085693, + "max_ms": 5.056899972259998, + "iterations": 50, + "ops_per_sec": 254.7981053070992, + "allocated_mb": 0.0 + }, + { + "name": "a < b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.8362479396164417, + "stddev_ms": 0.24911375346855794, + "min_ms": 3.579000011086464, + "max_ms": 4.583399742841721, + "iterations": 50, + "ops_per_sec": 260.6713684152497, + "allocated_mb": 0.0 + }, + { + "name": "a > b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.895576009526849, + "stddev_ms": 0.2212258652421185, + "min_ms": 3.57230007648468, + "max_ms": 4.809599835425615, + "iterations": 50, + "ops_per_sec": 256.70144737375017, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.852834040299058, + "stddev_ms": 0.2389498208072539, + "min_ms": 3.4767999313771725, + "max_ms": 4.526100121438503, + "iterations": 50, + "ops_per_sec": 259.5492018447749, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (float32)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.8401919417083263, + "stddev_ms": 0.251801296874508, + "min_ms": 3.4876996651291847, + "max_ms": 4.714499693363905, + "iterations": 50, + "ops_per_sec": 260.4036504371043, + "allocated_mb": 0.0 + }, + { + "name": "a == b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 10000000, + "mean_ms": 7.102774009108543, + "stddev_ms": 1.171349888561004, + "min_ms": 6.320499815046787, + "max_ms": 13.196300249546766, + "iterations": 50, + "ops_per_sec": 140.79006296942683, + "allocated_mb": 0.0 + }, + { + "name": "a != b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 10000000, + "mean_ms": 6.768389996141195, + "stddev_ms": 0.780231222465144, + "min_ms": 6.209299899637699, + "max_ms": 10.340900160372257, + "iterations": 50, + "ops_per_sec": 147.74562348950363, + "allocated_mb": 0.0 + }, + { + "name": "a < b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 10000000, + "mean_ms": 6.59609405323863, + "stddev_ms": 0.27151463866981757, + "min_ms": 6.132000125944614, + "max_ms": 7.1748998016119, + "iterations": 50, + "ops_per_sec": 151.60487281241961, + "allocated_mb": 0.0 + }, + { + "name": "a > b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 10000000, + "mean_ms": 6.687603946775198, + "stddev_ms": 0.3979439051746366, + "min_ms": 6.182999815791845, + "max_ms": 8.091500028967857, + "iterations": 50, + "ops_per_sec": 149.53038606333826, + "allocated_mb": 0.0 + }, + { + "name": "a <= b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 10000000, + "mean_ms": 6.478139981627464, + "stddev_ms": 0.23479379577964526, + "min_ms": 6.143199745565653, + "max_ms": 7.111700251698494, + "iterations": 50, + "ops_per_sec": 154.36529664935952, + "allocated_mb": 0.0 + }, + { + "name": "a >= b (float64)", + "category": "Comparison", + "suite": "Comparison", + "dtype": "float64", + "n": 10000000, + "mean_ms": 7.150504011660814, + "stddev_ms": 0.9116476632587711, + "min_ms": 6.138500291854143, + "max_ms": 11.782600078731775, + "iterations": 50, + "ops_per_sec": 139.85028165416477, + "allocated_mb": 0.0 + }, + { + "name": "a & b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.00039404258131980896, + "stddev_ms": 9.348227120225818e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 2537796.7950839046, + "allocated_mb": 0.0 + }, + { + "name": "a | b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.00044801272451877594, + "stddev_ms": 5.436176055752573e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0005997717380523682, + "iterations": 50, + "ops_per_sec": 2232079.459515643, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.0003719981759786606, + "stddev_ms": 4.534285920459865e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000400003045797348, + "iterations": 50, + "ops_per_sec": 2688185.2239441206, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.00037600286304950714, + "stddev_ms": 5.174562298602998e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2659554.2169271545, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.0014760810881853104, + "stddev_ms": 5.553809538391404e-05, + "min_ms": 0.0013997778296470642, + "max_ms": 0.001600012183189392, + "iterations": 50, + "ops_per_sec": 677469.5563841936, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.0015960168093442917, + "stddev_ms": 0.00010096843808984664, + "min_ms": 0.0014998950064182281, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 626559.8170052109, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006480049341917038, + "stddev_ms": 5.435295508778874e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1543198.1258713116, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006599817425012589, + "stddev_ms": 5.3479746545064687e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1515193.4297608128, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0006399769335985184, + "stddev_ms": 4.951107636720399e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1562556.316486459, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.000632014125585556, + "stddev_ms": 5.8729452263183e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1582243.1169137368, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0009160023182630539, + "stddev_ms": 3.698432808765338e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1091700.2938335622, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 1000, + "mean_ms": 0.0009140092879533768, + "stddev_ms": 3.501017211514409e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1094080.785808174, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006519723683595657, + "stddev_ms": 5.051173399567846e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1533807.3337618741, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006760098040103912, + "stddev_ms": 5.176647126587101e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1479268.4870360675, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006539653986692429, + "stddev_ms": 5.428474904940028e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1529132.8899585581, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0006200280040502548, + "stddev_ms": 4.0407066569485704e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1612830.377769433, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.0009139999747276306, + "stddev_ms": 3.5095428056421406e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1094091.933971877, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 1000, + "mean_ms": 0.001018056645989418, + "stddev_ms": 3.878045791867832e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 982263.6136598574, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.000775996595621109, + "stddev_ms": 5.170446695074544e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0008996576070785522, + "iterations": 50, + "ops_per_sec": 1288665.447300833, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0007960014045238495, + "stddev_ms": 2.8283951137609323e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1256279.1903591903, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0007780082523822784, + "stddev_ms": 5.0684582071719916e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1285333.4099451746, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.000722082331776619, + "stddev_ms": 4.1804807666118333e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1384883.628906401, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0010399892926216125, + "stddev_ms": 4.946494804974725e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 961548.3612135975, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 1000, + "mean_ms": 0.0011480320245027542, + "stddev_ms": 5.0445250594074214e-05, + "min_ms": 0.0010998919606208801, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 871055.8404789525, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.000782012939453125, + "stddev_ms": 4.8199857790773034e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1278751.219512195, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007939990609884262, + "stddev_ms": 3.7300181556807076e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1259447.333294235, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007819849997758865, + "stddev_ms": 4.376045725076761e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0008996576070785522, + "iterations": 50, + "ops_per_sec": 1278796.9082355744, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0007419846951961517, + "stddev_ms": 5.3785596242867586e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0008996576070785522, + "iterations": 50, + "ops_per_sec": 1347736.6938621814, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.0010540056973695755, + "stddev_ms": 5.0353874070342456e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 948761.4749100934, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 1000, + "mean_ms": 0.001058010384440422, + "stddev_ms": 4.990748208647382e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 945170.307122171, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007700268179178238, + "stddev_ms": 5.799549452880008e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1298656.0685042513, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007799919694662094, + "stddev_ms": 4.043468203976472e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1282064.4816181299, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007679872214794159, + "stddev_ms": 4.7128986353851284e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1302104.9986660522, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0007639918476343155, + "stddev_ms": 6.62638686512557e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1308914.4905099168, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.000996030867099762, + "stddev_ms": 6.374719167649823e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 1003984.949695179, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0010819733142852783, + "stddev_ms": 4.822853860430285e-05, + "min_ms": 0.0009997747838497162, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 924237.2125051646, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0007940176874399185, + "stddev_ms": 6.824148783757544e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1259417.7885686806, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.00079398974776268, + "stddev_ms": 2.4015617554241536e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1259462.1061768362, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0007840059697628021, + "stddev_ms": 5.0941341630255436e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1275500.4917915943, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0007839873433113098, + "stddev_ms": 7.111067277914316e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1275530.7959135186, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0009880028665065765, + "stddev_ms": 3.851977501964432e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1012142.812435194, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 1000, + "mean_ms": 0.0009860377758741379, + "stddev_ms": 4.9552410016999264e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.0011003576219081879, + "iterations": 50, + "ops_per_sec": 1014159.9282172373, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0007760059088468552, + "stddev_ms": 5.1763921151975734e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1288649.9813976933, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.000783996656537056, + "stddev_ms": 4.219332524122577e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1275515.6436725627, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.000782012939453125, + "stddev_ms": 3.879414323642705e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1278751.219512195, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0007399916648864746, + "stddev_ms": 4.9499279443247596e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.000800006091594696, + "iterations": 50, + "ops_per_sec": 1351366.5726943214, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0009159930050373077, + "stddev_ms": 3.703987632643163e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1091711.3935376294, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0012720189988613129, + "stddev_ms": 4.5362252408323785e-05, + "min_ms": 0.001200009137392044, + "max_ms": 0.001300126314163208, + "iterations": 50, + "ops_per_sec": 786151.7798831471, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.000783996656537056, + "stddev_ms": 4.679099342515632e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1275515.6436725627, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0007880013436079025, + "stddev_ms": 4.350691207006968e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1269033.3691836759, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0008639972656965256, + "stddev_ms": 0.0005843639749414477, + "min_ms": 0.0006998889148235321, + "max_ms": 0.0048996880650520325, + "iterations": 50, + "ops_per_sec": 1157411.0702698042, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.000719977542757988, + "stddev_ms": 4.519916431504271e-05, + "min_ms": 0.0006998889148235321, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1388932.2105372087, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.0009579863399267197, + "stddev_ms": 4.9892263930465485e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1043856.2204096711, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 1000, + "mean_ms": 0.000985991209745407, + "stddev_ms": 6.065945728652948e-05, + "min_ms": 0.0008996576070785522, + "max_ms": 0.001200009137392044, + "iterations": 50, + "ops_per_sec": 1014207.8246906584, + "allocated_mb": 0.0 + }, + { + "name": "a & b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.0028120074421167374, + "stddev_ms": 0.0002395524322663442, + "min_ms": 0.002400018274784088, + "max_ms": 0.0037997961044311523, + "iterations": 50, + "ops_per_sec": 355617.83550873195, + "allocated_mb": 0.0 + }, + { + "name": "a | b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.002541998401284218, + "stddev_ms": 0.0003708976299638822, + "min_ms": 0.002299901098012924, + "max_ms": 0.004699919372797012, + "iterations": 50, + "ops_per_sec": 393391.27809631976, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.0026079826056957245, + "stddev_ms": 0.00017244268428809838, + "min_ms": 0.002400018274784088, + "max_ms": 0.003600027412176132, + "iterations": 50, + "ops_per_sec": 383438.14019926434, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.002126013860106468, + "stddev_ms": 0.0003691556864490832, + "min_ms": 0.0018998980522155762, + "max_ms": 0.003900378942489624, + "iterations": 50, + "ops_per_sec": 470363.81971184385, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.04297398030757904, + "stddev_ms": 0.0018242031082728249, + "min_ms": 0.04239985719323158, + "max_ms": 0.05170004442334175, + "iterations": 50, + "ops_per_sec": 23269.894779181916, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.05294598639011383, + "stddev_ms": 0.0015591593861888858, + "min_ms": 0.05139969289302826, + "max_ms": 0.05789985880255699, + "iterations": 50, + "ops_per_sec": 18887.17291301087, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02957003191113472, + "stddev_ms": 0.003680016400480476, + "min_ms": 0.02840021625161171, + "max_ms": 0.05479995161294937, + "iterations": 50, + "ops_per_sec": 33818.02234793821, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.029554059728980064, + "stddev_ms": 0.002373688599791476, + "min_ms": 0.028300099074840546, + "max_ms": 0.037600286304950714, + "iterations": 50, + "ops_per_sec": 33836.29894404733, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02881399355828762, + "stddev_ms": 0.0008109040832196016, + "min_ms": 0.028299633413553238, + "max_ms": 0.033800024539232254, + "iterations": 50, + "ops_per_sec": 34705.35932400718, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.026836004108190536, + "stddev_ms": 0.0019759195145935926, + "min_ms": 0.025700312107801437, + "max_ms": 0.03659958019852638, + "iterations": 50, + "ops_per_sec": 37263.371848076036, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.029210010543465614, + "stddev_ms": 0.0005813931454165873, + "min_ms": 0.02819998189806938, + "max_ms": 0.030499882996082306, + "iterations": 50, + "ops_per_sec": 34234.838721196684, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 100000, + "mean_ms": 0.02963801845908165, + "stddev_ms": 0.008651975569121709, + "min_ms": 0.028099864721298218, + "max_ms": 0.08899997919797897, + "iterations": 50, + "ops_per_sec": 33740.44730354033, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.02864397130906582, + "stddev_ms": 0.0009551234289175172, + "min_ms": 0.028300099074840546, + "max_ms": 0.03519980236887932, + "iterations": 50, + "ops_per_sec": 34911.36020246955, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.02995600923895836, + "stddev_ms": 0.003260944092332808, + "min_ms": 0.028300099074840546, + "max_ms": 0.04119984805583954, + "iterations": 50, + "ops_per_sec": 33382.28373556118, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.029536038637161255, + "stddev_ms": 0.0023091499382239325, + "min_ms": 0.028300099074840546, + "max_ms": 0.04300009459257126, + "iterations": 50, + "ops_per_sec": 33856.94379278857, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.029250001534819603, + "stddev_ms": 0.0024848178107036954, + "min_ms": 0.02769986167550087, + "max_ms": 0.040499959141016006, + "iterations": 50, + "ops_per_sec": 34188.03239410385, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.030529983341693878, + "stddev_ms": 0.0015103971597639839, + "min_ms": 0.029199756681919098, + "max_ms": 0.0383998267352581, + "iterations": 50, + "ops_per_sec": 32754.685412301886, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 100000, + "mean_ms": 0.043588047847151756, + "stddev_ms": 0.03241322155560121, + "min_ms": 0.03789970651268959, + "max_ms": 0.2669999375939369, + "iterations": 50, + "ops_per_sec": 22942.06897052731, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.029039988294243813, + "stddev_ms": 0.002027639766883663, + "min_ms": 0.028299633413553238, + "max_ms": 0.0391998328268528, + "iterations": 50, + "ops_per_sec": 34435.275588531, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.028527984395623207, + "stddev_ms": 0.0003289207784688855, + "min_ms": 0.028299633413553238, + "max_ms": 0.03060000017285347, + "iterations": 50, + "ops_per_sec": 35053.30016071591, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.02851397730410099, + "stddev_ms": 0.0004276274135095576, + "min_ms": 0.028299633413553238, + "max_ms": 0.031400006264448166, + "iterations": 50, + "ops_per_sec": 35070.51960289581, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.025712018832564354, + "stddev_ms": 5.582238567375378e-05, + "min_ms": 0.025599729269742966, + "max_ms": 0.0258004292845726, + "iterations": 50, + "ops_per_sec": 38892.31749991941, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.028546014800667763, + "stddev_ms": 0.00031314644925388164, + "min_ms": 0.028099864721298218, + "max_ms": 0.029700342565774918, + "iterations": 50, + "ops_per_sec": 35031.15958507131, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 100000, + "mean_ms": 0.037664035335183144, + "stddev_ms": 0.00040547869102108044, + "min_ms": 0.03729993477463722, + "max_ms": 0.040100421756505966, + "iterations": 50, + "ops_per_sec": 26550.527342615063, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.030116010457277298, + "stddev_ms": 0.004764624626705021, + "min_ms": 0.028300099074840546, + "max_ms": 0.05140015855431557, + "iterations": 50, + "ops_per_sec": 33204.92936534885, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.02913794480264187, + "stddev_ms": 0.0022686706323979955, + "min_ms": 0.028299633413553238, + "max_ms": 0.04439987242221832, + "iterations": 50, + "ops_per_sec": 34319.51041067702, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.02874799072742462, + "stddev_ms": 0.0012795838014065977, + "min_ms": 0.028299633413553238, + "max_ms": 0.036500394344329834, + "iterations": 50, + "ops_per_sec": 34785.03974352661, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.025803977623581886, + "stddev_ms": 0.00042378233637969134, + "min_ms": 0.025599729269742966, + "max_ms": 0.028700102120637894, + "iterations": 50, + "ops_per_sec": 38753.71520575627, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.028976034373044968, + "stddev_ms": 0.002713163861170207, + "min_ms": 0.028099864721298218, + "max_ms": 0.04020007327198982, + "iterations": 50, + "ops_per_sec": 34511.27877354579, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 100000, + "mean_ms": 0.028296010568737984, + "stddev_ms": 0.0005213636323716243, + "min_ms": 0.028099864721298218, + "max_ms": 0.031800009310245514, + "iterations": 50, + "ops_per_sec": 35340.67099567812, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.028625987470149994, + "stddev_ms": 0.0012550382809164173, + "min_ms": 0.02819998189806938, + "max_ms": 0.035800039768218994, + "iterations": 50, + "ops_per_sec": 34933.29273069651, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.028596017509698868, + "stddev_ms": 0.00044169740582824423, + "min_ms": 0.028300099074840546, + "max_ms": 0.03150012344121933, + "iterations": 50, + "ops_per_sec": 34969.904451234564, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.028841998428106308, + "stddev_ms": 0.002081316898295102, + "min_ms": 0.028300099074840546, + "max_ms": 0.042899977415800095, + "iterations": 50, + "ops_per_sec": 34671.66127522937, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.026409979909658432, + "stddev_ms": 0.0034711359819336253, + "min_ms": 0.025599729269742966, + "max_ms": 0.04740012809634209, + "iterations": 50, + "ops_per_sec": 37864.47408974698, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.019046040251851082, + "stddev_ms": 5.787928238272233e-05, + "min_ms": 0.018999911844730377, + "max_ms": 0.019200146198272705, + "iterations": 50, + "ops_per_sec": 52504.351916551794, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.02878006547689438, + "stddev_ms": 0.0039865103739357725, + "min_ms": 0.028099864721298218, + "max_ms": 0.05610007792711258, + "iterations": 50, + "ops_per_sec": 34746.27258241765, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.03388597629964352, + "stddev_ms": 0.005208282774623279, + "min_ms": 0.02819998189806938, + "max_ms": 0.05540018901228905, + "iterations": 50, + "ops_per_sec": 29510.733028828803, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.028510019183158875, + "stddev_ms": 0.00048244603529539295, + "min_ms": 0.028300099074840546, + "max_ms": 0.031800009310245514, + "iterations": 50, + "ops_per_sec": 35075.38853536476, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.028481967747211456, + "stddev_ms": 0.00041394294807258955, + "min_ms": 0.028299633413553238, + "max_ms": 0.03130035474896431, + "iterations": 50, + "ops_per_sec": 35109.93372632779, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.03322599455714226, + "stddev_ms": 0.005108768019801511, + "min_ms": 0.025600194931030273, + "max_ms": 0.03729993477463722, + "iterations": 50, + "ops_per_sec": 30096.916987095577, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.019155973568558693, + "stddev_ms": 0.00011095540762456886, + "min_ms": 0.018999911844730377, + "max_ms": 0.019600149244070053, + "iterations": 50, + "ops_per_sec": 52203.03715814955, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 100000, + "mean_ms": 0.020505981519818306, + "stddev_ms": 0.006978124515260631, + "min_ms": 0.018999911844730377, + "max_ms": 0.06700027734041214, + "iterations": 50, + "ops_per_sec": 48766.25871497716, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.033813975751399994, + "stddev_ms": 0.0010389813119425903, + "min_ms": 0.03310013562440872, + "max_ms": 0.04059961065649986, + "iterations": 50, + "ops_per_sec": 29573.57062511637, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03388000652194023, + "stddev_ms": 0.001210640078034917, + "min_ms": 0.033099669963121414, + "max_ms": 0.039400067180395126, + "iterations": 50, + "ops_per_sec": 29515.93292499556, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.03371197730302811, + "stddev_ms": 0.0006548358258154617, + "min_ms": 0.03310013562440872, + "max_ms": 0.03769993782043457, + "iterations": 50, + "ops_per_sec": 29663.04797286919, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.02633197233080864, + "stddev_ms": 0.0006600526840490317, + "min_ms": 0.02569984644651413, + "max_ms": 0.030499882996082306, + "iterations": 50, + "ops_per_sec": 37976.64631562715, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.01904400996863842, + "stddev_ms": 5.774301508991933e-05, + "min_ms": 0.018999911844730377, + "max_ms": 0.019200146198272705, + "iterations": 50, + "ops_per_sec": 52509.94940912103, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.028741983696818352, + "stddev_ms": 0.003984420231746653, + "min_ms": 0.027999747544527054, + "max_ms": 0.05610007792711258, + "iterations": 50, + "ops_per_sec": 34792.30976359843, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.03561400808393955, + "stddev_ms": 0.003764730288496207, + "min_ms": 0.03390014171600342, + "max_ms": 0.05439994856715202, + "iterations": 50, + "ops_per_sec": 28078.839024326462, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.035294024273753166, + "stddev_ms": 0.004097519812067446, + "min_ms": 0.03329990431666374, + "max_ms": 0.055099837481975555, + "iterations": 50, + "ops_per_sec": 28333.40829154646, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.03407199867069721, + "stddev_ms": 0.0019990808469165953, + "min_ms": 0.0329003669321537, + "max_ms": 0.04650000482797623, + "iterations": 50, + "ops_per_sec": 29349.61373017502, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.026315981522202492, + "stddev_ms": 0.0013820165059326645, + "min_ms": 0.02569984644651413, + "max_ms": 0.035800039768218994, + "iterations": 50, + "ops_per_sec": 37999.72268396341, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.019403984770178795, + "stddev_ms": 0.0010600316353429964, + "min_ms": 0.01910002902150154, + "max_ms": 0.02659996971487999, + "iterations": 50, + "ops_per_sec": 51535.80627092945, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 100000, + "mean_ms": 0.021184002980589867, + "stddev_ms": 0.005275964982725893, + "min_ms": 0.01910002902150154, + "max_ms": 0.03750016912817955, + "iterations": 50, + "ops_per_sec": 47205.43142465868, + "allocated_mb": 0.0 + }, + { + "name": "a & b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 10000000, + "mean_ms": 1.8588999565690756, + "stddev_ms": 0.10373567129501092, + "min_ms": 1.7037000507116318, + "max_ms": 2.2656996734440327, + "iterations": 50, + "ops_per_sec": 537.9525651534656, + "allocated_mb": 0.0 + }, + { + "name": "a | b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 10000000, + "mean_ms": 1.8887239787727594, + "stddev_ms": 0.13695150339529036, + "min_ms": 1.7077997326850891, + "max_ms": 2.2348002530634403, + "iterations": 50, + "ops_per_sec": 529.4579892239058, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 10000000, + "mean_ms": 1.8619900196790695, + "stddev_ms": 0.10402072547651374, + "min_ms": 1.7157001420855522, + "max_ms": 2.1874001249670982, + "iterations": 50, + "ops_per_sec": 537.0598066752038, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 10000000, + "mean_ms": 1.668936014175415, + "stddev_ms": 0.08167783085784203, + "min_ms": 1.5525002963840961, + "max_ms": 1.9374997355043888, + "iterations": 50, + "ops_per_sec": 599.184145770908, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 10000000, + "mean_ms": 15.202390002086759, + "stddev_ms": 0.4519476347498896, + "min_ms": 14.324900228530169, + "max_ms": 16.33380027487874, + "iterations": 50, + "ops_per_sec": 65.77913077238084, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (bool)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "bool", + "n": 10000000, + "mean_ms": 15.274449968710542, + "stddev_ms": 0.49638426037784983, + "min_ms": 14.398599974811077, + "max_ms": 16.53779996559024, + "iterations": 50, + "ops_per_sec": 65.46880588489167, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.8191180024296045, + "stddev_ms": 0.08880416511135107, + "min_ms": 3.725800197571516, + "max_ms": 4.108699969947338, + "iterations": 50, + "ops_per_sec": 261.8405609263267, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 4.104194035753608, + "stddev_ms": 0.1757478528124387, + "min_ms": 3.7738000974059105, + "max_ms": 4.745800048112869, + "iterations": 50, + "ops_per_sec": 243.65319750687203, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.8170520216226578, + "stddev_ms": 0.11631045154805117, + "min_ms": 3.697900101542473, + "max_ms": 4.264600109308958, + "iterations": 50, + "ops_per_sec": 261.9822822259814, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.5162359848618507, + "stddev_ms": 0.13142428272709072, + "min_ms": 3.405599854886532, + "max_ms": 4.054700024425983, + "iterations": 50, + "ops_per_sec": 284.3950190787007, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.697856003418565, + "stddev_ms": 0.08093092454985241, + "min_ms": 3.6012004129588604, + "max_ms": 4.012100398540497, + "iterations": 50, + "ops_per_sec": 270.42697148713415, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint8", + "n": 10000000, + "mean_ms": 3.7353480141609907, + "stddev_ms": 0.0889387132991156, + "min_ms": 3.605599980801344, + "max_ms": 3.9752000011503696, + "iterations": 50, + "ops_per_sec": 267.7126726101352, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.885416006669402, + "stddev_ms": 0.17136915368276442, + "min_ms": 3.7345001474022865, + "max_ms": 4.564200062304735, + "iterations": 50, + "ops_per_sec": 257.37269787417307, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.164919955655932, + "stddev_ms": 0.2681411293553527, + "min_ms": 3.839300014078617, + "max_ms": 5.379000212997198, + "iterations": 50, + "ops_per_sec": 240.10065274892185, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.8764459919184446, + "stddev_ms": 0.13603388973991776, + "min_ms": 3.7022996693849564, + "max_ms": 4.459799733012915, + "iterations": 50, + "ops_per_sec": 257.9682529009265, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.5389679856598377, + "stddev_ms": 0.09521761226256238, + "min_ms": 3.4361998550593853, + "max_ms": 3.8582999259233475, + "iterations": 50, + "ops_per_sec": 282.5682526804635, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 10000000, + "mean_ms": 3.747702017426491, + "stddev_ms": 0.11160347967038749, + "min_ms": 3.6214999854564667, + "max_ms": 4.176000133156776, + "iterations": 50, + "ops_per_sec": 266.8301789603566, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int8)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int8", + "n": 10000000, + "mean_ms": 4.785557994619012, + "stddev_ms": 0.5286516717971036, + "min_ms": 4.525600001215935, + "max_ms": 8.149999659508467, + "iterations": 50, + "ops_per_sec": 208.96204812989882, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 10000000, + "mean_ms": 5.294166030362248, + "stddev_ms": 0.5387539546006919, + "min_ms": 4.817599896341562, + "max_ms": 6.864700000733137, + "iterations": 50, + "ops_per_sec": 188.887162636185, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 10000000, + "mean_ms": 5.226752022281289, + "stddev_ms": 0.4487895028260257, + "min_ms": 4.913399927318096, + "max_ms": 7.600900251418352, + "iterations": 50, + "ops_per_sec": 191.32340614918556, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 10000000, + "mean_ms": 5.204087998718023, + "stddev_ms": 0.2028972309157008, + "min_ms": 4.954099655151367, + "max_ms": 5.987999960780144, + "iterations": 50, + "ops_per_sec": 192.1566276831484, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 10000000, + "mean_ms": 4.766977997496724, + "stddev_ms": 0.2710643723573717, + "min_ms": 4.413699731230736, + "max_ms": 5.825299769639969, + "iterations": 50, + "ops_per_sec": 209.77650841374316, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 10000000, + "mean_ms": 4.985500015318394, + "stddev_ms": 0.4305492283073099, + "min_ms": 4.639900289475918, + "max_ms": 6.686999928206205, + "iterations": 50, + "ops_per_sec": 200.58168627568162, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int16", + "n": 10000000, + "mean_ms": 5.728162005543709, + "stddev_ms": 0.17301554027339552, + "min_ms": 5.533299874514341, + "max_ms": 6.205799989402294, + "iterations": 50, + "ops_per_sec": 174.5760680358204, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.283411955460906, + "stddev_ms": 0.315559856695324, + "min_ms": 4.913199692964554, + "max_ms": 6.359099876135588, + "iterations": 50, + "ops_per_sec": 189.27163136813616, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.19417205825448, + "stddev_ms": 0.27274088348095216, + "min_ms": 4.912700038403273, + "max_ms": 6.079200189560652, + "iterations": 50, + "ops_per_sec": 192.52346452613537, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.212943991646171, + "stddev_ms": 0.33860323176714685, + "min_ms": 4.929000046104193, + "max_ms": 7.078399881720543, + "iterations": 50, + "ops_per_sec": 191.8301830218235, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 4.728065999224782, + "stddev_ms": 0.3719582407914156, + "min_ms": 4.459100309759378, + "max_ms": 6.934599950909615, + "iterations": 50, + "ops_per_sec": 211.50296974787597, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.357149988412857, + "stddev_ms": 0.845900885943473, + "min_ms": 4.800000227987766, + "max_ms": 9.130899794399738, + "iterations": 50, + "ops_per_sec": 186.6664181818561, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint16)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint16", + "n": 10000000, + "mean_ms": 5.178623963147402, + "stddev_ms": 0.6354305612422994, + "min_ms": 4.644600208848715, + "max_ms": 7.199999876320362, + "iterations": 50, + "ops_per_sec": 193.10148933699213, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 10000000, + "mean_ms": 9.188074003905058, + "stddev_ms": 1.425704758583715, + "min_ms": 8.126700296998024, + "max_ms": 15.563399996608496, + "iterations": 50, + "ops_per_sec": 108.83673766395289, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 10000000, + "mean_ms": 9.021653961390257, + "stddev_ms": 0.6701098695698772, + "min_ms": 8.138500154018402, + "max_ms": 11.061799712479115, + "iterations": 50, + "ops_per_sec": 110.84441991232147, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 10000000, + "mean_ms": 8.906697956845164, + "stddev_ms": 0.9031927520084833, + "min_ms": 8.028300013393164, + "max_ms": 14.035100117325783, + "iterations": 50, + "ops_per_sec": 112.27505466618622, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 10000000, + "mean_ms": 8.179156025871634, + "stddev_ms": 0.7179631688404866, + "min_ms": 7.419399917125702, + "max_ms": 11.048800311982632, + "iterations": 50, + "ops_per_sec": 122.26200317451851, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 10000000, + "mean_ms": 7.642106022685766, + "stddev_ms": 0.23727286349122953, + "min_ms": 7.185600232332945, + "max_ms": 8.315300103276968, + "iterations": 50, + "ops_per_sec": 130.85398148513997, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int32", + "n": 10000000, + "mean_ms": 7.886968031525612, + "stddev_ms": 0.3385330041273048, + "min_ms": 7.313600275665522, + "max_ms": 8.842000272125006, + "iterations": 50, + "ops_per_sec": 126.79143569529158, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 8.582059992477298, + "stddev_ms": 0.39180339328031816, + "min_ms": 7.948999758809805, + "max_ms": 9.506899863481522, + "iterations": 50, + "ops_per_sec": 116.52214047403086, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 8.582383980974555, + "stddev_ms": 0.39281504535801104, + "min_ms": 7.902499753981829, + "max_ms": 9.444099850952625, + "iterations": 50, + "ops_per_sec": 116.51774171568202, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 8.426733976230025, + "stddev_ms": 0.35593499415298147, + "min_ms": 7.878199685364962, + "max_ms": 9.302899707108736, + "iterations": 50, + "ops_per_sec": 118.66993817780191, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 7.832915997132659, + "stddev_ms": 0.40619304774063525, + "min_ms": 7.172799669206142, + "max_ms": 9.274699725210667, + "iterations": 50, + "ops_per_sec": 127.66637614472862, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 7.913371957838535, + "stddev_ms": 0.6699031481064263, + "min_ms": 7.130700163543224, + "max_ms": 10.822500102221966, + "iterations": 50, + "ops_per_sec": 126.36838067613604, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint32)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint32", + "n": 10000000, + "mean_ms": 7.712970012798905, + "stddev_ms": 0.29920495694709726, + "min_ms": 7.176300045102835, + "max_ms": 8.442400023341179, + "iterations": 50, + "ops_per_sec": 129.65174223944857, + "allocated_mb": 0.0 + }, + { + "name": "a & b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 10000000, + "mean_ms": 17.100833989679813, + "stddev_ms": 1.0674194378454984, + "min_ms": 15.876699704676867, + "max_ms": 20.554999820888042, + "iterations": 50, + "ops_per_sec": 58.47668017849248, + "allocated_mb": 0.0 + }, + { + "name": "a | b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 10000000, + "mean_ms": 17.12450198829174, + "stddev_ms": 0.961202097504364, + "min_ms": 15.856800135225058, + "max_ms": 20.417300052940845, + "iterations": 50, + "ops_per_sec": 58.395858792490074, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 10000000, + "mean_ms": 17.248937971889973, + "stddev_ms": 1.892746040335873, + "min_ms": 15.591999981552362, + "max_ms": 25.462300051003695, + "iterations": 50, + "ops_per_sec": 57.97458380508221, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.163392005488276, + "stddev_ms": 0.6836299111254734, + "min_ms": 13.881499879062176, + "max_ms": 16.96310006082058, + "iterations": 50, + "ops_per_sec": 65.94830494641684, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.205319989472628, + "stddev_ms": 0.6703447613964133, + "min_ms": 14.102800283581018, + "max_ms": 18.13119975849986, + "iterations": 50, + "ops_per_sec": 65.76645547034511, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (int64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "int64", + "n": 10000000, + "mean_ms": 15.09167393669486, + "stddev_ms": 0.47781620492295346, + "min_ms": 14.248100109398365, + "max_ms": 16.171699855476618, + "iterations": 50, + "ops_per_sec": 66.26170192880566, + "allocated_mb": 0.0 + }, + { + "name": "a & b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 17.064363984391093, + "stddev_ms": 1.2349226506319042, + "min_ms": 15.767700038850307, + "max_ms": 23.19200010970235, + "iterations": 50, + "ops_per_sec": 58.601656698996095, + "allocated_mb": 0.0 + }, + { + "name": "a | b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 16.828344007954, + "stddev_ms": 0.9999654137390739, + "min_ms": 15.687199775129557, + "max_ms": 22.372300270944834, + "iterations": 50, + "ops_per_sec": 59.42355347188915, + "allocated_mb": 0.0 + }, + { + "name": "a ^ b (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 16.900449991226196, + "stddev_ms": 0.9442321599615153, + "min_ms": 15.683399979025126, + "max_ms": 21.413899958133698, + "iterations": 50, + "ops_per_sec": 59.170022130721144, + "allocated_mb": 0.0 + }, + { + "name": "np.invert(a) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.289621986448765, + "stddev_ms": 0.7420845231388696, + "min_ms": 14.1461999155581, + "max_ms": 17.469100188463926, + "iterations": 50, + "ops_per_sec": 65.40384064997178, + "allocated_mb": 0.0 + }, + { + "name": "np.left_shift(a, 2) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 15.29257396236062, + "stddev_ms": 0.87399069718603, + "min_ms": 14.306599739938974, + "max_ms": 19.673699978739023, + "iterations": 50, + "ops_per_sec": 65.39121553123005, + "allocated_mb": 0.0 + }, + { + "name": "np.right_shift(a, 2) (uint64)", + "category": "Bitwise", + "suite": "Bitwise", + "dtype": "uint64", + "n": 10000000, + "mean_ms": 14.908349979668856, + "stddev_ms": 0.47493882700248014, + "min_ms": 14.015700202435255, + "max_ms": 16.001000069081783, + "iterations": 50, + "ops_per_sec": 67.07650419823402, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.001369975507259369, + "stddev_ms": 7.070651386792664e-05, + "min_ms": 0.0012996606528759003, + "max_ms": 0.001600012183189392, + "iterations": 50, + "ops_per_sec": 729940.0571040108, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0008919928222894669, + "stddev_ms": 3.961168760029363e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.001000240445137024, + "iterations": 50, + "ops_per_sec": 1121085.254288608, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0008380133658647537, + "stddev_ms": 4.9040963625044686e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1193298.3896600395, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.003095986321568489, + "stddev_ms": 7.276885433608089e-05, + "min_ms": 0.0029997900128364563, + "max_ms": 0.003300141543149948, + "iterations": 50, + "ops_per_sec": 322998.8430612251, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.003210008144378662, + "stddev_ms": 5.8052715249114573e-05, + "min_ms": 0.0030999071896076202, + "max_ms": 0.003300141543149948, + "iterations": 50, + "ops_per_sec": 311525.68935103517, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.03000798635184765, + "stddev_ms": 0.0017153472874930646, + "min_ms": 0.02819998189806938, + "max_ms": 0.03860006108880043, + "iterations": 50, + "ops_per_sec": 33324.46197071894, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.030477968975901604, + "stddev_ms": 0.001772374790521132, + "min_ms": 0.029599759727716446, + "max_ms": 0.039999838918447495, + "iterations": 50, + "ops_per_sec": 32810.585271960954, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.002500014379620552, + "stddev_ms": 7.556852382927829e-05, + "min_ms": 0.002400018274784088, + "max_ms": 0.002800021320581436, + "iterations": 50, + "ops_per_sec": 399997.6992739451, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005220063030719757, + "stddev_ms": 4.183342044157155e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1915685.6806422838, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005500111728906631, + "stddev_ms": 5.052966976188124e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1818144.883756371, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.00041200779378414154, + "stddev_ms": 3.856848386095578e-05, + "min_ms": 0.0002998858690261841, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2427138.5519564184, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005699880421161652, + "stddev_ms": 4.624513780317777e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1754422.7704976962, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0005239807069301605, + "stddev_ms": 4.315603113046192e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1908467.2141054352, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.01131807453930378, + "stddev_ms": 0.00013199022602710671, + "min_ms": 0.01109996810555458, + "max_ms": 0.011799857020378113, + "iterations": 50, + "ops_per_sec": 88354.25111641949, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.013180030509829521, + "stddev_ms": 0.0011499337055061792, + "min_ms": 0.012799631804227829, + "max_ms": 0.02079969272017479, + "iterations": 50, + "ops_per_sec": 75872.35850889806, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0015500281006097794, + "stddev_ms": 5.4357556644698625e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.0016996636986732483, + "iterations": 50, + "ops_per_sec": 645149.5941309716, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00044801272451877594, + "stddev_ms": 5.436176055752573e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0005997717380523682, + "iterations": 50, + "ops_per_sec": 2232079.459515643, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00046797096729278564, + "stddev_ms": 4.709934283957663e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.000500120222568512, + "iterations": 50, + "ops_per_sec": 2136884.699888553, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00045602209866046906, + "stddev_ms": 5.4084521083887654e-05, + "min_ms": 0.000400003045797348, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 2192876.1850301237, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005680136382579803, + "stddev_ms": 5.1285683837402e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0007003545761108398, + "iterations": 50, + "ops_per_sec": 1760521.1083784227, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0005620066076517105, + "stddev_ms": 4.901960526355361e-05, + "min_ms": 0.0004996545612812042, + "max_ms": 0.0006002373993396759, + "iterations": 50, + "ops_per_sec": 1779338.5102328279, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.011584004387259483, + "stddev_ms": 0.001588309076814149, + "min_ms": 0.01109996810555458, + "max_ms": 0.022500287741422653, + "iterations": 50, + "ops_per_sec": 86325.9341562264, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.016527976840734482, + "stddev_ms": 0.021626367769754934, + "min_ms": 0.012800097465515137, + "max_ms": 0.1659998670220375, + "iterations": 50, + "ops_per_sec": 60503.472968053924, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0017719902098178864, + "stddev_ms": 9.905101836489699e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 564337.2037042876, + "allocated_mb": 0.0 + }, + { + "name": "np.all(a) (bool)", + "category": "Logic", + "suite": "Logic", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.0014660228043794632, + "stddev_ms": 0.00028546755064674806, + "min_ms": 0.001300126314163208, + "max_ms": 0.003400258719921112, + "iterations": 50, + "ops_per_sec": 682117.6294206958, + "allocated_mb": 0.0 + }, + { + "name": "np.any(a) (bool)", + "category": "Logic", + "suite": "Logic", + "dtype": "bool", + "n": 1000, + "mean_ms": 0.0015479978173971176, + "stddev_ms": 6.772275921823274e-05, + "min_ms": 0.0014998950064182281, + "max_ms": 0.001700129359960556, + "iterations": 50, + "ops_per_sec": 645995.7428631592, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.06921201013028622, + "stddev_ms": 0.007925196459593177, + "min_ms": 0.06729969754815102, + "max_ms": 0.12330012395977974, + "iterations": 50, + "ops_per_sec": 14448.359441050447, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.05063802935183048, + "stddev_ms": 0.0023484916523875184, + "min_ms": 0.049099791795015335, + "max_ms": 0.061499886214733124, + "iterations": 50, + "ops_per_sec": 19748.00387771906, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.04956001415848732, + "stddev_ms": 0.0018048608119932987, + "min_ms": 0.04610000178217888, + "max_ms": 0.0591999851167202, + "iterations": 50, + "ops_per_sec": 20177.556786043544, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.7597820274531841, + "stddev_ms": 0.01291222749470181, + "min_ms": 0.7482999935746193, + "max_ms": 0.8366997353732586, + "iterations": 50, + "ops_per_sec": 1316.1669582420038, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.7619839813560247, + "stddev_ms": 0.03536598804694896, + "min_ms": 0.7373997941613197, + "max_ms": 0.9738001972436905, + "iterations": 50, + "ops_per_sec": 1312.3635463050057, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.7764320224523544, + "stddev_ms": 0.081228242720859, + "min_ms": 1.7193001694977283, + "max_ms": 2.1662996150553226, + "iterations": 50, + "ops_per_sec": 562.9261279694258, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.7793620005249977, + "stddev_ms": 0.06661799559423097, + "min_ms": 1.7114998772740364, + "max_ms": 2.0330999977886677, + "iterations": 50, + "ops_per_sec": 561.999188307355, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.08726797066628933, + "stddev_ms": 0.003779636339646894, + "min_ms": 0.08409982547163963, + "max_ms": 0.10249996557831764, + "iterations": 50, + "ops_per_sec": 11458.95787841769, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.004413984715938568, + "stddev_ms": 8.57276811048821e-05, + "min_ms": 0.004299916326999664, + "max_ms": 0.004699919372797012, + "iterations": 50, + "ops_per_sec": 226552.66484930835, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.0057679880410432816, + "stddev_ms": 0.00010387174458663688, + "min_ms": 0.005600042641162872, + "max_ms": 0.00600004568696022, + "iterations": 50, + "ops_per_sec": 173370.67845569347, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.00590004026889801, + "stddev_ms": 0.0010692426770562721, + "min_ms": 0.005400273948907852, + "max_ms": 0.013200100511312485, + "iterations": 50, + "ops_per_sec": 169490.36861180214, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.00843399204313755, + "stddev_ms": 0.00016241984332767038, + "min_ms": 0.00819982960820198, + "max_ms": 0.00890018418431282, + "iterations": 50, + "ops_per_sec": 118567.81401799705, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.00837600789964199, + "stddev_ms": 0.00016607763604292505, + "min_ms": 0.00819982960820198, + "max_ms": 0.008800067007541656, + "iterations": 50, + "ops_per_sec": 119388.61710514173, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.366615979000926, + "stddev_ms": 0.03107427145234387, + "min_ms": 0.3370000049471855, + "max_ms": 0.47719990834593773, + "iterations": 50, + "ops_per_sec": 2727.6497950938306, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.3659919835627079, + "stddev_ms": 0.06242058622116546, + "min_ms": 0.3320001997053623, + "max_ms": 0.7465998642146587, + "iterations": 50, + "ops_per_sec": 2732.30028227835, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.006744032725691795, + "stddev_ms": 0.00098050922404494, + "min_ms": 0.0064997002482414246, + "max_ms": 0.013500452041625977, + "iterations": 50, + "ops_per_sec": 148279.23301594317, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.008495990186929703, + "stddev_ms": 5.703705866851022e-05, + "min_ms": 0.008399598300457, + "max_ms": 0.008699949830770493, + "iterations": 50, + "ops_per_sec": 117702.58416004384, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.010090004652738571, + "stddev_ms": 6.780219711728713e-05, + "min_ms": 0.009999610483646393, + "max_ms": 0.010200310498476028, + "iterations": 50, + "ops_per_sec": 99107.98204920409, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.00975998118519783, + "stddev_ms": 7.820439198597394e-05, + "min_ms": 0.009600073099136353, + "max_ms": 0.009899958968162537, + "iterations": 50, + "ops_per_sec": 102459.21390879509, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.02932603470981121, + "stddev_ms": 0.001518587228210606, + "min_ms": 0.02859998494386673, + "max_ms": 0.03609992563724518, + "iterations": 50, + "ops_per_sec": 34099.39358986858, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.029010018333792686, + "stddev_ms": 0.0009768757578122252, + "min_ms": 0.028499867767095566, + "max_ms": 0.0354996882379055, + "iterations": 50, + "ops_per_sec": 34470.85032811363, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.6275340169668198, + "stddev_ms": 0.0453062159231936, + "min_ms": 0.5876999348402023, + "max_ms": 0.787100289016962, + "iterations": 50, + "ops_per_sec": 1593.5391117655922, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.6299259979277849, + "stddev_ms": 0.042515304348702675, + "min_ms": 0.5770004354417324, + "max_ms": 0.7606996223330498, + "iterations": 50, + "ops_per_sec": 1587.4880593746198, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.012119961902499199, + "stddev_ms": 0.0015196997050112447, + "min_ms": 0.011600088328123093, + "max_ms": 0.02240017056465149, + "iterations": 50, + "ops_per_sec": 82508.51017888058, + "allocated_mb": 0.0 + }, + { + "name": "np.all(a) (bool)", + "category": "Logic", + "suite": "Logic", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.0013940315693616867, + "stddev_ms": 6.198109989339235e-05, + "min_ms": 0.0012996606528759003, + "max_ms": 0.001600012183189392, + "iterations": 50, + "ops_per_sec": 717343.869377284, + "allocated_mb": 0.0 + }, + { + "name": "np.any(a) (bool)", + "category": "Logic", + "suite": "Logic", + "dtype": "bool", + "n": 100000, + "mean_ms": 0.0016559846699237823, + "stddev_ms": 0.0015871920019613944, + "min_ms": 0.001300126314163208, + "max_ms": 0.012599863111972809, + "iterations": 50, + "ops_per_sec": 603870.3245036837, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 7.798133976757526, + "stddev_ms": 0.16067769996094863, + "min_ms": 7.563000079244375, + "max_ms": 8.34579998627305, + "iterations": 50, + "ops_per_sec": 128.2358065378868, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 6.064388016238809, + "stddev_ms": 0.16331134607105288, + "min_ms": 5.871900357306004, + "max_ms": 6.649699993431568, + "iterations": 50, + "ops_per_sec": 164.89710046953914, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 5.87338000535965, + "stddev_ms": 0.1884971572502549, + "min_ms": 5.625500343739986, + "max_ms": 6.590799894183874, + "iterations": 50, + "ops_per_sec": 170.25971401262436, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 80.98576202057302, + "stddev_ms": 0.5993248026482075, + "min_ms": 79.80260020121932, + "max_ms": 83.16499972715974, + "iterations": 50, + "ops_per_sec": 12.34784948675259, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 81.40322204679251, + "stddev_ms": 1.7307214615341469, + "min_ms": 79.80760000646114, + "max_ms": 90.15579987317324, + "iterations": 50, + "ops_per_sec": 12.284526028038254, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 195.6206640228629, + "stddev_ms": 4.156259410149629, + "min_ms": 190.4670000076294, + "max_ms": 207.46889989823103, + "iterations": 50, + "ops_per_sec": 5.111934390955376, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 192.96918000094593, + "stddev_ms": 1.91683092946803, + "min_ms": 190.32609974965453, + "max_ms": 198.86399991810322, + "iterations": 50, + "ops_per_sec": 5.182174687144849, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float16)", + "category": "Logic", + "suite": "Logic", + "dtype": "float16", + "n": 10000000, + "mean_ms": 9.507673997431993, + "stddev_ms": 0.21137310284701752, + "min_ms": 9.242000058293343, + "max_ms": 10.083300061523914, + "iterations": 50, + "ops_per_sec": 105.17819608351088, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 2.924403976649046, + "stddev_ms": 0.17393012083591297, + "min_ms": 2.6328000240027905, + "max_ms": 3.593099769204855, + "iterations": 50, + "ops_per_sec": 341.9500205802137, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.0154480040073395, + "stddev_ms": 0.1866952995489933, + "min_ms": 2.72950017824769, + "max_ms": 3.6304001696407795, + "iterations": 50, + "ops_per_sec": 331.62568171331867, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.3271880075335503, + "stddev_ms": 0.20374426569133455, + "min_ms": 2.8317999094724655, + "max_ms": 3.715899772942066, + "iterations": 50, + "ops_per_sec": 300.55410086107565, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.31012804992497, + "stddev_ms": 0.3523798677963582, + "min_ms": 7.69310025498271, + "max_ms": 9.363400284200907, + "iterations": 50, + "ops_per_sec": 120.33508918181217, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 8.441346008330584, + "stddev_ms": 0.694582592567592, + "min_ms": 7.574299816042185, + "max_ms": 12.158200144767761, + "iterations": 50, + "ops_per_sec": 118.4645196409579, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 55.14715198427439, + "stddev_ms": 1.2995639036045625, + "min_ms": 52.965200040489435, + "max_ms": 59.56139974296093, + "iterations": 50, + "ops_per_sec": 18.133302700475944, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 55.8238960057497, + "stddev_ms": 2.337846166675082, + "min_ms": 53.33949998021126, + "max_ms": 62.068999744951725, + "iterations": 50, + "ops_per_sec": 17.913475617986297, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float32)", + "category": "Logic", + "suite": "Logic", + "dtype": "float32", + "n": 10000000, + "mean_ms": 3.96863398142159, + "stddev_ms": 0.2289967233996269, + "min_ms": 3.6284998059272766, + "max_ms": 4.50480030849576, + "iterations": 50, + "ops_per_sec": 251.97586995457658, + "allocated_mb": 0.0 + }, + { + "name": "np.isnan(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.931030021980405, + "stddev_ms": 0.2037578643482461, + "min_ms": 4.569800104945898, + "max_ms": 5.348399747163057, + "iterations": 50, + "ops_per_sec": 202.79738625448059, + "allocated_mb": 0.0 + }, + { + "name": "np.isinf(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 5.260561974719167, + "stddev_ms": 0.29863837392133646, + "min_ms": 4.821599926799536, + "max_ms": 6.3887001015245914, + "iterations": 50, + "ops_per_sec": 190.09375895688115, + "allocated_mb": 0.0 + }, + { + "name": "np.isfinite(a) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 5.3098260425031185, + "stddev_ms": 0.29242981409528224, + "min_ms": 4.893499892205, + "max_ms": 6.138800177723169, + "iterations": 50, + "ops_per_sec": 188.33008689840005, + "allocated_mb": 0.0 + }, + { + "name": "np.maximum(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 16.575036011636257, + "stddev_ms": 0.6567234736491934, + "min_ms": 15.603200066834688, + "max_ms": 18.751999828964472, + "iterations": 50, + "ops_per_sec": 60.331693958188986, + "allocated_mb": 0.0 + }, + { + "name": "np.minimum(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 16.895808037370443, + "stddev_ms": 0.7819409417703937, + "min_ms": 15.838799998164177, + "max_ms": 19.446900114417076, + "iterations": 50, + "ops_per_sec": 59.1862785010449, + "allocated_mb": 0.0 + }, + { + "name": "np.isclose(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 104.72166202031076, + "stddev_ms": 6.420542324129797, + "min_ms": 98.17330026999116, + "max_ms": 140.0576001033187, + "iterations": 50, + "ops_per_sec": 9.549122700192154, + "allocated_mb": 0.0 + }, + { + "name": "np.allclose(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 107.52145402133465, + "stddev_ms": 4.641658821045794, + "min_ms": 100.36869999021292, + "max_ms": 125.00259978696704, + "iterations": 50, + "ops_per_sec": 9.300469465392254, + "allocated_mb": 0.0 + }, + { + "name": "np.array_equal(a, b) (float64)", + "category": "Logic", + "suite": "Logic", + "dtype": "float64", + "n": 10000000, + "mean_ms": 6.829726016148925, + "stddev_ms": 0.4072687696681195, + "min_ms": 6.231499835848808, + "max_ms": 8.13829991966486, + "iterations": 50, + "ops_per_sec": 146.41875788801696, + "allocated_mb": 0.0 + }, + { + "name": "np.all(a) (bool)", + "category": "Logic", + "suite": "Logic", + "dtype": "bool", + "n": 10000000, + "mean_ms": 0.0014319922775030136, + "stddev_ms": 0.00010958227659701615, + "min_ms": 0.0012996606528759003, + "max_ms": 0.00180024653673172, + "iterations": 50, + "ops_per_sec": 698327.7882920675, + "allocated_mb": 0.0 + }, + { + "name": "np.any(a) (bool)", + "category": "Logic", + "suite": "Logic", + "dtype": "bool", + "n": 10000000, + "mean_ms": 0.0014100130647420883, + "stddev_ms": 4.166716650088163e-05, + "min_ms": 0.0012996606528759003, + "max_ms": 0.0015003606677055359, + "iterations": 50, + "ops_per_sec": 709213.2867456191, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.01443197950720787, + "stddev_ms": 0.002941562920523502, + "min_ms": 0.013599637895822525, + "max_ms": 0.034499913454055786, + "iterations": 50, + "ops_per_sec": 69290.56402141941, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.02877800725400448, + "stddev_ms": 0.0007284930616272857, + "min_ms": 0.02819998189806938, + "max_ms": 0.03189966082572937, + "iterations": 50, + "ops_per_sec": 34748.75765975246, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.028291987255215645, + "stddev_ms": 0.0022352290818682817, + "min_ms": 0.027399975806474686, + "max_ms": 0.04329998046159744, + "iterations": 50, + "ops_per_sec": 35345.69668009621, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.005410024896264076, + "stddev_ms": 0.0008005987956171426, + "min_ms": 0.0051995739340782166, + "max_ms": 0.01090019941329956, + "iterations": 50, + "ops_per_sec": 184842.03292494194, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.007706042379140854, + "stddev_ms": 0.00016952712776032957, + "min_ms": 0.0073998235166072845, + "max_ms": 0.008200295269489288, + "iterations": 50, + "ops_per_sec": 129768.29749948636, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 1000, + "mean_ms": 0.0017800182104110718, + "stddev_ms": 6.999445255224487e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.001900363713502884, + "iterations": 50, + "ops_per_sec": 561792.005357666, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.010983999818563461, + "stddev_ms": 0.0001404760919522555, + "min_ms": 0.010799616575241089, + "max_ms": 0.011499971151351929, + "iterations": 50, + "ops_per_sec": 91041.51643465564, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.024274000898003578, + "stddev_ms": 0.0002988230033539991, + "min_ms": 0.023900065571069717, + "max_ms": 0.02550007775425911, + "iterations": 50, + "ops_per_sec": 41196.340240814825, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.023684008046984673, + "stddev_ms": 0.0009685608181593254, + "min_ms": 0.02310005947947502, + "max_ms": 0.028999987989664078, + "iterations": 50, + "ops_per_sec": 42222.583188461416, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.004167994484305382, + "stddev_ms": 7.676281904178265e-05, + "min_ms": 0.00400003045797348, + "max_ms": 0.004400033503770828, + "iterations": 50, + "ops_per_sec": 239923.54206933535, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.003521973267197609, + "stddev_ms": 0.00019512047997476744, + "min_ms": 0.002699904143810272, + "max_ms": 0.004099681973457336, + "iterations": 50, + "ops_per_sec": 283931.7405710145, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.0006239954382181168, + "stddev_ms": 5.556274949855147e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1602575.818271369, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00981796532869339, + "stddev_ms": 0.00017804230085342732, + "min_ms": 0.009499955922365189, + "max_ms": 0.01019984483718872, + "iterations": 50, + "ops_per_sec": 101854.09771996859, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.025794031098484993, + "stddev_ms": 0.0014989355023188708, + "min_ms": 0.02439972013235092, + "max_ms": 0.034700147807598114, + "iterations": 50, + "ops_per_sec": 38768.659159239935, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.023882007226347923, + "stddev_ms": 0.0006889346154719639, + "min_ms": 0.023000407963991165, + "max_ms": 0.02550007775425911, + "iterations": 50, + "ops_per_sec": 41872.5273182543, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.002858014777302742, + "stddev_ms": 6.41556850798628e-05, + "min_ms": 0.002800021320581436, + "max_ms": 0.0030999071896076202, + "iterations": 50, + "ops_per_sec": 349893.2223659642, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.003680037334561348, + "stddev_ms": 6.700238803246501e-05, + "min_ms": 0.003600027412176132, + "max_ms": 0.00380026176571846, + "iterations": 50, + "ops_per_sec": 271736.3735982852, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0006759818643331528, + "stddev_ms": 6.870368860292117e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.00090012326836586, + "iterations": 50, + "ops_per_sec": 1479329.6281498421, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.8796440158039331, + "stddev_ms": 0.02139426104044125, + "min_ms": 0.855499878525734, + "max_ms": 0.948099885135889, + "iterations": 50, + "ops_per_sec": 1136.823512732102, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.7825180385261774, + "stddev_ms": 0.0449882903277217, + "min_ms": 1.7265998758375645, + "max_ms": 1.9020000472664833, + "iterations": 50, + "ops_per_sec": 561.0041404275609, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.766818044707179, + "stddev_ms": 0.048772012772866066, + "min_ms": 1.7205998301506042, + "max_ms": 1.913200132548809, + "iterations": 50, + "ops_per_sec": 565.9892386743953, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.11472002603113651, + "stddev_ms": 0.02010059418627982, + "min_ms": 0.09220000356435776, + "max_ms": 0.21910015493631363, + "iterations": 50, + "ops_per_sec": 8716.873893740112, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 100000, + "mean_ms": 1.000413978472352, + "stddev_ms": 0.021248040620313026, + "min_ms": 0.9716004133224487, + "max_ms": 1.0785995982587337, + "iterations": 50, + "ops_per_sec": 999.586192834906, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 100000, + "mean_ms": 0.14466198161244392, + "stddev_ms": 0.008710572762455236, + "min_ms": 0.12800004333257675, + "max_ms": 0.16480032354593277, + "iterations": 50, + "ops_per_sec": 6912.666264167774, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.4686159733682871, + "stddev_ms": 0.023929065662785406, + "min_ms": 0.44710002839565277, + "max_ms": 0.5890997126698494, + "iterations": 50, + "ops_per_sec": 2133.9434778807595, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.7025559991598129, + "stddev_ms": 0.029645705144581706, + "min_ms": 0.6663003005087376, + "max_ms": 0.7911003194749355, + "iterations": 50, + "ops_per_sec": 1423.3740814908713, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.6937579624354839, + "stddev_ms": 0.02789111761689297, + "min_ms": 0.6707999855279922, + "max_ms": 0.8355001918971539, + "iterations": 50, + "ops_per_sec": 1441.42489765369, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.017654048278927803, + "stddev_ms": 0.0001717337184790261, + "min_ms": 0.01749955117702484, + "max_ms": 0.01820037141442299, + "iterations": 50, + "ops_per_sec": 56644.23163460012, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.011443942785263062, + "stddev_ms": 7.870918058180611e-05, + "min_ms": 0.0112997367978096, + "max_ms": 0.011600088328123093, + "iterations": 50, + "ops_per_sec": 87382.47112592612, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.04377197474241257, + "stddev_ms": 0.010381357470157818, + "min_ms": 0.036699697375297546, + "max_ms": 0.06600003689527512, + "iterations": 50, + "ops_per_sec": 22845.667939012506, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.465297969058156, + "stddev_ms": 0.01743461067417718, + "min_ms": 0.45350007712841034, + "max_ms": 0.5273995921015739, + "iterations": 50, + "ops_per_sec": 2149.160465978766, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.7045320048928261, + "stddev_ms": 0.029728895777448215, + "min_ms": 0.6795995868742466, + "max_ms": 0.8676000870764256, + "iterations": 50, + "ops_per_sec": 1419.3819344688545, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.7004259712994099, + "stddev_ms": 0.02251396378981665, + "min_ms": 0.676499679684639, + "max_ms": 0.7579997181892395, + "iterations": 50, + "ops_per_sec": 1427.702628080494, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.017050039023160934, + "stddev_ms": 0.0006661172794718616, + "min_ms": 0.016800127923488617, + "max_ms": 0.021599698811769485, + "iterations": 50, + "ops_per_sec": 58650.892155823836, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.019965972751379013, + "stddev_ms": 0.0005160627629571576, + "min_ms": 0.01969980075955391, + "max_ms": 0.02349959686398506, + "iterations": 50, + "ops_per_sec": 50085.2130999193, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.037551987916231155, + "stddev_ms": 0.003987742885464262, + "min_ms": 0.036699697375297546, + "max_ms": 0.05869986489415169, + "iterations": 50, + "ops_per_sec": 26629.748662860227, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 10000000, + "mean_ms": 105.78989000059664, + "stddev_ms": 1.679709184655175, + "min_ms": 104.54030008986592, + "max_ms": 112.6103000715375, + "iterations": 50, + "ops_per_sec": 9.452699118926772, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 10000000, + "mean_ms": 113.48059197887778, + "stddev_ms": 2.3148991119173843, + "min_ms": 111.06369970366359, + "max_ms": 121.19630025699735, + "iterations": 50, + "ops_per_sec": 8.81207951564203, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 10000000, + "mean_ms": 112.77901998721063, + "stddev_ms": 1.3659777030337115, + "min_ms": 110.86890008300543, + "max_ms": 117.41419974714518, + "iterations": 50, + "ops_per_sec": 8.86689740798778, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 10000000, + "mean_ms": 10.581710003316402, + "stddev_ms": 0.4861412547035389, + "min_ms": 9.357400238513947, + "max_ms": 11.600200086832047, + "iterations": 50, + "ops_per_sec": 94.50268431913094, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 10000000, + "mean_ms": 103.11139398254454, + "stddev_ms": 1.2534444187329983, + "min_ms": 101.65220033377409, + "max_ms": 107.54340002313256, + "iterations": 50, + "ops_per_sec": 9.698249256229504, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float16)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float16", + "n": 10000000, + "mean_ms": 15.758736012503505, + "stddev_ms": 1.6783006145762944, + "min_ms": 14.058200176805258, + "max_ms": 21.833100356161594, + "iterations": 50, + "ops_per_sec": 63.45686603332696, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 10000000, + "mean_ms": 73.74795399606228, + "stddev_ms": 1.292705217442341, + "min_ms": 71.99939992278814, + "max_ms": 77.36189989373088, + "iterations": 50, + "ops_per_sec": 13.559698212826275, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 10000000, + "mean_ms": 47.537366012111306, + "stddev_ms": 0.6220894545922079, + "min_ms": 46.53290007263422, + "max_ms": 49.862599931657314, + "iterations": 50, + "ops_per_sec": 21.036083483153558, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 10000000, + "mean_ms": 47.61984201148152, + "stddev_ms": 1.0074221563175016, + "min_ms": 46.59319994971156, + "max_ms": 52.62969993054867, + "iterations": 50, + "ops_per_sec": 20.99964967878079, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 10000000, + "mean_ms": 2.8185520321130753, + "stddev_ms": 0.23924199889125106, + "min_ms": 2.5069001130759716, + "max_ms": 3.5067996941506863, + "iterations": 50, + "ops_per_sec": 354.79210197524634, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 10000000, + "mean_ms": 2.6949180103838444, + "stddev_ms": 0.35927250974298863, + "min_ms": 2.124600112438202, + "max_ms": 3.5787997767329216, + "iterations": 50, + "ops_per_sec": 371.0688028900617, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float32)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float32", + "n": 10000000, + "mean_ms": 4.21165999956429, + "stddev_ms": 0.1762080146505865, + "min_ms": 3.951400052756071, + "max_ms": 4.802499897778034, + "iterations": 50, + "ops_per_sec": 237.436070362625, + "allocated_mb": 0.0 + }, + { + "name": "np.median(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 10000000, + "mean_ms": 86.43091797828674, + "stddev_ms": 2.718240853907347, + "min_ms": 83.14860006794333, + "max_ms": 94.79869995266199, + "iterations": 50, + "ops_per_sec": 11.569933808307127, + "allocated_mb": 0.0 + }, + { + "name": "np.percentile(a, 50) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 10000000, + "mean_ms": 58.56891800649464, + "stddev_ms": 1.9354964101110155, + "min_ms": 56.582999881356955, + "max_ms": 68.4956000186503, + "iterations": 50, + "ops_per_sec": 17.073902575579613, + "allocated_mb": 0.0 + }, + { + "name": "np.quantile(a, 0.5) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 10000000, + "mean_ms": 58.18528997711837, + "stddev_ms": 1.385247879881156, + "min_ms": 56.45690020173788, + "max_ms": 63.802399672567844, + "iterations": 50, + "ops_per_sec": 17.186474457603538, + "allocated_mb": 0.0 + }, + { + "name": "np.average(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 10000000, + "mean_ms": 4.652861962094903, + "stddev_ms": 0.22243705209377712, + "min_ms": 4.335499834269285, + "max_ms": 5.346300080418587, + "iterations": 50, + "ops_per_sec": 214.92148448559612, + "allocated_mb": 0.0 + }, + { + "name": "np.ptp(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 10000000, + "mean_ms": 6.946304002776742, + "stddev_ms": 0.6450135371544031, + "min_ms": 6.110500078648329, + "max_ms": 9.852899704128504, + "iterations": 50, + "ops_per_sec": 143.96145052106218, + "allocated_mb": 0.0 + }, + { + "name": "np.count_nonzero(a) (float64)", + "category": "Statistics", + "suite": "Statistics", + "dtype": "float64", + "n": 10000000, + "mean_ms": 5.644382014870644, + "stddev_ms": 0.3443692175618783, + "min_ms": 5.190799944102764, + "max_ms": 6.862299982458353, + "iterations": 50, + "ops_per_sec": 177.1673138645485, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.011255955323576927, + "stddev_ms": 0.0002425843208478026, + "min_ms": 0.010599847882986069, + "max_ms": 0.011700205504894257, + "iterations": 50, + "ops_per_sec": 88841.85937602133, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.0017120037227869034, + "stddev_ms": 5.937130169713637e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.0018998980522155762, + "iterations": 50, + "ops_per_sec": 584110.879368965, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 1000, + "mean_ms": 0.018999939784407616, + "stddev_ms": 0.0015996155276178324, + "min_ms": 0.018499791622161865, + "max_ms": 0.027799978852272034, + "iterations": 50, + "ops_per_sec": 52631.74575009203, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.013069985434412956, + "stddev_ms": 0.00012161085448169254, + "min_ms": 0.012899748980998993, + "max_ms": 0.013399869203567505, + "iterations": 50, + "ops_per_sec": 76511.17937492295, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.0018039718270301819, + "stddev_ms": 8.323279315860542e-05, + "min_ms": 0.0016996636986732483, + "max_ms": 0.00200001522898674, + "iterations": 50, + "ops_per_sec": 554332.3820340734, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 1000, + "mean_ms": 0.01856403425335884, + "stddev_ms": 0.0007044273230885001, + "min_ms": 0.0183996744453907, + "max_ms": 0.023399945348501205, + "iterations": 50, + "ops_per_sec": 53867.6015327362, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.011962028220295906, + "stddev_ms": 0.00019262802614605337, + "min_ms": 0.011600088328123093, + "max_ms": 0.0129002146422863, + "iterations": 50, + "ops_per_sec": 83597.863304093, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.002680029720067978, + "stddev_ms": 0.0001261593097715512, + "min_ms": 0.002400018274784088, + "max_ms": 0.003000255674123764, + "iterations": 50, + "ops_per_sec": 373130.1905020051, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 1000, + "mean_ms": 0.008318005129694939, + "stddev_ms": 0.002518971532104778, + "min_ms": 0.007299706339836121, + "max_ms": 0.023799948394298553, + "iterations": 50, + "ops_per_sec": 120221.1328807722, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.010366002097725868, + "stddev_ms": 0.00024628845331388534, + "min_ms": 0.009899958968162537, + "max_ms": 0.011499971151351929, + "iterations": 50, + "ops_per_sec": 96469.20679471825, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0028579961508512497, + "stddev_ms": 9.705473451744327e-05, + "min_ms": 0.002600252628326416, + "max_ms": 0.0030999071896076202, + "iterations": 50, + "ops_per_sec": 349895.5027291242, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00833398662507534, + "stddev_ms": 0.004338191519660342, + "min_ms": 0.00690016895532608, + "max_ms": 0.03350013867020607, + "iterations": 50, + "ops_per_sec": 119990.59333635058, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.4030719958245754, + "stddev_ms": 0.008394777926708464, + "min_ms": 0.39219995960593224, + "max_ms": 0.42609963566064835, + "iterations": 50, + "ops_per_sec": 2480.9463578690766, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 100000, + "mean_ms": 0.10512798093259335, + "stddev_ms": 0.010684897286451866, + "min_ms": 0.0954996794462204, + "max_ms": 0.15590013936161995, + "iterations": 50, + "ops_per_sec": 9512.21540762955, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 100000, + "mean_ms": 2.8983279690146446, + "stddev_ms": 0.08969265940305832, + "min_ms": 2.8221001848578453, + "max_ms": 3.2194997183978558, + "iterations": 50, + "ops_per_sec": 345.0265155257684, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.4916620347648859, + "stddev_ms": 0.03507647938630327, + "min_ms": 0.4639001563191414, + "max_ms": 0.7071001455187798, + "iterations": 50, + "ops_per_sec": 2033.917466249357, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 100000, + "mean_ms": 0.10729396715760231, + "stddev_ms": 0.006568579024829549, + "min_ms": 0.09909970685839653, + "max_ms": 0.1221001148223877, + "iterations": 50, + "ops_per_sec": 9320.188510982325, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 100000, + "mean_ms": 2.901633959263563, + "stddev_ms": 0.08935508795746312, + "min_ms": 2.836999949067831, + "max_ms": 3.2641999423503876, + "iterations": 50, + "ops_per_sec": 344.6334079484653, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 100000, + "mean_ms": 1.592204011976719, + "stddev_ms": 0.11237982954434213, + "min_ms": 1.4961999841034412, + "max_ms": 2.198600210249424, + "iterations": 50, + "ops_per_sec": 628.0602187143728, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 100000, + "mean_ms": 0.19877806305885315, + "stddev_ms": 0.031697128949377755, + "min_ms": 0.14779996126890182, + "max_ms": 0.3712000325322151, + "iterations": 50, + "ops_per_sec": 5030.736212093611, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 100000, + "mean_ms": 2.022236008197069, + "stddev_ms": 0.05026212183852103, + "min_ms": 1.9385996274650097, + "max_ms": 2.210400067269802, + "iterations": 50, + "ops_per_sec": 494.50212336568626, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 100000, + "mean_ms": 1.4279919769614935, + "stddev_ms": 0.09686817025958208, + "min_ms": 1.3474002480506897, + "max_ms": 1.8883999437093735, + "iterations": 50, + "ops_per_sec": 700.2840465027105, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.1923119928687811, + "stddev_ms": 0.01821975129157727, + "min_ms": 0.14999974519014359, + "max_ms": 0.2280999906361103, + "iterations": 50, + "ops_per_sec": 5199.883715428622, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 100000, + "mean_ms": 2.096082018688321, + "stddev_ms": 0.05935372402649465, + "min_ms": 2.0421002991497517, + "max_ms": 2.320599742233753, + "iterations": 50, + "ops_per_sec": 477.08056797595, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 10000000, + "mean_ms": 174.09792201593518, + "stddev_ms": 8.127813490091869, + "min_ms": 160.52669985219836, + "max_ms": 205.23269986733794, + "iterations": 50, + "ops_per_sec": 5.743893944400267, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 10000000, + "mean_ms": 20.1148500200361, + "stddev_ms": 0.7789836646398169, + "min_ms": 19.365199841558933, + "max_ms": 23.89629976823926, + "iterations": 50, + "ops_per_sec": 49.714514351532074, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (int32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int32", + "n": 10000000, + "mean_ms": 390.1343020237982, + "stddev_ms": 4.808576916449451, + "min_ms": 384.0655996464193, + "max_ms": 403.5860998556018, + "iterations": 50, + "ops_per_sec": 2.563219883031459, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 10000000, + "mean_ms": 310.52081196568906, + "stddev_ms": 13.163631532946654, + "min_ms": 289.79540010914207, + "max_ms": 342.4884998239577, + "iterations": 50, + "ops_per_sec": 3.2203960619248115, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 10000000, + "mean_ms": 23.747388049960136, + "stddev_ms": 2.351941870416847, + "min_ms": 21.8643001280725, + "max_ms": 32.62670012190938, + "iterations": 50, + "ops_per_sec": 42.109894271158744, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (int64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "int64", + "n": 10000000, + "mean_ms": 568.2151140086353, + "stddev_ms": 9.330246402372104, + "min_ms": 550.4724001511931, + "max_ms": 604.2614001780748, + "iterations": 50, + "ops_per_sec": 1.759896868890402, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 10000000, + "mean_ms": 1348.272969974205, + "stddev_ms": 26.809864147598006, + "min_ms": 1274.126200005412, + "max_ms": 1405.324500054121, + "iterations": 50, + "ops_per_sec": 0.7416895704874451, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 10000000, + "mean_ms": 39.87120199948549, + "stddev_ms": 2.5437085387884206, + "min_ms": 33.29810034483671, + "max_ms": 48.193799797445536, + "iterations": 50, + "ops_per_sec": 25.080758789587136, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (float32)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float32", + "n": 10000000, + "mean_ms": 312.18229002319276, + "stddev_ms": 5.750954600855549, + "min_ms": 302.30170022696257, + "max_ms": 328.2639002427459, + "iterations": 50, + "ops_per_sec": 3.203256661118437, + "allocated_mb": 0.0 + }, + { + "name": "np.argsort(a) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 1768.7035340443254, + "stddev_ms": 35.37208125847054, + "min_ms": 1640.9423002041876, + "max_ms": 1828.1602999195457, + "iterations": 50, + "ops_per_sec": 0.5653858777074955, + "allocated_mb": 0.0 + }, + { + "name": "np.nonzero(a) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 42.63290200382471, + "stddev_ms": 2.0454983522640675, + "min_ms": 37.3064000159502, + "max_ms": 50.60900002717972, + "iterations": 50, + "ops_per_sec": 23.456062172598227, + "allocated_mb": 0.0 + }, + { + "name": "np.searchsorted(a, v) (float64)", + "category": "Sorting", + "suite": "Sorting", + "dtype": "float64", + "n": 10000000, + "mean_ms": 310.2307099662721, + "stddev_ms": 5.730837214573656, + "min_ms": 301.39969987794757, + "max_ms": 325.1408003270626, + "iterations": 50, + "ops_per_sec": 3.2234075089107677, + "allocated_mb": 0.0 + }, + { + "name": "np.dot(a, b) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0007099658250808716, + "stddev_ms": 8.142359135399814e-05, + "min_ms": 0.0005997717380523682, + "max_ms": 0.0010998919606208801, + "iterations": 50, + "ops_per_sec": 1408518.501416728, + "allocated_mb": 0.0 + }, + { + "name": "np.outer(a, b) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.002162046730518341, + "stddev_ms": 6.352842170812039e-05, + "min_ms": 0.0020996667444705963, + "max_ms": 0.002300366759300232, + "iterations": 50, + "ops_per_sec": 462524.6928683426, + "allocated_mb": 0.0 + }, + { + "name": "np.matmul(A, B) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.00269399955868721, + "stddev_ms": 6.191929783561293e-05, + "min_ms": 0.002500135451555252, + "max_ms": 0.0028996728360652924, + "iterations": 50, + "ops_per_sec": 371195.30950751214, + "allocated_mb": 0.0 + }, + { + "name": "np.dot(a, b) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.11232802644371986, + "stddev_ms": 0.03154579232966998, + "min_ms": 0.08490029722452164, + "max_ms": 0.3201998770236969, + "iterations": 50, + "ops_per_sec": 8902.497726166619, + "allocated_mb": 0.0 + }, + { + "name": "np.outer(a, b) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.038042040541768074, + "stddev_ms": 0.001095069361354265, + "min_ms": 0.037799589335918427, + "max_ms": 0.04559988155961037, + "iterations": 50, + "ops_per_sec": 26286.707699132356, + "allocated_mb": 0.0 + }, + { + "name": "np.matmul(A, B) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.5771219544112682, + "stddev_ms": 0.16296503353125497, + "min_ms": 0.32190000638365746, + "max_ms": 1.331899780780077, + "iterations": 50, + "ops_per_sec": 1732.7360228742584, + "allocated_mb": 0.0 + }, + { + "name": "np.dot(a, b) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.8690300118178129, + "stddev_ms": 0.09786227063360681, + "min_ms": 0.7146000862121582, + "max_ms": 1.1981003917753696, + "iterations": 50, + "ops_per_sec": 1150.7082452862908, + "allocated_mb": 0.0 + }, + { + "name": "np.outer(a, b) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 10000000, + "mean_ms": 13.49541800096631, + "stddev_ms": 0.4873267182254827, + "min_ms": 12.595599982887506, + "max_ms": 15.07710013538599, + "iterations": 50, + "ops_per_sec": 74.09922389424301, + "allocated_mb": 0.0 + }, + { + "name": "np.matmul(A, B) (float64)", + "category": "LinearAlgebra", + "suite": "LinearAlgebra", + "dtype": "float64", + "n": 10000000, + "mean_ms": 0.689609944820404, + "stddev_ms": 0.15944319197041204, + "min_ms": 0.5334997549653053, + "max_ms": 1.5162997879087925, + "iterations": 50, + "ops_per_sec": 1450.0950972515793, + "allocated_mb": 0.0 + }, + { + "name": "np.where(cond, a, b) (float64)", + "category": "Selection", + "suite": "Selection", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0016999896615743637, + "stddev_ms": 8.802616003704147e-05, + "min_ms": 0.001600012183189392, + "max_ms": 0.0020996667444705963, + "iterations": 50, + "ops_per_sec": 588238.8714493111, + "allocated_mb": 0.0 + }, + { + "name": "np.where(cond) (float64)", + "category": "Selection", + "suite": "Selection", + "dtype": "float64", + "n": 1000, + "mean_ms": 0.0008919835090637207, + "stddev_ms": 3.956172175804954e-05, + "min_ms": 0.000800006091594696, + "max_ms": 0.0009997747838497162, + "iterations": 50, + "ops_per_sec": 1121096.9595723355, + "allocated_mb": 0.0 + }, + { + "name": "np.where(cond, a, b) (float64)", + "category": "Selection", + "suite": "Selection", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.03985400311648846, + "stddev_ms": 0.002701099903320165, + "min_ms": 0.038699712604284286, + "max_ms": 0.05359994247555733, + "iterations": 50, + "ops_per_sec": 25091.582320529265, + "allocated_mb": 0.0 + }, + { + "name": "np.where(cond) (float64)", + "category": "Selection", + "suite": "Selection", + "dtype": "float64", + "n": 100000, + "mean_ms": 0.029436033219099045, + "stddev_ms": 0.0026629494293743334, + "min_ms": 0.028300099074840546, + "max_ms": 0.040700193494558334, + "iterations": 50, + "ops_per_sec": 33971.96872814941, + "allocated_mb": 0.0 + }, + { + "name": "np.where(cond, a, b) (float64)", + "category": "Selection", + "suite": "Selection", + "dtype": "float64", + "n": 10000000, + "mean_ms": 17.129366025328636, + "stddev_ms": 0.6006923335290006, + "min_ms": 15.960799995809793, + "max_ms": 18.903799820691347, + "iterations": 50, + "ops_per_sec": 58.379276764903764, + "allocated_mb": 0.0 + }, + { + "name": "np.where(cond) (float64)", + "category": "Selection", + "suite": "Selection", + "dtype": "float64", + "n": 10000000, + "mean_ms": 7.449973989278078, + "stddev_ms": 0.26295293948002363, + "min_ms": 7.062999997287989, + "max_ms": 8.103900123387575, + "iterations": 50, + "ops_per_sec": 134.2286565616456, + "allocated_mb": 0.0 + } +] \ No newline at end of file diff --git a/benchmark/history/2026-06-29_2d16f477/operand_results.md b/benchmark/history/2026-06-29_2d16f477/operand_results.md new file mode 100644 index 000000000..c99072cfd --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/operand_results.md @@ -0,0 +1,35 @@ +# Operand & broadcast layouts — 1-D / scalar / mixed-operand / broadcast (NumSharp vs NumPy 2.4.2) + +The layout classes the per-operand layout grid (benchmark/layout) can't express. ratio = NumPy_ms / NumSharp_ms — **>1.0 = NumSharp faster**. ✅≥1.0 🟡≥0.5 🟠≥0.2 🔴<0.2. 1M elements, best-of-3. + +| case | f64 | f32 | f16 | i32 | i64 | c128 | geomean | +|---|---|---|---|---|---|---|---| +| 1-D contiguous (a+a) | 2.41 ✅ | 2.16 ✅ | 0.63 🟡 | 2.13 ✅ | 2.45 ✅ | 2.35 ✅ | 1.85 ✅ | +| 1-D strided a[::2] | 1.84 ✅ | 1.46 ✅ | 0.53 🟡 | 1.51 ✅ | 1.81 ✅ | 1.93 ✅ | 1.40 ✅ | +| 1-D reversed a[::-1] | 2.49 ✅ | 1.95 ✅ | 0.56 🟡 | 2.14 ✅ | 2.29 ✅ | 2.22 ✅ | 1.76 ✅ | +| array + scalar | 2.72 ✅ | 1.93 ✅ | 0.63 🟡 | 1.91 ✅ | 2.26 ✅ | 2.64 ✅ | 1.83 ✅ | +| scalar + array | 2.40 ✅ | 1.98 ✅ | 0.64 🟡 | 2.01 ✅ | 2.19 ✅ | 2.69 ✅ | 1.82 ✅ | +| mixed C + F | 2.29 ✅ | 2.02 ✅ | 0.62 🟡 | 2.02 ✅ | 2.09 ✅ | 1.87 ✅ | 1.68 ✅ | +| mixed C + T | 2.53 ✅ | 2.04 ✅ | 0.62 🟡 | 2.01 ✅ | 2.33 ✅ | 2.30 ✅ | 1.80 ✅ | +| binary broadcast +row(1,C) | 2.71 ✅ | 2.09 ✅ | 0.63 🟡 | 1.95 ✅ | 2.52 ✅ | 2.58 ✅ | 1.89 ✅ | +| binary broadcast +col(R,1) | 2.61 ✅ | 2.02 ✅ | 0.56 🟡 | 2.07 ✅ | 2.54 ✅ | 2.96 ✅ | 1.89 ✅ | +| col-broadcast unary (inner stride-0) | 2.54 ✅ | 1.56 ✅ | 0.88 🟡 | 1.65 ✅ | 2.64 ✅ | 6.22 ✅ | 2.13 ✅ | + +**Worst 12 cells** + +| key | NumSharp ms | NumPy ms | ratio | +|---|---|---|---| +| 1d_strided|f16 | 2.6261 | 1.3926 | 0.53 🟡 | +| 1d_rev|f16 | 5.2838 | 2.9653 | 0.56 🟡 | +| bcast_col|f16 | 5.2887 | 2.9837 | 0.56 🟡 | +| mix_C_T|f16 | 5.3031 | 3.2873 | 0.62 🟡 | +| mix_C_F|f16 | 5.3153 | 3.3015 | 0.62 🟡 | +| 1d_C|f16 | 4.7456 | 2.9682 | 0.63 🟡 | +| bcast_row|f16 | 4.7695 | 2.9999 | 0.63 🟡 | +| scalar_rhs|f16 | 4.7058 | 2.9602 | 0.63 🟡 | +| scalar_lhs|f16 | 4.6383 | 2.9742 | 0.64 🟡 | +| colbcast_unary|f16 | 0.4753 | 0.4173 | 0.88 🟡 | +| 1d_strided|f32 | 0.2366 | 0.3444 | 1.46 ✅ | +| 1d_strided|i32 | 0.2433 | 0.3676 | 1.51 ✅ | + +_60 comparable cells._ diff --git a/benchmark/history/2026-06-29_2d16f477/operand_results.tsv b/benchmark/history/2026-06-29_2d16f477/operand_results.tsv new file mode 100644 index 000000000..5f4e50f8d --- /dev/null +++ b/benchmark/history/2026-06-29_2d16f477/operand_results.tsv @@ -0,0 +1,61 @@ +key ns_ms np_ms +1d_C|f64 0.5691166666666666 1.36976 +1d_strided|f64 0.3628766666666667 0.66686 +1d_rev|f64 0.5322366666666667 1.32495 +scalar_rhs|f64 0.4992766666666667 1.36048 +scalar_lhs|f64 0.5587166666666668 1.3394 +mix_C_F|f64 0.8186766666666667 1.8782 +mix_C_T|f64 0.70328 1.78032 +bcast_row|f64 0.52167 1.41286 +bcast_col|f64 0.5482766666666666 1.43244 +colbcast_unary|f64 0.5332166666666667 1.35224 +1d_C|f32 0.32621 0.703287 +1d_strided|f32 0.23663 0.344387 +1d_rev|f32 0.34344 0.66936 +scalar_rhs|f32 0.34775666666666666 0.670813 +scalar_lhs|f32 0.34694 0.68693 +mix_C_F|f32 0.50469 1.02077 +mix_C_T|f32 0.4891666666666667 0.999833 +bcast_row|f32 0.34182 0.714413 +bcast_col|f32 0.3460266666666667 0.699707 +colbcast_unary|f32 0.42733666666666664 0.666257 +1d_C|f16 4.7456466666666675 2.96824 +1d_strided|f16 2.6261066666666664 1.39256 +1d_rev|f16 5.283753333333333 2.96533 +scalar_rhs|f16 4.705803333333334 2.96017 +scalar_lhs|f16 4.638323333333333 2.97422 +mix_C_F|f16 5.315286666666666 3.30154 +mix_C_T|f16 5.303096666666666 3.28732 +bcast_row|f16 4.769466666666667 2.99994 +bcast_col|f16 5.288733333333334 2.9837 +colbcast_unary|f16 0.47533 0.41733 +1d_C|i32 0.33177333333333336 0.70638 +1d_strided|i32 0.24333333333333332 0.367587 +1d_rev|i32 0.33537 0.716103 +scalar_rhs|i32 0.34471999999999997 0.65918 +scalar_lhs|i32 0.33294333333333337 0.669623 +mix_C_F|i32 0.5219666666666667 1.05189 +mix_C_T|i32 0.5173633333333333 1.03758 +bcast_row|i32 0.36722333333333335 0.7161 +bcast_col|i32 0.34591999999999995 0.71619 +colbcast_unary|i32 0.4046333333333333 0.668973 +1d_C|i64 0.51168 1.2558 +1d_strided|i64 0.35958666666666667 0.65039 +1d_rev|i64 0.5528 1.26582 +scalar_rhs|i64 0.56057 1.26708 +scalar_lhs|i64 0.5831866666666666 1.27582 +mix_C_F|i64 0.8870866666666667 1.85743 +mix_C_T|i64 0.7374533333333333 1.71484 +bcast_row|i64 0.5335599999999999 1.34415 +bcast_col|i64 0.5419533333333334 1.37558 +colbcast_unary|i64 0.5066766666666667 1.3353 +1d_C|c128 1.1989666666666667 2.81701 +1d_strided|c128 0.7017766666666667 1.35608 +1d_rev|c128 1.2076566666666666 2.68437 +scalar_rhs|c128 1.0411299999999999 2.75122 +scalar_lhs|c128 1.03091 2.76844 +mix_C_F|c128 2.84676 5.31294 +mix_C_T|c128 1.7903333333333333 4.11381 +bcast_row|c128 1.13306 2.92596 +bcast_col|c128 1.14221 3.37681 +colbcast_unary|c128 0.7807066666666667 4.85264 diff --git a/benchmark/history/latest b/benchmark/history/latest index 5b47fd0bf..69b0d2db4 120000 --- a/benchmark/history/latest +++ b/benchmark/history/latest @@ -1 +1 @@ -2026-06-23_e3b7c268 \ No newline at end of file +2026-06-29_2d16f477 \ No newline at end of file diff --git a/docs/website-src/api/index.md b/docs/website-src/api/index.md index df6fc6760..bc0298e3a 100644 --- a/docs/website-src/api/index.md +++ b/docs/website-src/api/index.md @@ -361,12 +361,13 @@ These types are for advanced users extending NumSharp or understanding its inter ## Supported Data Types -NumSharp supports 12 numeric data types: +NumSharp supports 15 public array dtypes: | NPTypeCode | C# Type | NumPy Equivalent | |------------|---------|------------------| | Boolean | `bool` | `np.bool_` | | Byte | `byte` | `np.uint8` | +| SByte | `sbyte` | `np.int8` | | Int16 | `short` | `np.int16` | | UInt16 | `ushort` | `np.uint16` | | Int32 | `int` | `np.int32` | @@ -374,9 +375,14 @@ NumSharp supports 12 numeric data types: | Int64 | `long` | `np.int64` | | UInt64 | `ulong` | `np.uint64` | | Char | `char` | (no equivalent) | +| Half | `System.Half` | `np.float16` | | Single | `float` | `np.float32` | | Double | `double` | `np.float64` | | Decimal | `decimal` | (no equivalent) | +| Complex | `System.Numerics.Complex` | `np.complex128` | + +`NPTypeCode.Empty`, `NPTypeCode.String`, and the `NPTypeCode.Float` alias are enum/compatibility +values, not additional public array dtypes. `Float` resolves to `Single`. --- diff --git a/docs/website-src/api/overwrites/NumSharp.md b/docs/website-src/api/overwrites/NumSharp.md new file mode 100644 index 000000000..dbb89e8db --- /dev/null +++ b/docs/website-src/api/overwrites/NumSharp.md @@ -0,0 +1,27 @@ +--- +uid: NumSharp +summary: Primary NumSharp namespace containing the NDArray type, NumPy-style API facade, dtype metadata, slicing and shape helpers, random state, and NumPy-compatible exception types. +remarks: | + Use this namespace when writing NumSharp code: + + - is the NumPy-style static API, equivalent to Python's `import numpy as np`. + - is the main n-dimensional array container. + - , , and define shape, view, indexing, and dtype behavior. + - exposes NumPy-compatible MT19937 random generation. + + NumSharp targets NumPy 2.x API and behavioral compatibility. Arrays use unmanaged storage, + slicing returns views that share storage, broadcasting follows NumPy shape rules, and the public + NDArray dtype set covers Boolean, Byte, SByte, Int16, UInt16, Int32, UInt32, Int64, UInt64, Char, + Half, Single, Double, Decimal, and Complex. `NPTypeCode.Empty`, `NPTypeCode.String`, and the + `NPTypeCode.Float` alias are enum/compatibility values, not additional public array dtypes; + `Float` resolves to `Single`. + + ```csharp + using NumSharp; + + var a = np.arange(6).reshape(2, 3); + var b = np.array(new[] { 10, 20, 30 }); + NDArray c = a + b; // NumPy-style broadcasting + NDArray col = c[":, 1"]; // Slicing returns a view + ``` +--- diff --git a/docs/website-src/docfx.json b/docs/website-src/docfx.json index 9e52d1300..5e452a468 100644 --- a/docs/website-src/docfx.json +++ b/docs/website-src/docfx.json @@ -23,7 +23,7 @@ "content": [ { "files": ["**/*.{md,yml}"], - "exclude": ["_site/**", "obj/**", "scripts/**", "filterConfig.yml", "templates/**"] + "exclude": ["_site/**", "obj/**", "scripts/**", "filterConfig.yml", "templates/**", "api/overwrites/**"] }, { "src": "../../benchmark/history/latest", @@ -31,6 +31,11 @@ "dest": "docs/reports" } ], + "overwrite": [ + { + "files": ["api/overwrites/*.md"] + } + ], "resource": [ { "files": ["images/**"] diff --git a/docs/website-src/docs/benchmarks-dashboard.md b/docs/website-src/docs/benchmarks-dashboard.md index da659149b..210405675 100644 --- a/docs/website-src/docs/benchmarks-dashboard.md +++ b/docs/website-src/docs/benchmarks-dashboard.md @@ -187,35 +187,6 @@ html[data-bs-theme="dark"] .ns-bench-dashboard .dtype-count { text-transform: uppercase; } -.ns-bench-dashboard .guide-formula { - background: var(--muted-bg); - border: 1px solid var(--line); - border-radius: 8px; - display: grid; - gap: 0.08rem; - min-width: 0; - padding: 0.48rem 0.68rem; - white-space: nowrap; -} - -.ns-bench-dashboard .guide-formula span { - color: var(--quiet); - font-size: 0.74rem; - font-weight: 700; - text-transform: uppercase; -} - -.ns-bench-dashboard .guide-formula strong { - font-size: 0.92rem; - font-variant-numeric: tabular-nums; -} - -.ns-bench-dashboard .guide-formula small { - color: var(--quiet); - font-size: 0.74rem; - font-variant-numeric: tabular-nums; -} - .ns-bench-dashboard .guide-primer { border: 1px solid color-mix(in srgb, var(--line) 86%, transparent); border-radius: 8px; @@ -1208,6 +1179,55 @@ html[data-bs-theme="dark"] .ns-bench-dashboard .dtype-count { font-weight: 650; } +.ns-bench-dashboard .is-coach-target { + outline: 2px solid color-mix(in srgb, #0ea5e9 70%, var(--panel)); + outline-offset: 3px; + box-shadow: + 0 0 0 4px color-mix(in srgb, #0ea5e9 18%, transparent), + inset 0 0 0 1px color-mix(in srgb, #0ea5e9 36%, transparent); +} + +.ns-breakdown-coach { + --coach-arrow-x: 50%; + background: #0f172a; + border: 1px solid rgba(255, 255, 255, 0.18); + border-radius: 8px; + box-shadow: 0 1rem 2.2rem rgba(2, 6, 23, 0.32); + color: #ffffff; + font-size: 0.84rem; + font-weight: 750; + left: 0; + line-height: 1.25; + max-width: min(16rem, calc(100vw - 1.5rem)); + opacity: 0; + padding: 0.62rem 0.78rem; + pointer-events: none; + position: fixed; + top: 0; + transform: translateY(0.35rem); + transition: opacity 150ms ease, transform 150ms ease; + width: max-content; + z-index: 1085; +} + +.ns-breakdown-coach::before { + background: #0f172a; + border-left: 1px solid rgba(255, 255, 255, 0.18); + border-top: 1px solid rgba(255, 255, 255, 0.18); + content: ""; + height: 0.7rem; + left: var(--coach-arrow-x); + position: absolute; + top: -0.39rem; + transform: translateX(-50%) rotate(45deg); + width: 0.7rem; +} + +.ns-breakdown-coach.is-visible { + opacity: 1; + transform: translateY(0); +} + .tippy-box[data-theme~="ns-bench"] { --ns-tip-bg: var(--bs-body-bg, #ffffff); --ns-tip-fg: var(--bs-body-color, #1f2933); @@ -1470,11 +1490,6 @@ html[data-bs-theme="dark"] .tippy-box[data-theme~="ns-bench"] { gap: 0.55rem; } - .ns-bench-dashboard .guide-formula { - align-self: stretch; - width: 100%; - } - .ns-bench-dashboard .guide-grid { grid-template-columns: 1fr; } @@ -1559,11 +1574,6 @@ html[data-bs-theme="dark"] .tippy-box[data-theme~="ns-bench"] {
Operation cells

Legend & How To Read

-
- Ratio - NumPy / NumSharp - Example: x3 = NumSharp 10s, NumPy 30s -
@@ -1586,7 +1596,7 @@ html[data-bs-theme="dark"] .tippy-box[data-theme~="ns-bench"] {

Reading Ratios

-

Higher is better. 2.00x means NumSharp is twice as fast as NumPy; 0.50x means NumSharp takes about twice as long.

+

Ratio is NumPy / NumSharp. Higher is better: 3.00x means NumSharp took 10s while NumPy took 30s; 0.50x means NumSharp takes about twice as long.

@@ -1611,7 +1621,7 @@ html[data-bs-theme="dark"] .tippy-box[data-theme~="ns-bench"] { - + @@ -1647,7 +1657,7 @@ html[data-bs-theme="dark"] .tippy-box[data-theme~="ns-bench"] { 2.24x 39 / 10
-
+
Reduction 1.81x @@ -1747,7 +1757,7 @@ html[data-bs-theme="dark"] .tippy-box[data-theme~="ns-bench"] {
int320.93x111 rows
int640.75x118 rows
uint640.74x63 rows
-
bool0.30x8 rows
+
bool0.30x8 rows