Dotfiles.
Most configs are generated by the nix flake, but some are not - I keep this repo in ~/.config on my different machines.
For self-hosted knots, clone URLs may differ based on your setup.
Download tar.gz
Benchmark 1: starship module custom.jj
Time (mean ± σ): 32.9 ms ± 1.6 ms [User: 12.6 ms, System: 12.2 ms]
Range (min … max): 31.0 ms … 41.3 ms 69 runs
Benchmark 2: starship module custom.jj_dash
Time (mean ± σ): 29.2 ms ± 1.2 ms [User: 10.9 ms, System: 10.7 ms]
Range (min … max): 27.3 ms … 33.5 ms 71 runs
Summary
starship module custom.jj_dash ran
1.13 ± 0.07 times faster than starship module custom.jj
starship doesn't seem to play nicely with dash on its own: stdin
doesn't work even with 'dash -s'. It's possible the fastest thing to do
is skip the shell entirely, but I'm not sure how easily starship can be
tricked into directly invoking jj.
starship defaults to using the parent shell for custom modules. Using a
more minimal shell and avoiding init sourcing improves performance.
Exact mileage will vary based on shell in use and its config, but this
was a sizeable improvement for me:
Benchmark 1: starship module custom.jj
Time (mean ± σ): 53.1 ms ± 2.5 ms [User: 18.4 ms, System: 22.2 ms]
Range (min … max): 49.1 ms … 65.7 ms 48 runs
Benchmark 2: starship module custom.jj_min_shell
Time (mean ± σ): 33.1 ms ± 1.3 ms [User: 12.5 ms, System: 12.6 ms]
Range (min … max): 30.1 ms … 36.2 ms 63 runs
Summary
starship module custom.jj_min_shell ran
1.61 ± 0.10 times faster than starship module custom.jj
Dotfiles.
Most configs are generated by the nix flake, but some are not - I keep this repo in ~/.config on my different machines.