frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

I Made a Realtime C/C++ Build Visualizer

https://danielchasehooper.com/posts/syscall-build-snooping/
71•dhooper•3h ago

Comments

bgirard•1h ago
That's really cool. Fascinating to think about all the problems that get missed due to poor or missing visualizations like this.

I did a lot of work to improve the Mozilla build system a decade ago where I would have loved this tool. Wish they would have said what problem they found.

dhooper•1h ago
(OP here) Thanks!

My call with the Mozilla engineer was cut short, so we didn't have time to go into detail about what he found, I want to look into it myself.

xuhu•1h ago
Is there a tool that records the timestamp of each executed command during a build, and when you rebuild, it tells you how much time is left instead of "building obj 35 out of 1023" ?

Or (for cmake or ninja) use a CSV that says how long each object takes to build and use it to estimate how much is left ?

dhooper•1h ago
OP Here. Thats an interesting idea. What The Fork knows all the commands run, and every path they read/write, so I should be able to make it estimate build time just by looking at what files were touched.
Surac•1h ago
but why? I have to admit it's a fun project
rvrb•1h ago
here, I'll copy the first paragraph of TFA for you:

> Many software projects take a long time to compile. Sometimes that’s just due to the sheer amount of code, like in the LLVM project. But often a build is slower than it should be for dumb, fixable reasons.

corysama•1h ago
Looks like a general `fork()` visualizer to me. Which is great!
supportengineer•1h ago
Amazing! Great job!

What limits your tool to compiler/build tools, can it be used for any arbitrary process?

dhooper•1h ago
Thank you! Yeah it can be used for any type of program, but I haven't been able to think of anything besides compilation that creates enough processes to be interesting. I'm open to ideas!
DiddlyWinks•1h ago
Video encoding and 3-D rendering are a couple that come to mind; I'd think they'd launch quite a few.

This looks like a really cool tool!

Night_Thastus•1h ago
I am extremely interested in this.

I am stuck in an environment with CMake, GCC and Unix Make (no clang, no ninja) and getting detailed information about WHY the build is taking so long is nearly impossible.

It's also a bit of a messy build with steps like copying a bunch of files from the source into the build folder. Multiple languages (C, C++, Fortran, Python), custom cmake steps, etc.

If this tool can handle that kind of mess, I'll be very interested to see what I can learn.

aanet•1h ago
This is fabulous!!

Is there a version available for MacOS today?? I'd love to give it a whirl... For Rust, C++ / Swift and other stuff.

Thanks!

dhooper•1h ago
I'll be sending out the a macOS version to another wave of beta users after I fix an outstanding issue, if you sign up (at bottom of article) and mention this comment I can make sure you're in that wave.
aanet•1h ago
Thanks. Signed up
Night_Thastus•1h ago
It looks like it doesn't have a public release for any OS yet, but has a way to enter for early access.
mgaunard•1h ago
The real solution is to eliminate build systems where you have to define your own targets.

Developers always get it wrong and do it badly.

tiddles•1h ago
Nice, I’ve been looking for something like this for a while.

I’ve noticed on my huge catkin cmake project that cmake is checking the existence of the same files hundreds of times too. Is there anything that can hook into fork() and provide a cached value after the first invocation?

lights0123•57m ago
My tips for speeding up builds (from making this same project but with ebpf):

- switch to ninja to avoid that exact issue since CMake + Make spawns a subprocess for every directory (use the binary from PyPi for jobserver integration)

- catkin as in ROS? rm /opt/ros/noetic/etc/catkin/profile.d/99.roslisp.sh to remove 2 python spawns per package

brcmthrowaway•1h ago
What about OSes that dont use fork()?
dhooper•1h ago
I use whatever the equivalent is on that OS.
klik99•58m ago
Nice! Leaving a comment to easily find this later, dont have anything to add except this looks cool
boris•56m ago
> It also has 6 seconds of inactivity before starting any useful work. For comparison, ninja takes 0.4 seconds to start compiling the 2,468,083 line llvm project. Ninja is not a 100% fair comparison to other tools, because it benefits from some “baked in” build logic by the tool that created the ninja file, but I think it’s a reasonable “speed of light” performance benchmark for build systems.

This is an important observation that is often overlooked. What’s more, the changes to the information on which this “baked in” build logic is based is not tracked very precisely.

How close can we get to this “speed of light” without such “baking in”? I ran a little benchmark (not 100% accurate for various reasons but good enough as a general indication) which builds the same project (Xerces-C++) both with ninja as configured by CMake and with build2, which doesn’t require a separate step and does configuration management as part of the build (and with precise change tracking). Ninja builds this project from scratch in 3.23s while build2 builds it in 3.54s. If we omit some of the steps done by CMake (like generating config.h) by not cleaning the corresponding files, then the time goes down to 3.28s. For reference, the CMake step takes 4.83s. So a fully from-scratch CMake+ninja build actually takes 8s, which is what you would normally pay if you were using this project as a dependency.

remexre•40m ago
> What’s more, the changes to the information on which this “baked in” build logic is based is not tracked very precisely.

