| 28 Jun 2023 |
pennae | In reply to @joerg:thalheim.io pennae: so you are saying manual generation is already much faster? I haven't benchmarked in a while. yeah, when we started out we cut about 40% of eval time off of it. can't remember how much the manual still costs, but it wasn't a substantial fraction or we would've probably gone there too.
(instead we went for the nix evaluator, and if that seems like the easier thing to do ...) | 13:10:43 |
Mic92 | Redacted or Malformed Event | 13:12:09 |
nbp | Mic92: Nice password! Thanks for sharing ;) | 13:13:45 |
pennae | there may still be gains to be had with pre-built docs that aren't necessarily accurate to the current system (turning of nixos docs and adding a cached docs package)? haven't benchmarked in a while either | 13:14:37 |
Mic92 | How do you measure stuff? | 13:15:24 |
Mic92 | I find that super hard with nix. | 13:15:32 |
Mic92 | * How do you profile stuff? | 13:16:05 |
pennae | mostly just enabling/disabling options and running a lot of clean uncached evals | 13:16:12 |
Mic92 | Sol It's a bit of a blind flight. NinjaTrappeur added enough instrumentation to nix to get proper stack samples. | 13:17:22 |
Mic92 | The flamegraphs from that looked way more useful. | 13:17:33 |
Mic92 | * So, it's a bit of a blind flight. NinjaTrappeur added enough instrumentation to nix to get proper stack samples. | 13:17:55 |
pennae | back then we also used the older nix profiling suite (NIX_COUNT_CALLS? was that the name?) to find the hot spot, but that didn't really help for much more than that | 13:18:41 |
@ninjatrappeur:alternativebit.fr | The function-based profiler? | 13:19:01 |
@ninjatrappeur:alternativebit.fr | andi- improved my not-so-fonctional ebpf profiler. I lost the branch though. | 13:19:28 |
@ninjatrappeur:alternativebit.fr | * andi- improved my not-so-fonctional ebpf profiler into something pretty fonctional. I lost the branch though. | 13:19:37 |
@ninjatrappeur:alternativebit.fr | The real issue is the viewer, there's too much information in these traces. We were tracing each and every thunk forcing. | 13:20:06 |
andi- | In reply to @ninjatrappeur:alternativebit.fr andi- improved my not-so-fonctional ebpf profiler into something pretty fonctional. I lost the branch though. https://github.com/andir/nix/tree/andir/profiling | 13:21:05 |
pennae | fwiw disabling docs on our current system makes no significant difference in eval time, disabling the spit options build adds 30% | 13:22:24 |
Sandro 🐧 | In reply to @andi:kack.it https://github.com/andir/nix/tree/andir/profiling Does that improve the existing tracing or add a new one? | 13:30:02 |
andi- | new one, proper nix-internal call frames and all | 13:30:24 |
Sandro 🐧 | In reply to @pennae:matrix.eno.space fwiw disabling docs on our current system makes no significant difference in eval time, disabling the spit options build adds 30% spit options? split options? | 13:30:27 |
Sandro 🐧 | In reply to @andi:kack.it new one, proper nix-internal call frames and all you just set NIX_SHOW_TRACE ? | 13:30:46 |
pennae | split options, yes | 13:30:49 |
Sandro 🐧 | so setting documentation.nixos.options.splitBuild to false improves eval time if I don't build docs? | 13:47:18 |
pennae | if you don't build docs setting it to false makes no difference. if you do build docs settings it to false slows down the build by 30% | 13:59:48 |
Sandro 🐧 | ah, good that we cleared that up | 14:33:17 |
pennae | if it ever did speed up the build to set it to false we should remove it again :) | 14:37:23 |
pennae | the infra needed to make it works is a royal pain, if we can get away without it then good riddance | 14:37:43 |
sterni | do we have an overview of what markdown extensions/custom stuff you can use in the manual somewhere? | 18:04:34 |
sterni | ah in the obvious place, nice :) | 18:05:17 |