rust/src
bors 917b0b6c70 Auto merge of #111562 - clubby789:speedup-bootstrap-py, r=jyn514
Improve startup time of bootstrap

~~If the user has a `build/host` symlink set up, we can determine the target triple by reading it rather than invoking rustc. This significantly reduces startup time of bootstrap once any kind of build has been done~~
New approach explained below
```
➜  hyperfine -p 'git checkout -q master' -N './x.py -h' -r 50
Benchmark 1: ./x.py -h
  Time (mean ± σ):     140.7 ms ±   2.6 ms    [User: 99.9 ms, System: 39.3 ms]
  Range (min … max):   136.8 ms … 149.6 ms    50 runs

➜  rust git:(master) hyperfine -p 'git checkout -q speedup-bootstrap-py' -N './x.py -h' -r 50
Benchmark 1: ./x.py -h
  Time (mean ± σ):      95.2 ms ±   1.5 ms    [User: 67.7 ms, System: 26.7 ms]
  Range (min … max):    92.9 ms …  99.6 ms    50 runs
```

Also a small microoptimisation in using string splitting rather than regex when reading toml, which saves a few more milliseconds (2-5 testing locally), but less important.

Profiling shows the remaining runtime is around half setting up the Python runtime, and the vast majority of the remaining time is spent in subprocess building and running bootstrap itself, so probably can't be improved much further.
2023-05-26 11:52:25 +00:00
..
bootstrap Auto merge of #111562 - clubby789:speedup-bootstrap-py, r=jyn514 2023-05-26 11:52:25 +00:00
ci Auto merge of #111575 - alex:patch-1, r=pietroalbini 2023-05-25 03:21:28 +00:00
doc Rollup merge of #111152 - lukas-code:markdown-parsers-are-hard, r=GuillaumeGomez 2023-05-25 13:57:59 -07:00
etc Auto merge of #111566 - clubby789:bootstrap-override-config, r=ozkanonur 2023-05-24 10:56:34 +00:00
librustdoc Auto merge of #111512 - petrochenkov:microdoc2, r=GuillaumeGomez 2023-05-25 14:00:31 +00:00
llvm-project@533d3f338b Update to LLVM 16.0.4 2023-05-17 10:35:12 +02:00
rustdoc-json-types Verify that ItemEnum can be serialized and then deserialized using bincode 2023-05-22 18:26:20 +01:00
tools Auto merge of #111858 - clubby789:fluent-alphabetical, r=jyn514,compiler-errors 2023-05-26 03:31:04 +00:00
README.md Remove stale reference to the test suite location 2023-01-13 11:49:06 +00:00
stage0.json bump stage0 2023-04-28 08:47:55 -07:00
version bump to rust 1.71.0 2023-04-15 12:29:51 +02:00

This directory contains some source code for the Rust project, including:

  • The bootstrapping build system
  • Various submodules for tools, like cargo, tidy, etc.

For more information on how various parts of the compiler work, see the rustc dev guide.