kbuild handles this on top of Make by having each target depend on a dummy file that gets updated when e.g. the CFLAGS change. It also treats Make a lot more like Ninja (e.g. avoiding putting the entire build graph into every Make process) -- I'd be interested to see how it compares.

forrestthewoods•18m ago
This is great. I was skeptical from the title but the implementation is very clever. This could be a super super useful tool for the industry.
kirito1337•4m ago
That's interesting.

Gemma 3 270M: Compact model for hyper-efficient AI

https://developers.googleblog.com/en/introducing-gemma-3-270m/
329•meetpateltech•3h ago•140 comments

Org-social is a decentralized social network that runs on Org Mode

https://github.com/tanrax/org-social
44•tanrax•1d ago•25 comments

How to rig elections [video]

https://media.ccc.de/v/why2025-218-how-to-rig-elections
29•todsacerdoti•8h ago•4 comments

New protein therapy shows promise as antidote for carbon monoxide poisoning

https://www.medschool.umaryland.edu/news/2025/new-protein-therapy-shows-promise-as-first-ever-antidote-for-carbon-monoxide-poisoning.html
185•breve•8h ago•43 comments

Architecting large software projects [video]

https://www.youtube.com/watch?v=sSpULGNHyoI
40•jackdoe•2d ago•13 comments

Blood oxygen monitoring returning to Apple Watch in the US

https://www.apple.com/newsroom/2025/08/an-update-on-blood-oxygen-for-apple-watch-in-the-us/
269•thm•6h ago•188 comments

I Made a Realtime C/C++ Build Visualizer

https://danielchasehooper.com/posts/syscall-build-snooping/
73•dhooper•3h ago•25 comments

What's the strongest AI model you can train on a laptop in five minutes?

https://www.seangoedecke.com/model-on-a-mbp/
411•ingve•2d ago•155 comments

All Souls exam questions and the limits of machine reasoning

https://resobscura.substack.com/p/all-souls-exam-questions-and-the
15•benbreen•23h ago•1 comments

Launch HN: Cyberdesk (YC S25) – Automate Windows legacy desktop apps

40•mahmoud-almadi•4h ago•25 comments

Reverse Proxy Deep Dive: Why Load Balancing at Scale Is Hard

https://startwithawhy.com/reverseproxy/2025/08/08/ReverseProxy-Deep-Dive-Part4.html
13•miggy•3d ago•1 comments

Axle (YC S22) is hiring product engineers

https://www.ycombinator.com/companies/axle/jobs/8wAy0QH-product-engineer
1•niharparikh•3h ago

Show HN: I built a free alternative to Adobe Acrobat PDF viewer

https://github.com/embedpdf/embed-pdf-viewer
84•bobsingor•4h ago•21 comments

"Privacy preserving age verification" is bullshit

https://pluralistic.net/2025/08/14/bellovin/
105•Refreeze5224•2h ago•46 comments

Show HN: OWhisper – Ollama for realtime speech-to-text

https://docs.hyprnote.com/owhisper/what-is-this
29•yujonglee•4h ago•8 comments

1976 Soviet edition of 'The Hobbit' (2015)

https://mashable.com/archive/soviet-hobbit
209•us-merul•3d ago•72 comments

What are the real numbers, really? (2024)

https://www.infinitelymore.xyz/p/what-are-the-real-numbers-really
15•EthanHeilman•2h ago•1 comments

Why and how to write things on the Internet (2022)

https://www.benkuhn.net/writing/
5•jger15•2d ago•1 comments

Steve Wozniak: 'I am the happiest person ever' and 'I never sold out'

https://yro.slashdot.org/comments.pl?sid=23765914&cid=65583466
180•MilnerRoute•1h ago•123 comments

Jujutsu and Radicle

https://radicle.xyz/2025/08/14/jujutsu-with-radicle
107•vinnyhaps•6h ago•62 comments

Show HN: Modelence – Supabase for MongoDB

https://github.com/modelence/modelence
22•artahian•3h ago•6 comments

What does Palantir actually do?

https://www.wired.com/story/palantir-what-the-company-does/
101•mudil•21h ago•69 comments

Nyxt: The Emacs-like web browser

https://lwn.net/Articles/1001773/
102•signa11•3d ago•23 comments

500 Days of Math

https://gmays.com/500-days-of-math/
127•gmays•2d ago•79 comments

NSF and Nvidia award Ai2 $152M to support building an open AI ecosystem

https://allenai.org/blog/nsf-nvidia
140•_delirium•6h ago•72 comments

iPhone DevOps (2023)

https://clearsky.dev/blog/iphone-devops-ssh/
123•ustad•11h ago•115 comments

Kodak has no plans to cease, go out of business, or file for bankruptcy

https://www.kodak.com/en/company/blog-post/statement-regarding-misleading-media-reports/
261•whicks•4h ago•119 comments

Show HN: Zig-DbC – A design by contract library for Zig

32•habedi0•2d ago•2 comments

Arch shares its wiki strategy with Debian

https://lwn.net/SubscriberLink/1032604/73596e0c3ed1945a/
316•lemper•11h ago•109 comments

Funding Open Source like public infrastructure

https://dri.es/funding-open-source-like-public-infrastructure
221•pabs3•16h ago•93 comments