!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

893 Members
For people hacking on the Nix package manager itself191 Servers

Load older messages


SenderMessageTime
4 Apr 2025
@joerg:thalheim.ioMic92* Shallow clones when updating are significantly faster for me than downloading tarballs and it's not slower than downloading tarballs for an initial clone.10:56:14
@joerg:thalheim.ioMic92No it's not the default because git inputs have a revcount flag that cannot be computed when doing a shallow clone.10:58:58
@keiichi:matrix.orgtetodo you know a reference talking about this : is it a CPU vs bandwidth tradeoff (shallow clones being more CPU intensive) ?11:01:14
@keiichi:matrix.orgtetois revcount that useful ? I never used that I think11:01:38
@joerg:thalheim.ioMic92Github uses them in their official checkout action ...11:01:49
@joerg:thalheim.ioMic92Agreed but removing it would change evaluation of existing flake.locks11:02:31
@emilazy:matrix.orgemilyI think it was CocoaPods or Homebrew or both11:19:42
@emilazy:matrix.orgemilyI believe serving shallow clones is expensive, I guess because it is the CPU cost of the Git protocol without the network savings?11:19:59
@emilazy:matrix.orgemilyI think they prefer a permanent non-shallow clone that gets fetched normally, or tarball downloads11:20:14
@joerg:thalheim.ioMic92Ok. but why is there CI not downloading tarballs?13:02:59
@emilazy:matrix.orgemilyno idea :) but I guess CI probably runs a lot less than people hit package indexes13:06:03
@joerg:thalheim.ioMic92I think it also makes a big difference if you just do this for nixpkgs instead of many small repos13:06:34
@joerg:thalheim.ioMic92Which I think is what CocoaPods is doing13:07:11
@qyliss:fairydust.spaceAlyssa RossCocoaPods at the time was one big repo13:08:06
@qyliss:fairydust.spaceAlyssa RossI'd imagine it's a lot more expensive with one big repo than with many small ones13:08:30
@qyliss:fairydust.spaceAlyssa Rosshttps://blog.cocoapods.org/Master-Spec-Repo-Rate-Limiting-Post-Mortem/13:08:59
@joerg:thalheim.ioMic92Also the question is, if those issues still persist. This was 2016. They have completely revamped their internal git implementation and make it distributed.13:15:03
@joerg:thalheim.ioMic92Because I don't see any performance degradation when fetching stuff this way. 13:16:05
@joerg:thalheim.ioMic92If not, I have even more a reason to fetch my git repository from elsewhere.13:17:24
@joerg:thalheim.ioMic92Just checked that cocoapods has 20 times the files of nixpkgs13:20:07
@emilazy:matrix.orgemilyfeel like hydra distributing nixexprs is still what makes the most sense after all this time :)14:05:05
@joerg:thalheim.ioMic92Maybe for some stuff but for my dotfiles, where I am hacking on my nixpkgs fork, the shallow clone is many times faster if I do single commits for bug fixes.14:06:19
@joerg:thalheim.ioMic92It should be even cheaper for github to compute this delta over serving me the whole nixpkgs all over again.14:07:32
@noob_tea:matrix.orgtea
In reply to @qyliss:fairydust.space
https://blog.cocoapods.org/Master-Spec-Repo-Rate-Limiting-Post-Mortem/

If I understand it correctly, the problem here was that cocoa initially did a shallow clone but then upgraded that to a full clone, which is expensive

https://github.com/CocoaPods/CocoaPods/issues/4989#issuecomment-193772935

15:48:46
5 Apr 2025
@divyaranjan:matrix.orgDivya joined the room.08:13:38
@divyaranjan:matrix.orgDivya: Hello! I wanted to know how Nix packages GHC, does it bootstrap it entirely? How do you guys change the process when GHC changes build systems from 9.4 to 9.6 (from make to hadrian)?08:13:52
@divyaranjan:matrix.orgDivyaI'm from Guix's Haskell team, trying to learn how you guys do it so that we can improve our Haskell situation :)08:14:37
@k900:0upti.meK900 That's more of a #Nixpkgs / NixOS contributions question 08:14:48
@k900:0upti.meK900Or maybe the Haskell room08:14:51
@k900:0upti.meK900(I think we have a Haskell room?)08:15:00

Show newer messages


Back to Room ListRoom Version: 6