Skip to content

Eagerly expand cfg/cfg_attr in pyclasses#6134

Open
mejrs wants to merge 3 commits into
PyO3:mainfrom
mejrs:cfg_eval
Open

Eagerly expand cfg/cfg_attr in pyclasses#6134
mejrs wants to merge 3 commits into
PyO3:mainfrom
mejrs:cfg_eval

Conversation

@mejrs

@mejrs mejrs commented Jun 13, 2026

Copy link
Copy Markdown
Member

Implements #5125 (comment)

It's just for enum variants and fields in enums/structs for now. We can expand to impl blocks and functions in the future.
It seems to work reasonably well actually, the main ugly part is handling of pyclass/pyo3 options because we need to parse them to figure out where the pyclass macro is. Thoughts on how to do this better are welcome.

There's also some code dealing with forwarding cfgs that we can remove in the future, in particular the check for empty enums is unreachable now I believe.

@codspeed-hq

codspeed-hq Bot commented Jun 13, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 10.74%

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
✅ 125 untouched benchmarks

Performance Changes

Benchmark BASE HEAD Efficiency
test_empty_class_init_py 11.7 µs 10.6 µs +10.74%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing mejrs:cfg_eval (03d922d) with main (5c6807d)

Open in CodSpeed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant