I made a build visualizer to understand Bun’s compile times
57 points by lalitm
57 points by lalitm
Great article, but...
In the middle of Bun’s CI build, I found commands asking the public internet for the machine’s IP address, inspecting running Docker containers and reading the latest Git commit message.
oh my
Those all seem like reasonable things to check in CI, no? Not all builds ever, but CI builds specifically.
Great blog post. Clicked around and realized the connection to Perfetto, one of the all-time great tools. I don't think I'd be anywhere near as eager to profile my systems without it; being able to pop a trace into the browser afterwards is so nice compared to what came before. Very much satisfies the "do one thing and do it well" ethos of dev tooling.
Thank you for the kind words about Perfetto! I'm glad that you've found it useful over the years, it's always nice to hear things like this from our users (we rarely do so)!
Wanted to say thanks for Perfetto as well. We let people export their nextest test runs as Perfetto traces, which is very helpful at debugging slow test runs.
This article says that the Zig version had full LTO while Rust version has ThinLTO. Meanwhile, Anthropic claims switching to Rust provided a 2-5% performance boost due to the Zig version not having LTO, and the Rust version having LTO.
due to the Zig version not having LTO, and the Rust version having LTO.
Perhaps I'm just blind, but while I see the post says Rust supports cross-language LTO with C/C++, I didn't see anything about the Zig version not using LTO, let alone attributing the performance difference to that. Could you quote the relevant part?
Literally the first sentence that I linked to
And as I said, I saw that part, but that's just a statement about something Rust can do. It doesn't say that the Zig version didn't have/use the same capability, cross-language or otherwise, let alone attribute the performance difference to that.
This is really cool. I'm excited to try it out on my rust projects!
OK one thing I realized: I do my Rust builds inside a Docker container for "Reasons :tm:" and buildprof can't see inside the container so it just shows up as one long "shell" command. This is obvious in hindsight but I was briefly confused why I wasn't seeing more detail XD
Jarred was already writing slop well before he had access to LLMs
- A. Kelly
I feel there's quite an overlap between vibecoders today and those who produced slop pre-llm.
Confirmation bias based opinion: people who wrote bad code pre-llm can't identify slop as being bad code. The success measure is "does it appear to work".