| 16 Mar 2024 |
ryantm | That one would be a more fair comparison since I render the entire nixpkgs manual (also with a search index) | 05:13:21 |
ryantm | [ryantm@replit1:~/p/nixpkgs]$ /run/current-system/sw/bin/time nix-build --check pkgs/top-level/release.nix -A manual
trace: warning: lib.zipWithNames is a deprecated alias of lib.zipAttrsWithNames.
checking outputs of '/nix/store/3jsvqqgpj2qfbkj2y82w4ac4nnf2g5px-nixpkgs-manual.drv'...
Running phase: unpackPhase
unpacking source archive /nix/store/sn18ydylvr7jsxbhj2yndh9y2s3z55mv-doc
source root is doc
Running phase: patchPhase
Running phase: updateAutotoolsGnuConfigScriptsPhase
Running phase: configurePhase
no configure script, doing nothing
Running phase: buildPhase
substituteStream(): WARNING: '--replace' is deprecated, use --replace-{fail,warn,quiet}. (file './manual.md.in')
Running phase: installPhase
Running phase: fixupPhase
shrinking RPATHs of ELF executables and libraries in /nix/store/m94bxwbilm1hh0dzk53qs7zvdr1vwsps-nixpkgs-manual
checking for references to /build/ in /nix/store/m94bxwbilm1hh0dzk53qs7zvdr1vwsps-nixpkgs-manual...
patching script interpreter paths in /nix/store/m94bxwbilm1hh0dzk53qs7zvdr1vwsps-nixpkgs-manual
/nix/store/m94bxwbilm1hh0dzk53qs7zvdr1vwsps-nixpkgs-manual
0.60user 0.18system 0:02.19elapsed 36%CPU (0avgtext+0avgdata 174568maxresident)k
0inputs+0outputs (0major+39903minor)pagefaults 0swaps
| 05:14:26 |
ryantm | Very similar times! | 05:15:03 |
ryantm | Good on you making it that fast with Python :) | 05:16:48 |
ryantm | Looks like it builds an epub and a single page manual. mmdoc is building a multipage, singlepage, man, epub, and search index, but yeah, maybe pretty close overall speed wise. | 05:18:04 |
infinisil | Yeah and closure sizes are also comparable (70MB vs 200MB) | 05:22:36 |
ryantm | Oh wait, I don't think that time is apples to apples:
[ryantm@replit1:~/p/nixpkgs]$ /run/current-system/sw/bin/time nix-build --check pkgs/top-level/release.nix -A manual.inputDerivation
trace: warning: lib.zipWithNames is a deprecated alias of lib.zipAttrsWithNames.
this derivation will be built:
/nix/store/j622rlm0k013mmspbzgkqgd4zl12vvvd-nixpkgs-manual.drv
error: some outputs of '/nix/store/j622rlm0k013mmspbzgkqgd4zl12vvvd-nixpkgs-manual.drv' are not valid, so checking is not possible
Command exited with non-zero status 1
0.59user 0.18system 0:01.53elapsed 50%CPU (0avgtext+0avgdata 174980maxresident)k
0inputs+0outputs (0major+39908minor)pagefaults 0swaps
[ryantm@replit1:~/p/nixpkgs]$ nix path-info --recursive --closure-size --human-readable ./result
/nix/store/m94bxwbilm1hh0dzk53qs7zvdr1vwsps-nixpkgs-manual 2.0M
| 05:22:56 |
ryantm | The manual is already built as the inputDerivation to that derivation. | 05:23:37 |
ryantm | Nix is so hard to benchmark with the all the caching and indirection. | 05:24:40 |
infinisil | ryantm: Not sure what you mean, I'm pretty sure nix-build --check pkgs/top-level/release.nix -A manual is the actual build, it's not just a dependency | 05:25:23 |
infinisil | And the command you pasted failed | 05:25:33 |
ryantm | Ah yeah, oops. Okay. | 05:25:53 |
infinisil | (gotta build without --check first.. yeah not a great interface) | 05:25:58 |
ryantm | Redacted or Malformed Event | 05:26:59 |
ryantm | Updated the gist again. Looks like the nixpkgs closure is bigger, but the nixpkgs closure matters less. | 05:28:28 |
infinisil | Could you post the results in the github issue? I'm overall not very convinced that this is worth it though ๐
| 05:29:31 |
infinisil | * Could you post the results in the github issue (ideally a nice markdown table with the numbers)? I'm overall not very convinced that this is worth it though ๐
| 05:29:46 |
ryantm | Yeah there's a lot of hate for C. | 05:30:00 |
ryantm | and your thing is already working mostly, though not multipage. | 05:30:23 |
ryantm | Seems reasonable not to switch. | 05:30:26 |
infinisil | I feel kind of bad, you worked on this for so long ๐
| 05:31:07 |
ryantm | I'll take down my multipage manual when we publish official ones. | 05:31:08 |
ryantm | No big deal, I still love the project independent of Nix accepting it. | 05:31:34 |
ryantm | I use it for all my projects and blogs and stuff. | 05:31:44 |
ryantm | I love the easy interface with no config I came up with. | 05:31:59 |
@jade_:matrix.org | In reply to @ryantm:matrix.org and your thing is already working mostly, though not multipage. I've been told the code is literally there for it, though. so we seem to need to do some wiring.ย | 07:41:14 |
| @pennae:matrix.eno.space joined the room. | 09:23:50 |
@pennae:matrix.eno.space | (infinisil requested our presence :D) | 09:24:07 |
fricklerhandwerk | In reply to @rina/:matrix.org i am starting to see that. though, i do not mind pitching in where i can :) What would you be interested in taking a closer look at? It would also help knowing what you may have had experience with already, to find something that wonโt overwhelm or frustrate you too quickly. Feel free to DM me if you donโt want this public.
Not everything needed to get started is written down nicely yet, so I can offer a brief guided tour of the various construction sites. | 14:06:41 |
kait | hm off the top of my head, there are gaps around the trivial script writers - both in terms of documentation and the options they provide | 14:12:30 |