GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |
GeezerVison is showing github.com — Add an asv benchmark suite by eriknw · Pull Request #596 · python-graphblas/python-graphblas Conversation
Member
101 benchmarks over the library's hot paths: scalar access (getitem, get and
Two alternatives were considered and not taken. Renaming to asv is deliberately not added to The lint configuration for benchmarks/ rides in this commit because the Stack created with GitHub Stacks CLI • Give Feedback 💬
Sorry, something went wrong. Uh oh!
There was an error while loading. Please reload this page. All reactions
eriknw
marked this pull request as ready for review
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
0610f1d to
8120ea8
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
2 times, most recently
from
a9630c5 to
871707e
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
871707e to
48c0a37
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
48c0a37 to
0b7a63a
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
2 times, most recently
from
2241c0d to
f28bd3e
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
f28bd3e to
0a586c9
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
3 times, most recently
from
e469e6c to
ced8b66
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
ced8b66 to
80d325e
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
80d325e to
dfa59f3
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
dfa59f3 to
0510efb
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
0510efb to
3029f1c
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
3029f1c to
ea554c2
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
4 times, most recently
from
a3272da to
a1bfea7
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
a1bfea7 to
6168be8
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
2 times, most recently
from
3283cea to
a10ff8a
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
2 times, most recently
from
60cc74c to
c6677b0
Compare
eriknw
changed the base branch from
15-udt-division-semantics
to
11-udt-record-leaf-count
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
c6677b0 to
7d2e820
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
3 times, most recently
from
adcf4a4 to
f2b77a4
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
f2b77a4 to
6a525e3
Compare
eriknw
force-pushed
the
16-asv-benchmarks
branch
from
6a525e3 to
b0d1ee5
Compare
|
There was an error while loading. Please reload this page.
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@ ## 17-viz-fixes #596 +/- ## ================================================ + Coverage 98.26% 98.95% +0.68% ================================================ Files 109 109 Lines 34838 34838 Branches 3997 3997 ================================================ + Hits 34235 34474 +239 + Misses 340 234 -106 + Partials 263 130 -133 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
101 benchmarks over the library's hot paths: scalar access (getitem, get and contains on hit and miss, setitem), index parsing, small-op overhead on 10/100/1000-element objects, large kernels at ~1e6 nnz (mxm, mxv, ewise, reduce, single-threaded via OMP_NUM_THREADS=1), coo/dense/scipy conversions, cold import and first-use timings in fresh subprocesses, and repr costs. `benchmarks/_verify.py` is a standalone checker rather than an asv benchmark: it imports every module the way asv does and calls each benchmark once across all parameter combinations. It reports 101 passed, 0 failed, 0 skipped. No timing numbers are claimed; what this commit establishes is that the benchmarks exist and run. `asv.conf.json` uses `//` comments. That is asv's own documented config format and its loader strips them, but the repo's `check-json` hook is a strict JSON parser and rejects the file, so that one path is excluded from the hook and the hook's stale "no JSON files yet" comment is replaced. Verified with `pre-commit run check-json --all-files`, which passes. Two alternatives were considered and not taken. Renaming to `asv.conf.jsonc` needs no exclude and asv 0.6.5 does resolve it (`Config.load` accepts `.json` and `.jsonc`), but asv is not a pinned dependency here and older versions look only for the `.json` name, which would fail as "No `asv.conf` file found". Stripping the comments would delete the only explanation of why each setting is set as it is. The exclude names the single path, so every other JSON file is still checked. asv is deliberately not added to `dev-requirements.txt` or `environment.yml`. Nothing in the test suite or CI invokes it, and this repo ties dependency changes to `scripts/check_versions.sh` and the CI version pools, which a benchmarks-only change should not be editing. The README carries the `pip install asv` line and the reasoning. CI wiring is also left alone: a weekly cron on a fixed machine suits asv far better than per-PR runs on shared runners. The lint configuration for benchmarks/ rides in this commit because the directory it configures arrives here: flake8 and ruff ignore B015/B018 (a bare expression IS what an asv benchmark measures) and T201 for the benchmark CLI, and codespell learns "bu".
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.