<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_data_structures/src/sync, branch perf-tmp</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=perf-tmp'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-06-22T15:35:36+00:00</updated>
<entry>
<title>Rollup merge of #142868 - klensy:dc, r=oli-obk</title>
<updated>2025-06-22T15:35:36+00:00</updated>
<author>
<name>Guillaume Gomez</name>
<email>guillaume1.gomez@gmail.com</email>
</author>
<published>2025-06-22T15:35:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f1fa46d3ba5322cc49c0eadf4afb0844998ca7db'/>
<id>urn:sha1:f1fa46d3ba5322cc49c0eadf4afb0844998ca7db</id>
<content type='text'>
remove few allow(dead_code)

Few from serial/parallel compiler leftovers and few from bootstrap.
</content>
</entry>
<entry>
<title>remove allow(dead_code) leftovers from serial/parallel compiler</title>
<updated>2025-06-22T10:05:09+00:00</updated>
<author>
<name>klensy</name>
<email>klensy@users.noreply.github.com</email>
</author>
<published>2025-06-22T10:05:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2ddbe39bfb2fd906ade40d622c0135c3d4bfbad0'/>
<id>urn:sha1:2ddbe39bfb2fd906ade40d622c0135c3d4bfbad0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use `rustc_thread_pool` instead of `rustc-rayon-core`</title>
<updated>2025-06-11T19:26:42+00:00</updated>
<author>
<name>Celina G. Val</name>
<email>celinval@amazon.com</email>
</author>
<published>2025-06-11T18:45:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4aa62ea9e9015621969a0f505abf7a6894e99e9e'/>
<id>urn:sha1:4aa62ea9e9015621969a0f505abf7a6894e99e9e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use thread local dep graph encoding</title>
<updated>2025-05-01T08:20:31+00:00</updated>
<author>
<name>John Kåre Alsaker</name>
<email>john.kare.alsaker@gmail.com</email>
</author>
<published>2025-04-11T19:27:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d3ec14bbec7d3647a3c1a3bfdf2cafb0f72bf937'/>
<id>urn:sha1:d3ec14bbec7d3647a3c1a3bfdf2cafb0f72bf937</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Drop AST on a separate thread and prefetch `hir_crate`</title>
<updated>2025-04-29T12:03:07+00:00</updated>
<author>
<name>John Kåre Alsaker</name>
<email>john.kare.alsaker@gmail.com</email>
</author>
<published>2024-03-02T17:32:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ef9403371f2d4759cd7b0d0a276e63aae2ce68fe'/>
<id>urn:sha1:ef9403371f2d4759cd7b0d0a276e63aae2ce68fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #139011 - Zoxc:no-rayon-iters, r=oli-obk</title>
<updated>2025-04-11T07:34:27+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-04-11T07:34:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=81d8c747fbdb17775dc4e107ad7e430e61a4e751'/>
<id>urn:sha1:81d8c747fbdb17775dc4e107ad7e430e61a4e751</id>
<content type='text'>
Remove the use of Rayon iterators

This removes the use of Rayon iterators and the use of the `rustc-rayon` crate.  `rustc-rayon-core` is still used however.

In parallel loops, instead of a Rayon iterator a serial iterator are used to collect items into a `Vec` and we use a parallel loop over its elements using the new `par_slice` function which is built on `rustc-rayon-core`'s `join`.

This change makes it easier to bring `rustc-rayon-core` in-tree.

