| 28 Jun 2023 |
| @zardian:matrix.org joined the room. | 06:32:32 |
@joerg:thalheim.io | pennae: so you are saying manual generation is already much faster? I haven't benchmarked in a while. | 12:36:56 |
Pol | I just submitted a PR to fix the nixos manual | 12:43:58 |
Pol | https://github.com/NixOS/nixos-homepage/pull/1085 | 12:44:01 |
Pol | But this doesn't have impact on speed | 12:44:13 |
Pol | Just than the produced html is wrong atm | 12:44:25 |
Pol | * Just that the produced html is wrong atm | 12:44:36 |
Pol | This PR actually https://github.com/NixOS/nixpkgs/pull/240327 | 12:45:14 |
@pennae:matrix.eno.space | 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 |
@joerg:thalheim.io | Redacted or Malformed Event | 13:12:09 |
nbp | Mic92: Nice password! Thanks for sharing ;) | 13:13:45 |
@pennae:matrix.eno.space | 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 |
@joerg:thalheim.io | How do you measure stuff? | 13:15:24 |
@joerg:thalheim.io | I find that super hard with nix. | 13:15:32 |
@joerg:thalheim.io | * How do you profile stuff? | 13:16:05 |
@pennae:matrix.eno.space | mostly just enabling/disabling options and running a lot of clean uncached evals | 13:16:12 |
@joerg:thalheim.io | Sol It's a bit of a blind flight. NinjaTrappeur added enough instrumentation to nix to get proper stack samples. | 13:17:22 |
@joerg:thalheim.io | The flamegraphs from that looked way more useful. | 13:17:33 |
@joerg:thalheim.io | * So, it's a bit of a blind flight. NinjaTrappeur added enough instrumentation to nix to get proper stack samples. | 13:17:55 |
@pennae:matrix.eno.space | 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:matrix.eno.space | 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 |