Skip to content

Commit 3dec0eb

Browse files
committed
Review changes
1 parent 6e3d1b1 commit 3dec0eb

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

surveys/micro/2025-06-compiler-performance.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -67,28 +67,29 @@ Type: select all that apply (optional)
6767
- On a remote or cloud server
6868
- Other (open response)
6969

70-
### Which compilation workflows are the most important to you?
70+
### Which development workflows limit your productivity?
7171

72-
Please rate how important are the following compilation workflows to you, and how much do you currently struggle with their performance currently.
72+
Please rate how much do you struggle with compiler performance in the following development workflows.
7373

7474
Type: matrix (optional)
7575

7676
Workflows:
7777

78-
- Unoptimized rebuild (change code, rebuild without optimizations)
79-
- Optimized rebuild (change code, rebuild with optimizations)
80-
- Workspace rebuild (change a crate which causes multiple other crates in your workspace to be rebuilt)
81-
- Clean unoptimized build (build a crate graph from scratch)
82-
- Clean optimized build (build a crate graph from scratch)
83-
- Build in a CI workflow
78+
- Unoptimized rebuilds (change code, rebuild without optimizations)
79+
- Optimized rebuilds (change code, rebuild with optimizations)
80+
- Workspace rebuilds (change a crate which causes multiple other crates in your workspace to be rebuilt)
81+
- Clean unoptimized builds (build a crate graph from scratch)
82+
- Clean optimized builds (build a crate graph from scratch)
83+
- CI (Continuous Integration) builds
84+
- Docker builds
8485

8586
Priority:
8687

87-
- Not so important for me
88-
- Important, compile times are acceptable for me
89-
- Important, compile times are a blocker for me
88+
- Big problem for me
89+
- Could be improved, but does not limit me
90+
- Not an issue for me at all
9091

91-
### Do you have any other Rust development workflow that you would like to mention?
92+
### Do you have any other Rust development workflows that you would like to mention?
9293

9394
Type: open response (optional)
9495

@@ -150,9 +151,9 @@ Commands:
150151

151152
Priority:
152153

153-
- Not a problem for me
154-
- Could be improved
155-
- Big blocker for me
154+
- Big problem for me
155+
- Could be improved, but does not limit me
156+
- Not an issue for me at all
156157

157158
## Workarounds
158159

@@ -167,13 +168,13 @@ Type: select all that apply (optional)
167168
- Cranelift codegen backend (e.g. set `codegen-backend = "cranelift"` in `Cargo.toml`)
168169
- Alternative linker (e.g. `lld`/`mold`/`wild`)
169170
- Caching compiler wrapper (e.g. `sccache`)
170-
- Share `target` directory amongst multiple projects (with `CARGO_TARGET_DIR`)
171+
- Share `target` directory amongst multiple projects (e.g. with `CARGO_TARGET_DIR`)
171172
- Split crates into smaller crates
172173
- Reduce the amount of dependencies
173174
- Disable default Cargo features of dependencies
174175
- Create a Cargo feature that makes certain dependencies (or their features) optional
175176
- Reduce usage of procedural macros
176-
- Reduce usage of generic code (e.g. by converting it to use `dyn Trait` instead)
177+
- Reduce usage of generic code (e.g. by converting it to `dyn Trait` instead)
177178
- Merge integration tests into a single binary
178179
- Something else (open response)
179180

@@ -189,7 +190,7 @@ Type: select all that apply (optional)
189190

190191
### Do you use a global `config.toml` override?
191192

192-
You can create a `config.toml` file in your `CARGO_HOME` directory (e.g. `~/.cargo/config.toml`) which can be used to apply certain compilation settings (e.g. using a faster linker) across all Cargo projects on your computer.
193+
You can create a `config.toml` file in your `CARGO_HOME` directory (e.g. `~/.cargo/config.toml`) which can be used to apply certain compilation settings (e.g. using a faster linker) across all Cargo projects on your computer. Do you make use of this?
193194

194195
Type: select one (optional)
195196

@@ -198,7 +199,7 @@ Type: select one (optional)
198199

199200
### Do you use a nightly compiler to achieve better compilation performance?
200201

201-
Please answer `Yes` if you use the `nightly` toolchain primarily for achieving better compilation performance, not for other reasons.
202+
Please answer `Yes` only if you use the `nightly` toolchain primarily for achieving better compilation performance, not for other reasons.
202203

203204
Type: select one (optional)
204205

@@ -229,7 +230,7 @@ Type: select one (optional)
229230
- Often (e.g. multiple times per day)
230231
- Almost always (e.g. after almost every build)
231232

232-
### Do you require unoptimized builds to be debuggable by default?
233+
### Do you require unoptimized builds to have debuginfo by default?
233234

234235
`cargo build` with the default `dev` profile produces full debug information (debuginfo) by default. This enables debugging using a debugger, but it can also make compilation times slower (by varying amounts, e.g. 30%). In order to improve compilation performance, this debuginfo could be lowered e.g. to `line-tables-only` by default, which still enables rich backtrace information, but does not allow proper debugging.
235236

0 commit comments

Comments
 (0)