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

aio-libs / multidict / 37457449159
86%

Build:
DEFAULT BRANCH: master
Ran 06 Oct 2026 11:36AM UTC
Jobs 1
Files 49
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

06 Oct 2026 11:35AM UTC coverage: 85.961%. Remained the same
37457449159

push

github

web-flow
Move _md_reader_exit() out of line (#1700)

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

## What do these changes do?

Marks `_md_reader_exit()` `NOINLINE`. It ends every lock-free read on FT
builds and carries the rarely taken drain of retired tables; inlined
into each lookup it costs more than the call. Out of line, FT lookups
get up to 10 Ir cheaper. GIL builds do not have this function, and their
code is unchanged.

## Are there changes in behavior for the user?

No.

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

No.

## Related issue number

N/A

## Checklist

- [x] I think the code is well written
- [ ] Unit tests for the changes exist (N/A, no behavior change)
- [x] Documentation reflects the changes (N/A)
- [ ] If you provide code modification, please add yourself to
`CONTRIBUTORS.txt` (N/A)
- [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`

Drafted with Claude Code (Claude Opus 5.5); reviewed by @asvetlov.

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

`benchmarks/callgrind_driver.py --include-multidict-only`,
`PYTHONHASHSEED=0`, base 2db70d6b vs this branch, equal-length tree and
venv paths, GCC 15. Every row not listed moved by 0 Ir; 3.14.7 is
byte-identical. A base-to-base control on a second tree was identical.

| build | impl | operation | Ir/op delta |
| --- | --- | --- | --- |
| 3.14.7t | MultiDict | getitem_hit | -2 (-1.27%) |
| 3.14.7t | MultiDict | get_miss | -2 (-0.56%) |
| 3.14.7t | MultiDict | contains_hit | -4 (-2.74%) |
| 3.14.7t | MultiDict | getitem_istr | +5 (+0.61%) |
| 3.14.7t | CIMultiDict | getitem_hit | -8 (-3.15%) |
| 3.14.7t | CIMultiDict | get_miss | -2 (-0.54%) |
| 3.14.7t | CIMultiDict | contains_hit | -2 (-0.95%) |
| 3.14.7t | CIMultiDict | pop | -3 (-0.55%) |
| 3.14.7t | CIMultiDict | getitem_istr | -10 (-4.77%) |

`.text` on 3.14.7t: 249936 -> 250256 (+320 ... (continued)

793 of 1586 branches covered (50.0%)

Branch coverage included in aggregate %.

9353 of 10217 relevant lines covered (91.54%)

1.83 hits per line

Jobs
ID Job ID Ran Files Coverage
1 MyPy - 37457449159.1 06 Oct 2026 11:36AM UTC 98
85.96
GitHub Action Run
Source Files on build 37457449159
  • Tree
  • List 49
  • 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 #37457449159
  • e33f3ede on github
  • Prev Build on master (#37454066506)
  • Next Build on master (#37457516812)
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