Parallel ./configure
I paid good money for my 24 CPU cores, but ./configure can only manage to use 69% of one of them. As a result, this random project takes about 13.5× longer to configure the build than it does to actually do the build.
I’m Tavian, a software developer interested in low-level, high-performance software across many domains. Currently a Staff Engineer at Shopify , I’ve previously worked at the University of Waterloo , Microsoft Research Montreal , a startup called Maluuba , and the University of Calgary .
Visit tavianator.com → RSS feedOn Hacker News Apr 2023 – Apr 2025
Systems & Performance 4Software Engineering 3Tools & Productivity 1Hardware & Electronics 1Databases & Data 1
I paid good money for my 24 CPU cores, but ./configure can only manage to use 69% of one of them. As a result, this random project takes about 13.5× longer to configure the build than it does to actually do the build.
The futex ( f ast u serspace mu tex ) is a Linux kernel feature designed for synchronization primitives (mutexes, condition variables, semaphores, etc.). Like many topics in concurrency, they have a reputation for being tricky (for example, see the paper Futexes Are Tricky ). Despite that, they really are a…
bfs is a tool I wrote to do b readth- f irst s earch through a filesystem. It started out simply enough, but over the years it’s grown to include almost every feature from every other find implementation I could find, plus many of its own innovations. The new 3.0 release series includes the biggest new feature so far…