Closed milahu closed 2 years ago
I think with this change each commit will be large as it replaces the whole line. Also got diffability is broken by that.
each commit will be large as it replaces the whole line
git stores snapshots, not diffs git packfile deltas are character-based, not line-based
a benchmark on git compression
diffability is broken
human-readability is less important than runtime performance
nevermind : )
the time (and space) for json whitespace pales in comparison to build time (and space)
Hey, I'm definitely thankful you looked into this. It's good to have the numbers now. But yes I agree, I think it's not really worth it right now. The main bottleneck for me often is networking, but a reduction from 82M to 71M, isn't enough to sacrifice human readability (without requiring extra tools etc.).
we could update the database with git pull
cargo is doing this with the crates.io-index repo
one problem with fetchGit
and friends is, none of them return the commit object
which is needed to restore a functional git repo for git pull
this is kind-of a workaround for my rant https://discourse.nixos.org/t/nix-sha256-is-bug-not-feature-solution-a-global-cas-filesystem/15791 where i suggest to store deep clones of source repos outside of /nix/store → compression + cheap updates
getting rid off sha256 for deep clones should be possible, technically
also related https://github.com/NixOS/nixpkgs/issues/89380
lets save some space and time (parsing time grows linear with file size)
after running
and
as expected ...
to read the files with whitespace