Subject: slow git-cherry-pick.

From: Paweł Sikora <[email-masked]>
Date: Sun, 24 Nov 2013 11:45:32 +0100

Hi,

i've recently reinstalled a fresh system (fc20-beta) on my workstation
and observing a big slowdown on git cherry-pick operation (git-1.8.4.2-1).
the previous centos installation with an old git version works faster
(few seconds per cherry pick). now the same operation takes >1 min.

my git repo isn't very big[1] but it's checked out on the linear lvm
where random i/o generally hurts and strace shows that current git version
performs 2x{lstat}+1x{open,read,close} [2] on whole checkout before
cherry-pick. there is also a .gitattributes searching on all levels
which doing another tons of i/o. looks like git-status on action but
why on whole repo while cherry-pick touches limited set of files?

is it a bug or feature?

BR,
Paweł.

please CC me on reply.

[1]
$ du -sh .git/objects/
4.2G    .git/objects/
$ find sources -type f|wc -l
9536
$ find buildenv -type f|wc -l
14637

[2]
lstat("buildenv/boost-1.51.0/include/boost/bimap.hpp", {st_mode=S_IFREG|0664, 
st_size=387, ...}) = 0
lstat("buildenv/boost-1.51.0/include/boost/bimap.hpp", {st_mode=S_IFREG|0664, 
st_size=387, ...}) = 0
open("buildenv/boost-1.51.0/include/boost/bimap.hpp", O_RDONLY) = 5
read(5, "// Boost.Bimap\n//\n// Copyright ("..., 387) = 387
close(5)

-- 
gpg key fingerprint = 60B4 9886 AD53 EB3E 88BB  1EB5 C52E D01B 683B 9411