@Arbitrary
@reddthat.comhttps://github.com/estebank/redpen
A Rust code linter. Contribute to estebank/redpen development by creating an account on GitHub.
https://kobzol.github.io/rust/cargo/2023/08/12/rust-llvm-optimization-remarks.html
TL;DR: This post describes LLVM optimization remarks that can useful to help the compiler better optimize your programs. If you want to analyze remarks generated from compiling Rust programs, you can use the cargo-remark tool.
https://blog.rust-lang.org/2023/08/07/Rust-Survey-2023-Results.html
Empowering everyone to build reliable and efficient software.
https://jmmv.dev/2023/08/rust-static-dispatch-failed-experiment.html
Initial versions of the EndBASIC Service, and therefore initial versions of EndTRACKER, used dynamic dispatch to support abstract definitions of system services such as the database they talk to and the clock they use. This looked like a bunch of Arc objects passed around and was done to support extremely fast unit testing. When I generalized the core logic of these services into the III-IV framework, I decided to experiment with a switch to static dispatch. The rationale was that using static dispatch better aligns with the design of well-regarded crates in the Rust ecosystem, and also because I wanted to avoid unnecessary runtime costs in the foundational pieces of my web services. Let me tell you that this decision was a huge mistake and that the experiment has utterly failed. Using static dispatch has been a constant source of frustration due to the difficulty in passing types around and reasoning about trait bounds. The situation had gotten so bad that I dreaded adding new functionality to my services whenever a change to a statically-typed struct was needed, because that meant adding yet another type parameter and plumbing it through tens of source files. In lieu of the difficulties, which eventually turned into blockers to implementing new features, I made the choice of going back to dynamic dispatch. The goal was to gain ergonomics at the expense of a supposedly-negligible runtime cost. Let me tell you about the problems I faced, the refactoring journey, and some measurements I gathered after the rewrite.
https://blog.rust-lang.org/2023/08/03/cve-2023-38497.html
Empowering everyone to build reliable and efficient software.
https://github.com/GyulyVGC/sniffnet/discussions/329
I’m excited to share with y’all that Sniffnet is one year old today! The last 365 days of my life have been almost totally dedicated to this project and I’ve learned a lot along the way. On August ...
https://nnethercote.github.io/2023/08/01/how-to-speed-up-the-rust-compiler-data-analysis-update.html
Last week I requested help with some data analysis of the Rust compiler.
https://ibraheem.ca/posts/a-lock-free-vector/
Designing a fast, lock-free vector.
https://bjorn3.github.io/2023/07/29/progress-report-july-2023.html
It has been quite a while since the last progress report. A ton of progress has been made since then, but I simply didn’t get around writing a new progress report. There have been 639 commits since the last progress report. This is significantly more than the last time given how long there has been since the last progress report. As such I skimmed the commit list to see what stood out to me. I may have missed some important things.
https://andreabergia.com/blog/2023/07/a-jvm-in-rust-part-3-parsing-class-files/
This post is part of the Writing a JVM in Rust series. I have written a JVM in Rust A JVM in Rust part 2 - The class files format A JVM in Rust part 3 - Parsing class files ⬅️ this post In this post, I will discuss how rjvm parses .class files. The code I will discuss today is contained in the reader crate.