Split DepGraph::read_index in two.#153800
Conversation
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Split `DepGraph::read_index` in two.
This comment has been minimized.
This comment has been minimized.
`DepGraph::read_index` is a reasonably large function and it is currently inlined into `query_get_at` which is very hot and instantiated many times. The compiler becomes smaller and faster if we inline only the outermost check. (This check always fails in non-incremental builds and always succeeds in incremental builds). Note: this pattern of having a method in `DepGraph` and another one with the same name in `DepGraphData` is well established, e.g. `try_mark_green`, `node_color`, `encode_side_effect`.
|
@bors try cancel |
|
Try build cancelled. Cancelled workflows: |
6002ce6 to
823d01e
Compare
|
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Split `DepGraph::read_index` in two.
This comment has been minimized.
This comment has been minimized.
|
Finished benchmarking commit (e9658c4): comparison URL. Overall result: ❌✅ regressions and improvements - please read the text belowBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. Next Steps: If you can justify the regressions found in this try perf run, please do so in sufficient writing along with @bors rollup=never Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)Results (primary -2.5%, secondary 0.3%)A less reliable metric. May be of interest, but not used to determine the overall result above.
CyclesResults (secondary -2.8%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 482.458s -> 478.131s (-0.90%) |
DepGraph::read_indexis a reasonably large function and it is currently inlined intoquery_get_atwhich is very hot and instantiated many times.The compiler becomes smaller and faster if we inline only the outermost check. (This check always fails in non-incremental builds and always succeeds in incremental builds).
Note: this pattern of having a method in
DepGraphand another one with the same name inDepGraphDatais well established, e.g.try_mark_green,node_color,encode_side_effect.