1) git clone / dr get note: i used get --partial because we used it, too and i used git clone because --depth is not an option for developers. this means that in fact git does more for you in this test as it fetches the whole history. additionally this is a benefit for us, since this way the changelogs will be more complete (pacman-g2 -Qc) $ time git clone frugalware.org:/home/ftp/pub/other/repos/git/frugalware-current/ Initialized empty Git repository in /home/vmiklos/bench/frugalware-current/.git/ (...) 100% (99826/99826) done real 2m47.177s $ time dr get --partial frugalware.org:/home/ftp/pub/frugalware/frugalware-current Welcome to the frugalware-current darcs repository! (...) Finished getting. real 2m53.974s 2) git log / dr changes (full repo) $ time git log source/base/kernel/FrugalBuild >/dev/null real 0m5.640s $ time darcs changes source/base/kernel/FrugalBuild >/dev/null real 2m18.284s 3) git blame / git annotate (full repo) $ time git blame lib/libpacman/sync.c >/dev/null real 0m0.748s $ time darcs annotate lib/libpacman/sync.c >/dev/null real 0m20.111s