about summary refs log tree commit diff
path: root/compiler/rustc_expand/src/stats.rs
AgeCommit message (Collapse)AuthorLines
2025-08-09remove `P`Deadbeef-2/+1
2025-06-24Tweak `-Zmacro-stats` measurement.Nicholas Nethercote-18/+10
It currently reports net size, i.e. size(output) - size(input). After some use I think this is sub-optimal, and it's better to just report size(output). Because for derive macros the input size is always 1, and for attribute macros it's almost always 1.
2025-06-12Introduce `-Zmacro-stats`.Nicholas Nethercote-0/+171
It collects data about macro expansions and prints them in a table after expansion finishes. It's very useful for detecting macro bloat, especially for proc macros. Details: - It measures code snippets by pretty-printing them and then measuring lines and bytes. This required a bunch of additional pretty-printing plumbing, in `rustc_ast_pretty` and `rustc_expand`. - The measurement is done in `MacroExpander::expand_invoc`. - The measurements are stored in `ExtCtxt::macro_stats`.