Tests using 7 threads:
&lt;table&gt;&lt;tr&gt;&lt;td rowspan="2"&gt;Benchmark&lt;/td&gt;&lt;td colspan="1"&gt;&lt;b&gt;Before&lt;/b&gt;&lt;/th&gt;&lt;td colspan="2"&gt;&lt;b&gt;After&lt;/b&gt;&lt;/th&gt;&lt;td colspan="1"&gt;&lt;b&gt;Before&lt;/b&gt;&lt;/th&gt;&lt;td colspan="2"&gt;&lt;b&gt;After&lt;/b&gt;&lt;/th&gt;&lt;td colspan="1"&gt;&lt;b&gt;Before&lt;/b&gt;&lt;/th&gt;&lt;td colspan="2"&gt;&lt;b&gt;After&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;Time&lt;/td&gt;&lt;td align="right"&gt;Time&lt;/td&gt;&lt;td align="right"&gt;%&lt;/th&gt;&lt;td align="right"&gt;Physical Memory&lt;/td&gt;&lt;td align="right"&gt;Physical Memory&lt;/td&gt;&lt;td align="right"&gt;%&lt;/th&gt;&lt;td align="right"&gt;Committed Memory&lt;/td&gt;&lt;td align="right"&gt;Committed Memory&lt;/td&gt;&lt;td align="right"&gt;%&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟣 &lt;b&gt;clap&lt;/b&gt;:check&lt;/td&gt;&lt;td align="right"&gt;0.4827s&lt;/td&gt;&lt;td align="right"&gt;0.4828s&lt;/td&gt;&lt;td align="right"&gt; 0.02%&lt;/td&gt;&lt;td align="right"&gt;201.23 MiB&lt;/td&gt;&lt;td align="right"&gt;201.31 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.04%&lt;/td&gt;&lt;td align="right"&gt;279.03 MiB&lt;/td&gt;&lt;td align="right"&gt;279.46 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.15%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟣 &lt;b&gt;hyper&lt;/b&gt;:check&lt;/td&gt;&lt;td align="right"&gt;0.1443s&lt;/td&gt;&lt;td align="right"&gt;0.1401s&lt;/td&gt;&lt;td align="right"&gt;💚  -2.91%&lt;/td&gt;&lt;td align="right"&gt;126.42 MiB&lt;/td&gt;&lt;td align="right"&gt;126.70 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.22%&lt;/td&gt;&lt;td align="right"&gt;199.79 MiB&lt;/td&gt;&lt;td align="right"&gt;199.99 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.10%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟣 &lt;b&gt;regex&lt;/b&gt;:check&lt;/td&gt;&lt;td align="right"&gt;0.3252s&lt;/td&gt;&lt;td align="right"&gt;0.3065s&lt;/td&gt;&lt;td align="right"&gt;💚  -5.78%&lt;/td&gt;&lt;td align="right"&gt;161.87 MiB&lt;/td&gt;&lt;td align="right"&gt;161.78 MiB&lt;/td&gt;&lt;td align="right"&gt; -0.05%&lt;/td&gt;&lt;td align="right"&gt;229.59 MiB&lt;/td&gt;&lt;td align="right"&gt;230.23 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.28%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟣 &lt;b&gt;syn&lt;/b&gt;:check&lt;/td&gt;&lt;td align="right"&gt;0.5845s&lt;/td&gt;&lt;td align="right"&gt;0.5876s&lt;/td&gt;&lt;td align="right"&gt; 0.53%&lt;/td&gt;&lt;td align="right"&gt;197.01 MiB&lt;/td&gt;&lt;td align="right"&gt;196.89 MiB&lt;/td&gt;&lt;td align="right"&gt; -0.06%&lt;/td&gt;&lt;td align="right"&gt;267.62 MiB&lt;/td&gt;&lt;td align="right"&gt;267.47 MiB&lt;/td&gt;&lt;td align="right"&gt; -0.06%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Total&lt;/td&gt;&lt;td align="right"&gt;1.5367s&lt;/td&gt;&lt;td align="right"&gt;1.5169s&lt;/td&gt;&lt;td align="right"&gt;💚  -1.29%&lt;/td&gt;&lt;td align="right"&gt;686.53 MiB&lt;/td&gt;&lt;td align="right"&gt;686.68 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.02%&lt;/td&gt;&lt;td align="right"&gt;976.04 MiB&lt;/td&gt;&lt;td align="right"&gt;977.14 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.11%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Summary&lt;/td&gt;&lt;td align="right"&gt;1.0000s&lt;/td&gt;&lt;td align="right"&gt;0.9796s&lt;/td&gt;&lt;td align="right"&gt;💚  -2.04%&lt;/td&gt;&lt;td align="right"&gt;1 byte&lt;/td&gt;&lt;td align="right"&gt;1.00 bytes&lt;/td&gt;&lt;td align="right"&gt; 0.04%&lt;/td&gt;&lt;td align="right"&gt;1 byte&lt;/td&gt;&lt;td align="right"&gt;1.00 bytes&lt;/td&gt;&lt;td align="right"&gt; 0.12%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table&gt;&lt;tr&gt;&lt;td rowspan="2"&gt;Benchmark&lt;/td&gt;&lt;td colspan="1"&gt;&lt;b&gt;Before&lt;/b&gt;&lt;/th&gt;&lt;td colspan="2"&gt;&lt;b&gt;After&lt;/b&gt;&lt;/th&gt;&lt;td colspan="1"&gt;&lt;b&gt;Before&lt;/b&gt;&lt;/th&gt;&lt;td colspan="2"&gt;&lt;b&gt;After&lt;/b&gt;&lt;/th&gt;&lt;td colspan="1"&gt;&lt;b&gt;Before&lt;/b&gt;&lt;/th&gt;&lt;td colspan="2"&gt;&lt;b&gt;After&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;Time&lt;/td&gt;&lt;td align="right"&gt;Time&lt;/td&gt;&lt;td align="right"&gt;%&lt;/th&gt;&lt;td align="right"&gt;Physical Memory&lt;/td&gt;&lt;td align="right"&gt;Physical Memory&lt;/td&gt;&lt;td align="right"&gt;%&lt;/th&gt;&lt;td align="right"&gt;Committed Memory&lt;/td&gt;&lt;td align="right"&gt;Committed Memory&lt;/td&gt;&lt;td align="right"&gt;%&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟠 &lt;b&gt;clap&lt;/b&gt;:debug&lt;/td&gt;&lt;td align="right"&gt;1.6371s&lt;/td&gt;&lt;td align="right"&gt;1.6529s&lt;/td&gt;&lt;td align="right"&gt; 0.96%&lt;/td&gt;&lt;td align="right"&gt;395.58 MiB&lt;/td&gt;&lt;td align="right"&gt;396.21 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.16%&lt;/td&gt;&lt;td align="right"&gt;460.98 MiB&lt;/td&gt;&lt;td align="right"&gt;461.52 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.12%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟠 &lt;b&gt;hyper&lt;/b&gt;:debug&lt;/td&gt;&lt;td align="right"&gt;0.3248s&lt;/td&gt;&lt;td align="right"&gt;0.3210s&lt;/td&gt;&lt;td align="right"&gt;💚  -1.16%&lt;/td&gt;&lt;td align="right"&gt;155.16 MiB&lt;/td&gt;&lt;td align="right"&gt;155.19 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.02%&lt;/td&gt;&lt;td align="right"&gt;219.21 MiB&lt;/td&gt;&lt;td align="right"&gt;219.30 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.04%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟠 &lt;b&gt;regex&lt;/b&gt;:debug&lt;/td&gt;&lt;td align="right"&gt;1.0148s&lt;/td&gt;&lt;td align="right"&gt;0.9929s&lt;/td&gt;&lt;td align="right"&gt;💚  -2.16%&lt;/td&gt;&lt;td align="right"&gt;297.96 MiB&lt;/td&gt;&lt;td align="right"&gt;295.07 MiB&lt;/td&gt;&lt;td align="right"&gt; -0.97%&lt;/td&gt;&lt;td align="right"&gt;354.53 MiB&lt;/td&gt;&lt;td align="right"&gt;351.58 MiB&lt;/td&gt;&lt;td align="right"&gt; -0.83%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;🟠 &lt;b&gt;syn&lt;/b&gt;:debug&lt;/td&gt;&lt;td align="right"&gt;1.3614s&lt;/td&gt;&lt;td align="right"&gt;1.3717s&lt;/td&gt;&lt;td align="right"&gt; 0.76%&lt;/td&gt;&lt;td align="right"&gt;319.10 MiB&lt;/td&gt;&lt;td align="right"&gt;321.19 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.65%&lt;/td&gt;&lt;td align="right"&gt;378.90 MiB&lt;/td&gt;&lt;td align="right"&gt;381.27 MiB&lt;/td&gt;&lt;td align="right"&gt; 0.62%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Total&lt;/td&gt;&lt;td align="right"&gt;4.3381s&lt;/td&gt;&lt;td align="right"&gt;4.3386s&lt;/td&gt;&lt;td align="right"&gt; 0.01%&lt;/td&gt;&lt;td align="right"&gt;1.14 GiB&lt;/td&gt;&lt;td align="right"&gt;1.14 GiB&lt;/td&gt;&lt;td align="right"&gt; -0.01%&lt;/td&gt;&lt;td align="right"&gt;1.38 GiB&lt;/td&gt;&lt;td align="right"&gt;1.38 GiB&lt;/td&gt;&lt;td align="right"&gt; 0.00%&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Summary&lt;/td&gt;&lt;td align="right"&gt;1.0000s&lt;/td&gt;&lt;td align="right"&gt;0.9960s&lt;/td&gt;&lt;td align="right"&gt; -0.40%&lt;/td&gt;&lt;td align="right"&gt;1 byte&lt;/td&gt;&lt;td align="right"&gt;1.00 bytes&lt;/td&gt;&lt;td align="right"&gt; -0.03%&lt;/td&gt;&lt;td align="right"&gt;1 byte&lt;/td&gt;&lt;td align="right"&gt;1.00 bytes&lt;/td&gt;&lt;td align="right"&gt; -0.01%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
</content>
</entry>
<entry>
<title>Remove the use of Rayon iterators</title>
<updated>2025-04-10T20:05:06+00:00</updated>
<author>
<name>John Kåre Alsaker</name>
<email>john.kare.alsaker@gmail.com</email>
</author>
<published>2025-03-26T23:19:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=02f10d9bfe41c6c6650f72965d74f27e92dc3986'/>
<id>urn:sha1:02f10d9bfe41c6c6650f72965d74f27e92dc3986</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix "still mutable" ice while metrics are enabled</title>
<updated>2025-04-08T22:00:37+00:00</updated>
<author>
<name>Jane Losare-Lusby</name>
<email>jlusby@yaah.dev</email>
</author>
<published>2025-04-07T21:26:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6f5501583557d2d918cd42fab3f99ad153152afd'/>
<id>urn:sha1:6f5501583557d2d918cd42fab3f99ad153152afd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `unreachable_pub` to `RUSTC_LINT_FLAGS` for `compiler/` crates.</title>
<updated>2025-03-11T02:14:21+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-03-11T00:51:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=55505ab1d3da2ad201303674cb6d3ebeb53e395d'/>
<id>urn:sha1:55505ab1d3da2ad201303674cb6d3ebeb53e395d</id>
<content type='text'>
And fix the new errors in the handful of crates that didn't have a
`#![warn(unreachable_pub)]`.
</content>
</entry>
<entry>
<title>Revert "Use workspace lints for crates in `compiler/` #138084"</title>
<updated>2025-03-10T10:12:47+00:00</updated>
<author>
<name>许杰友 Jieyou Xu (Joe)</name>
<email>39484203+jieyouxu@users.noreply.github.com</email>
</author>
<published>2025-03-10T10:12:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=063ef18fdc10cb0eb49e1af855e1a8e807e73eed'/>
<id>urn:sha1:063ef18fdc10cb0eb49e1af855e1a8e807e73eed</id>
<content type='text'>
Revert &lt;https://github.com/rust-lang/rust/pull/138084&gt; to buy time to
consider options that avoids breaking downstream usages of cargo on
distributed `rustc-src` artifacts, where such cargo invocations fail due
to inability to inherit `lints` from workspace root manifest's
`workspace.lints` (this is only valid for the source rust-lang/rust
workspace, but not really the distributed `rustc-src` artifacts).

This breakage was reported in
&lt;https://github.com/rust-lang/rust/issues/138304&gt;.

This reverts commit 48caf81484b50dca5a5cebb614899a3df81ca898, reversing
changes made to c6662879b27f5161e95f39395e3c9513a7b97028.
</content>
</entry>
</feed>
