Avatar for the aio-libs user
aio-libs
multidict
BlogDocsChangelog

Performance History

Latest Results

Turn md_watch_pending() into MD_WATCH_PENDING() (#1808) <!-- Thank you for your contribution! --> ## What do these changes do? Turns the one-line `static inline` helper `md_watch_pending()` into the macro `MD_WATCH_PENDING()`, matching `MD_WATCH_FLUSH_IF()` from #1807 that it pairs with. Every caller passes a plain variable or a cast, so evaluating `md` twice is safe. The pure-Python backend is unaffected. ## Are there changes in behavior for the user? No. ## Is it a substantial burden for the maintainers to support this? No; one trivial helper turned into a macro. ## Related issue number Follows up #1807. ## Checklist - [x] I think the code is well written - [ ] Unit tests for the changes exist (N/A, existing watcher tests cover these paths) - [ ] 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> Tests: `pytest -q` with the C extension on 3.11.4 (4274 passed) and 3.14.7t (4255 passed); `MULTIDICT_NO_EXTENSIONS=1 pytest -q --no-c-extensions` on 3.11.4 (1697 passed). Inlining: `tools/check_inlining.py` on 3.14.7 and 3.14.7t, ok. Docs: `make doc-spelling` passed. </details>
master
23 hours ago
Add callgrind numbers to the news fragment
asvetlov:claude/reflist-push3-75e078
2 days ago
Add a news fragment
asvetlov:claude/md-del-at-deferred-by-kind-328a69
2 days ago
Turn md_watch_pending() into MD_WATCH_PENDING()
asvetlov:md-watch-pending-macro
2 days ago
Rename lowercase C macros to upper case, turn md_watch_flush_if() into a macro (#1807) <!-- Thank you for your contribution! --> ## What do these changes do? Renames the lowercase function-like macros in the C extension to upper case: `md_watch_record()` and `md_watch_record_simple()` became `MD_WATCH_RECORD()` and `MD_WATCH_RECORD_SIMPLE()`, and `_list_item_gone()` became `LIST_ITEM_GONE()` (it is used from `bulk_update.h` too, so the header-local underscore was wrong). The out-of-line function behind the watcher macro, `_md_watch_record()`, became `md_watch_record()`, since the macro expands into other headers. `md_watch_flush_if()` was a one-line `static inline` wrapper; it became the macro `MD_WATCH_FLUSH_IF()`, and the function it calls, `_md_watch_flush()`, became `md_watch_flush()` for the same reason. `list_getitem_ref()` keeps its name: it is a real function on FT builds. The pure-Python backend is unaffected. ## Are there changes in behavior for the user? No. ## Is it a substantial burden for the maintainers to support this? No; renames only, plus one trivial wrapper turned into a macro. ## Related issue number Follows up #1806. ## Checklist - [x] I think the code is well written - [ ] Unit tests for the changes exist (N/A, existing watcher tests cover these paths) - [ ] 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> Tests: `pytest -q` with the C extension on 3.11.4 (4274 passed) and 3.14.7t (4255 passed); `MULTIDICT_NO_EXTENSIONS=1 pytest -q --no-c-extensions` on 3.11.4 (1697 passed). Inlining: `tools/check_inlining.py` on 3.14.7 and 3.14.7t, ok. Docs: `make doc-spelling` passed. </details>
master
2 days ago

Latest Branches

CodSpeed Performance Gauge
0%
Add reflist_push3() for a key, value and identity#1809
2 days ago
5121154
asvetlov:claude/reflist-push3-75e078
CodSpeed Performance Gauge
0%
2 days ago
46e11c5
asvetlov:claude/md-del-at-deferred-by-kind-328a69
CodSpeed Performance Gauge
0%
Turn md_watch_pending() into MD_WATCH_PENDING()#1808
2 days ago
b56ebf5
asvetlov:md-watch-pending-macro
© 2026 CodSpeed Technology
Home Terms Privacy Docs