• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

aio-libs / multidict / 35976930328
86%

Build:
DEFAULT BRANCH: master
Ran 24 Sep 2026 08:44AM UTC
Jobs 1
Files 43
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

24 Sep 2026 08:43AM UTC coverage: 87.523%. Remained the same
35976930328

push

github

web-flow
Benchmark the shapes where an allocation is most of the work (#1556)

<!-- Thank you for your contribution! -->

## What do these changes do?

The registry measured every operation on a 200-item mapping. The
allocation an operation makes is a fixed cost, so at that size it was
divided across 200 entries and all but disappeared: `d.items()`
measured 1.7% faster under #1541 where it is in fact 46% faster, and
the shell pools looked marginal when they are not.

Six operations are added for the shapes where the allocation is most of
the work: `cls()`, `cls(items)` and `d.copy()` at 20 items, `d.items()`
and `iter(d)` taken without being consumed, and `Proxy(d)`. The last
needs a proxy type per implementation, so `Impl` gains `load_proxy` and
`Operation` a `proxy` flag, mirroring how `istr` already works.

The generated tables in `docs/benchmark.rst` are regenerated, so their
numbers also move to current `master`.

## Are there changes in behavior for the user?

No. Nothing outside `benchmarks/` and `docs/` changes.

## Is it a substantial burden for the maintainers to support this?

No. The new cases reuse the existing `Case` shape and the existing
runners; `callgrind_driver.py --self-check` covers them.

## Related issue number

None.

## Checklist

- [x] I think the code is well written
- [x] Unit tests for the changes exist — N/A, `benchmarks/` has no
suite; `--self-check` runs every cell
- [x] Documentation reflects the changes
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt` — N/A, already listed
- [x] Add a new news fragment into the `CHANGES/` folder
- [x] `make doc-spelling` passes and any new technical words are added
to `docs/spelling_wordlist.txt`

<details>
<summary>Agent run details (optional, for reviewers)</summary>

What the new cases say about the two shell-pool PRs, instructions per
operation, GIL build:

#1541 against its parent `130bd92`:

| operation | `MultiDict` | `CIMultiDict` |
| --- | ---: | ---: ... (continued)

767 of 1534 branches covered (50.0%)

Branch coverage included in aggregate %.

7440 of 7843 relevant lines covered (94.86%)

1.9 hits per line

Jobs
ID Job ID Ran Files Coverage
1 MyPy - 35976930328.1 24 Sep 2026 08:44AM UTC 86
87.52
GitHub Action Run
Source Files on build 35976930328
  • Tree
  • List 43
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #35976930328
  • da7729c4 on github
  • Prev Build on master (#35975771385)
  • Next Build on master (#35977043920)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc