rust/compiler/rustc_incremental/src/persist
bors 4563f70c3b Auto merge of #122070 - Zoxc:dep-edges-from-previous, r=cjgillot
Encode dep graph edges directly from the previous graph when promoting

This encodes dep graph edges directly from the previous graph when promoting nodes from a previous session, avoiding allocations / copies.

~~Based on https://github.com/rust-lang/rust/pull/122064 and https://github.com/rust-lang/rust/pull/116375.~~

<table><tr><td rowspan="2">Benchmark</td><td colspan="1"><b>Before</b></th><td colspan="2"><b>After</b></th></tr><tr><td align="right">Time</td><td align="right">Time</td><td align="right">%</th></tr><tr><td>🟣 <b>clap</b>:check:unchanged</td><td align="right">0.4177s</td><td align="right">0.4072s</td><td align="right">💚  -2.52%</td></tr><tr><td>🟣 <b>hyper</b>:check:unchanged</td><td align="right">0.1430s</td><td align="right">0.1420s</td><td align="right"> -0.69%</td></tr><tr><td>🟣 <b>regex</b>:check:unchanged</td><td align="right">0.3106s</td><td align="right">0.3038s</td><td align="right">💚  -2.19%</td></tr><tr><td>🟣 <b>syn</b>:check:unchanged</td><td align="right">0.5823s</td><td align="right">0.5688s</td><td align="right">💚  -2.33%</td></tr><tr><td>🟣 <b>syntex_syntax</b>:check:unchanged</td><td align="right">1.3992s</td><td align="right">1.3692s</td><td align="right">💚  -2.14%</td></tr><tr><td>Total</td><td align="right">2.8528s</td><td align="right">2.7910s</td><td align="right">💚  -2.17%</td></tr><tr><td>Summary</td><td align="right">1.0000s</td><td align="right">0.9803s</td><td align="right">💚  -1.97%</td></tr></table>
2024-04-05 11:11:17 +00:00
..
fs Removed stable/unstable sort arg from into_sorted_stable_ord, fixed a few misc issues, added collect to UnordItems 2023-06-08 00:38:50 -04:00
data.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
dirty_clean.rs Auto merge of #122721 - oli-obk:merge_queries, r=davidtwco 2024-03-25 01:33:46 +00:00
file_format.rs Report I/O errors with emit_fatal not emit_err 2024-01-02 07:31:02 -05:00
fs.rs Make incremental sessions identity no longer depend on the crate names provided by source code 2024-03-13 16:40:02 +01:00
load.rs Encode dep graph edges directly from the previous graph when promoting 2024-03-23 20:03:55 +01:00
mod.rs Reduce exposure of three functions used only within rustc_incremental. 2023-10-26 08:46:10 +11:00
README.md mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
save.rs Encode dep graph edges directly from the previous graph when promoting 2024-03-23 20:03:55 +01:00
work_product.rs Rename {create,emit}_warning as {create,emit}_warn. 2024-01-10 07:33:06 +11:00

For info on how the incremental compilation works, see the rustc dev guide.