# Nix Profiled With Tracy ## Profiling Idea TODO: explain - Tracing thunk force operations. - Eval is single-threaded and recursive: easy to build stack frames out of global eval state. - Profiling infos are streamed to tracy server in that prototype. - In previous iterations, we tried: - keep the profile in memory and save it to memory in a previous iteration. See [andir's version](https://git.alternativebit.fr/picnoir/Nix/src/branch/pic/tracy-on-top-of-andi) for code/more infos. - eBPF approach using USDTs (through bcc). We kept over-running the kernel/userspace ring buffer. See [here](https://git.alternativebit.fr/picnoir/Nix/src/branch/nin/usdt-rust) for more infos/code. ## TODOs - Document everything. - Rewrite autotools madness with somebody who actually know what they're doing.