Conversation

Replying to and @snargleplax
Git history gets ridiculously bloated over time. Compacting it all with git gc --aggressive helps a lot. Setting core.compression to 9 gets a little bit more out of the zlib compression. Most size wins come from converting loose objects and smaller packs into unified packs.
1
11
I'm chronically low on disk space from working on multiple different trees based on Linux, Chromium and the Android Open Source Project. Stuck with this puny 2TB Samsung 980 Pro until they release the 4TB Samsung 990 Pro next year. Have learned lots of ways to save disk space...
1
3
Can also save tons of space with `cp --reflink` if your filesystem has support (XFS and Btrfs but not ext4). It's essentially fork(...) for files. It uses block-based copy-on-write at the destination. Can copy an identical file over another to deduplicate without sharing writes.
2
5
I moved to XFS from ext4 for better parallel NVMe performance and started using reflinks a lot. XFS doesn't have transparent compression support yet but I found it hurt build performance too much and most of my space is used by already compressed Git object/pack data anyways.
1
4
XFS delayed allocation + delayed logging combined with 128GB of memory and a fast NVMe SSD means that barely anything ends up being I/O bound. End up with huge sequential writes as build outputs as flushed out. Reads mostly hit page cache. SSD stats have 10:1 write:read ratio.
1
2
I need to do official builds, signing and delta generation locally for security and trust reasons so that's inherently bottlenecked by my local compute resources. I wanted to make a 64 core Zen 3 Threadripper machine to help with this but Zen 3 Threadripper was never released.
2
3
Show replies