• by gregthelaw on 3/6/2024, 9:07:04 PM

    Sometimes printf debugging is all you have available. But printf can be lousy for debugging race conditions because it's pretty slow and worse, libc's printf takes a lock and so introduces a synchronisation point. So I made a simple library that is both fast (~5ns on a half-decent machine) and lock-free.

    It doesn't completely defeat the Heisenberg principle of course, but you can in practice add a decent amount of logging without affecting timing in a meaningful way.

    Enjoy!