19 lines
812 B
Markdown
19 lines
812 B
Markdown
# 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.
|