From fc273e9bf2ab4594e8dcdb737b63bffb3f6b08c9 Mon Sep 17 00:00:00 2001 From: Aman Arora Date: Wed, 5 May 2021 15:57:08 -0400 Subject: Introduce -Zprofile-closures to evaluate the impact of 2229 This creates a CSV with name "closure_profile_XXXXX.csv", where the variable part is the process id of the compiler. To profile a cargo project you can run one of the following depending on if you're compiling a library or a binary: ``` cargo +stage1 rustc --lib -- -Zprofile-closures cargo +stage1 rustc --bin -- -Zprofile-closures ``` --- compiler/rustc_session/src/options.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'compiler/rustc_session/src') diff --git a/compiler/rustc_session/src/options.rs b/compiler/rustc_session/src/options.rs index e144c8f168e..4c40d0c367e 100644 --- a/compiler/rustc_session/src/options.rs +++ b/compiler/rustc_session/src/options.rs @@ -1209,6 +1209,8 @@ options! { "show backtraces for panics during proc-macro execution (default: no)"), profile: bool = (false, parse_bool, [TRACKED], "insert profiling code (default: no)"), + profile_closures: bool = (false, parse_no_flag, [UNTRACKED], + "profile size of closures"), profile_emit: Option = (None, parse_opt_pathbuf, [TRACKED], "file path to emit profiling data at runtime when using 'profile' \ (default based on relative source path)"), -- cgit 1.4.1-3-g733a5