mastouille.fr est l'un des nombreux serveurs Mastodon indépendants que vous pouvez utiliser pour participer au fédiverse.
Mastouille est une instance Mastodon durable, ouverte, et hébergée en France.

Administré par :

Statistiques du serveur :

582
comptes actifs

#rustlang

42 messages26 participants0 message aujourd’hui
David Runge<p>The new alpm-srcinfo crate in version 0.3.0 now supports creating <a href="https://chaos.social/tags/SRCINFO" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SRCINFO</span></a> files from <a href="https://chaos.social/tags/PKGUILD" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>PKGUILD</span></a> files (with the help of the new alpm-pkgbuild library) - thanks to <span class="h-card" translate="no"><a href="https://chaos.social/@Nukesor" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>Nukesor</span></a></span>. 📄 -&gt; ✅ </p><p><a href="https://crates.io/crates/alpm-srcinfo/0.3.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">crates.io/crates/alpm-srcinfo/</span><span class="invisible">0.3.0</span></a></p><p>See the list of changes:<br><a href="https://alpm.archlinux.page/alpm-srcinfo/CHANGELOG.html#030---2025-07-24" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">alpm.archlinux.page/alpm-srcin</span><span class="invisible">fo/CHANGELOG.html#030---2025-07-24</span></a></p><p><a href="https://chaos.social/tags/ArchLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ArchLinux</span></a> <a href="https://chaos.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://chaos.social/tags/Packaging" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Packaging</span></a> <a href="https://chaos.social/tags/ALPM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ALPM</span></a></p>
David Runge<p>The new alpm-pkgbuild crate by <span class="h-card" translate="no"><a href="https://chaos.social/@Nukesor" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>Nukesor</span></a></span> offers parsing access for the metadata contained in PKGBUILD files via a Bash based exporter script 📄</p><p><a href="https://crates.io/crates/alpm-pkgbuild/0.1.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">crates.io/crates/alpm-pkgbuild</span><span class="invisible">/0.1.0</span></a></p><p><a href="https://gitlab.archlinux.org/archlinux/alpm/alpm-pkgbuild-bridge" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">gitlab.archlinux.org/archlinux</span><span class="invisible">/alpm/alpm-pkgbuild-bridge</span></a></p><p><a href="https://chaos.social/tags/ArchLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ArchLinux</span></a> <a href="https://chaos.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://chaos.social/tags/Packaging" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Packaging</span></a> <a href="https://chaos.social/tags/ALPM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ALPM</span></a></p>
David Runge<p>The alpm-package crate in version 0.2.0 now allows to stream the contents of package files thanks to the awesome work of <span class="h-card" translate="no"><a href="https://fosstodon.org/@orhun" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>orhun</span></a></span> 📦</p><p><a href="https://crates.io/crates/alpm-package/0.2.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">crates.io/crates/alpm-package/</span><span class="invisible">0.2.0</span></a></p><p>See the list of changes:<br><a href="https://alpm.archlinux.page/alpm-package/CHANGELOG.html#020---2025-07-24" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">alpm.archlinux.page/alpm-packa</span><span class="invisible">ge/CHANGELOG.html#020---2025-07-24</span></a></p><p><a href="https://chaos.social/tags/ArchLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ArchLinux</span></a> <a href="https://chaos.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://chaos.social/tags/Packaging" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Packaging</span></a></p>
David Runge<p>The alpm-buildinfo and alpm-pkginfo crates in version 0.3.0 now make use of stricter version handling. ✅ </p><p><a href="https://crates.io/crates/alpm-buildinfo/0.3.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">crates.io/crates/alpm-buildinf</span><span class="invisible">o/0.3.0</span></a><br><a href="https://crates.io/crates/alpm-pkginfo/0.3.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">crates.io/crates/alpm-pkginfo/</span><span class="invisible">0.3.0</span></a></p><p>See the list of changes:<br><a href="https://alpm.archlinux.page/alpm-buildinfo/CHANGELOG.html#030---2025-07-24" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">alpm.archlinux.page/alpm-build</span><span class="invisible">info/CHANGELOG.html#030---2025-07-24</span></a><br><a href="https://alpm.archlinux.page/alpm-pkginfo/CHANGELOG.html#030---2025-07-24" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">alpm.archlinux.page/alpm-pkgin</span><span class="invisible">fo/CHANGELOG.html#030---2025-07-24</span></a></p><p><a href="https://chaos.social/tags/ArchLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ArchLinux</span></a> <a href="https://chaos.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://chaos.social/tags/Packaging" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Packaging</span></a></p>
David Runge<p>Yesterday we released another set of updates for the <a href="https://chaos.social/tags/ALPM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ALPM</span></a> crates. 🦀 </p><p>This also includes additional and updated specifications 📜 </p><p>The alpm-types crate in version 0.7.0 now has better handling for different types of versions. 📚 <br>This comes in handy in file formats and environments where version handling should be more strict/specific.</p><p><a href="https://crates.io/crates/alpm-types/0.7.0" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">crates.io/crates/alpm-types/0.</span><span class="invisible">7.0</span></a></p><p>See the list of changes:<br><a href="https://alpm.archlinux.page/alpm-types/CHANGELOG.html#070---2025-07-24" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">alpm.archlinux.page/alpm-types</span><span class="invisible">/CHANGELOG.html#070---2025-07-24</span></a></p><p><a href="https://chaos.social/tags/ArchLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ArchLinux</span></a> <a href="https://chaos.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://chaos.social/tags/Packaging" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Packaging</span></a></p>
EuroRust<p>This one will happen one day after the conference. So, if you’re extending your stay in Paris for the weekend, we’ll see you there! </p><p>🗓️ Saturday, October 11, 16:30–18:00</p><p>Book your spot ➡️ <a href="https://eurorust.eu/activities/street-art-tour/?utm_source=mastodon&amp;utm_medium=social&amp;utm_campaign=2025-07-24-side-activity-art" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">eurorust.eu/activities/street-</span><span class="invisible">art-tour/?utm_source=mastodon&amp;utm_medium=social&amp;utm_campaign=2025-07-24-side-activity-art</span></a> </p><p><a href="https://fosstodon.org/tags/EuroRust25" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EuroRust25</span></a> <a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/RustInParis" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustInParis</span></a> <a href="https://fosstodon.org/tags/StreetArt" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>StreetArt</span></a> <a href="https://fosstodon.org/tags/ParisUnderground" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ParisUnderground</span></a> <a href="https://fosstodon.org/tags/RustConference" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustConference</span></a></p>
Kat Marchán 🐈<p>I tried loco.rs</p><p>I will not be trying loco.rs again, unfortunately.</p><p><a href="https://toot.cat/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a> <a href="https://toot.cat/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Anisse<p>You'll find this benchmarking adventure in its own blog post "Performance lessons of implementing lbzcat in Rust" <a href="https://anisse.astier.eu/lbzip2-rs.html" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">anisse.astier.eu/lbzip2-rs.htm</span><span class="invisible">l</span></a></p><p><a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://social.treehouse.systems/tags/lbzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lbzip2</span></a> <a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/benchmarking" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>benchmarking</span></a> <a href="https://social.treehouse.systems/tags/performance" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>performance</span></a></p>
Anisse<p>That's it for the benchmarking! You can find my implementation at <a href="http://github.com/anisse/lbzip2-rs/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">http://</span><span class="">github.com/anisse/lbzip2-rs/</span><span class="invisible"></span></a> ; it's very much PoC-quality code, so use at our own risks! I chose to manually spawn threads instead of using rayon or an async runtime; there are other things I'm not proud of, like busy-waiting instead of condvar for example. 14/N</p><p><a href="https://social.treehouse.systems/tags/lbzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lbzip2</span></a> <a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://social.treehouse.systems/tags/async" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>async</span></a> <a href="https://social.treehouse.systems/tags/rayon" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rayon</span></a></p>
Anisse<p>What about <a href="https://github.com/anisse/lbzip2-rs/" rel="nofollow noopener noreferrer" target="_blank">my implementation of lbzcat</a>? It was designed to work with files generated by lbzip2: it does not work on some files compressed by bzip2, and silently produces incorrect output (!). So we'll limit benchmarking to files produced by lbzip2. 11/N</p><p><a href="https://social.treehouse.systems/tags/lbzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lbzip2</span></a> <a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Anisse<p>That gives us our baseline: bzip2 (in C) vs bzip2 (in Rust). But is it a fair enough comparison? I mentioned initially that I was implementing an lbzip2 "clone" (mostly a PoC for the decompression part). lbzip2 is an other program (a C binary, without a library), that can compress and decompress bzip2 files in parallel. Surely it should be slower than bzip2 since it has the parallel management overhead? 7/N</p><p><a href="https://social.treehouse.systems/tags/lbzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lbzip2</span></a> <a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://social.treehouse.systems/tags/perf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>perf</span></a></p>
Anisse<p>But why? Let's see what <code>perf stat</code> has to say: the Rust version has less instructions, but with much less IPC (Instruction-per-clock); the Rust version also has less branches <em>and</em> misses in general. On the efficiency cores, we see that worse IPC and branch prediction of the Rust version give the advantage to the C version. 6/N</p><p><a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://social.treehouse.systems/tags/perf" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>perf</span></a></p>
Anisse<p>So, let's start with the most obvious, the performance cores; they make the most sense for a CPU-intensive task; on my systems those are CPU 4-7. We can see here that the promise of the Trifecta Foundation holds, as the rust implementation is about 4% faster. 4/N</p><p><a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://social.treehouse.systems/tags/AsahiLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>AsahiLinux</span></a></p>
Anisse<p>First, let's look at the baseline. The <span class="h-card" translate="no"><a href="https://fosstodon.org/@trifectatech" class="u-url mention" rel="nofollow noopener noreferrer" target="_blank">@<span>trifectatech</span></a></span> foundation <a href="https://trifectatech.org/blog/bzip2-crate-switches-from-c-to-rust/" rel="nofollow noopener noreferrer" target="_blank">recently claimed that bzip2-rs had faster decompression than libbzip2's original C implementation</a>. Is this true? Well, it depends... 2/N</p><p><a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Anisse<p>For fun I implemented lbzip2's <a href="https://github.com/anisse/lbzip2-rs/" rel="nofollow noopener noreferrer" target="_blank">lbzcat (parallel bzip2 decompression) clone in rust</a>, using the bzip2 crate. I found a lot of different interesting things. 1/N</p><p><a href="https://social.treehouse.systems/tags/lbzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>lbzip2</span></a> <a href="https://social.treehouse.systems/tags/bzip2" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>bzip2</span></a> <a href="https://social.treehouse.systems/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a></p>
Matthias Endler<p>Season 4 of the Rust in Production podcast is a wrap! 🎉</p><p>We had amazing guests from Microsoft, Astral, and more, discussing Rust's role in foundational software.</p><p>We collected our favorite quotes from this season in our season finale!</p><p><a href="https://corrode.dev/podcast/s04e08-season-finale/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">corrode.dev/podcast/s04e08-sea</span><span class="invisible">son-finale/</span></a></p><p><a href="https://mastodon.social/tags/rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rust</span></a> <a href="https://mastodon.social/tags/rustlang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>rustlang</span></a> <a href="https://mastodon.social/tags/podcast" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>podcast</span></a></p>
EuroRust<p>Extend your stay in Paris after the conference</p><p>🗓️ Saturday, October 11, 14:30–16:45</p><p>Reserve your spot ➡️ <a href="https://eurorust.eu/activities/movie-tour/?utm_source=mastodon&amp;utm_medium=social&amp;utm_campaign=2025-07-23-side-activity-movie" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">eurorust.eu/activities/movie-t</span><span class="invisible">our/?utm_source=mastodon&amp;utm_medium=social&amp;utm_campaign=2025-07-23-side-activity-movie</span></a> </p><p><a href="https://fosstodon.org/tags/EuroRust25" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>EuroRust25</span></a> <a href="https://fosstodon.org/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://fosstodon.org/tags/RustInParis" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustInParis</span></a> <a href="https://fosstodon.org/tags/Montmartre" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Montmartre</span></a> <a href="https://fosstodon.org/tags/MovieTour" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>MovieTour</span></a> <a href="https://fosstodon.org/tags/RustConference" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustConference</span></a></p>
Jacob Pratt<p>Between a combination of using `const` blocks and (primarily) intelligently omitting what code is emitted, I managed to cut the output of the `format_description!` macro in `time` by 65–70% for a typical use case. All other macros emit less code as well.</p><p>Nothing super flashy, but there will be a release of `time` relatively soon. It will include an MSRV bump to 1.81.0 (released 2024-09-05). It's first MSRV bump in two years. Some new types are under development.</p><p><a href="https://mastodon.social/tags/Rust" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>Rust</span></a> <a href="https://mastodon.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://mastodon.social/tags/programming" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>programming</span></a></p>
David Runge<p>I wrote a bit about the <a href="https://chaos.social/tags/ALPM" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ALPM</span></a> <a href="https://chaos.social/tags/documentation" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>documentation</span></a>:</p><p><a href="https://devblog.archlinux.page/2025/specifications/" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">devblog.archlinux.page/2025/sp</span><span class="invisible">ecifications/</span></a></p><p><a href="https://chaos.social/tags/ArchLinux" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>ArchLinux</span></a> <a href="https://chaos.social/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> <a href="https://chaos.social/tags/SovereignTechFund" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>SovereignTechFund</span></a></p>
all-inclusive gender resort<p>The <a href="https://crabby.fyi/tags/RustLang" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>RustLang</span></a> project is now a CNA 🎉 </p><p><a href="https://www.cve.org/Media/News/item/news/2025/07/22/The-Rust-Project-Added-as-CNA" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">cve.org/Media/News/item/news/2</span><span class="invisible">025/07/22/The-Rust-Project-Added-as-CNA</span></a></p>