Performance issue with excludes (was: Re: git-svn and submodules)

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Benoit SIGOURE
Date: Monday, October 15, 2007 - 9:17 am

On Oct 15, 2007, at 5:53 PM, Linus Torvalds wrote:


I re-used the test that was posted some time ago:

------------------------------------------------------------------------ 
---
#
# first create a tree of roughly 100k files
#
mkdir bummer
cd bummer
for ((i=0;i<100;i++)); do
mkdir $i && pushd $i;
for ((j=0;j<1000;j++)); do
echo "$j" >$j; done; popd;
done

#
# init and add this to git
#
time git init
git config user.email "no@thx"
git config user.name "nothx"
time git add .
time git commit -m 'buurrrrn' -a

for ((j=0;j<1000;j++)); do
   echo "/pattern$j" >.git/info/exclude
done

#
# git-status, tunes in at around ~8s for me
#
time git-status
time git-status
time git-status
------------------------------------------------------------------------ 
---

[...]
git commit -m 'buurrrrn' -a  5.62s user 16.84s system 87% cpu 25.634  
total
# On branch master
nothing to commit (working directory clean)
git-status  2.48s user 5.97s system 96% cpu 8.718 total
# On branch master
nothing to commit (working directory clean)
git-status  2.48s user 5.94s system 97% cpu 8.646 total
# On branch master
nothing to commit (working directory clean)
git-status  2.48s user 5.95s system 96% cpu 8.720 total

My machine is a Core2Duo 2Ghz 2G RAM.


-- 
Benoit Sigoure aka Tsuna
EPITA Research and Development Laboratory
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC] CLI option parsing and usage generation for porcelains, Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Add a simple option parser., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Port builtin-add.c to use the new option parser., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-rm use parse_options., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-mv use parse-options, Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-branch.c use parse_options., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-describe use parse_options, Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make git-fetch use parse_options., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-revert.c use parse_options., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-update-ref.c use parse_options, Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-symbolic-ref.c use parse_options., Pierre Habouzit, (Sat Oct 13, 6:29 am)
[PATCH] Make builtin-http-fetch use parse_options., Pierre Habouzit, (Sat Oct 13, 6:29 am)
Re: [PATCH] Add a simple option parser., Johannes Schindelin, (Sat Oct 13, 7:39 am)
Re: [PATCH] Port builtin-add.c to use the new option parser., Johannes Schindelin, (Sat Oct 13, 7:47 am)
Re: [PATCH] Add a simple option parser., Pierre Habouzit, (Sat Oct 13, 7:58 am)
Re: [PATCH] Port builtin-add.c to use the new option parser., Pierre Habouzit, (Sat Oct 13, 8:03 am)
Re: [PATCH] Add a simple option parser., Alex Riesen, (Sat Oct 13, 12:16 pm)
Re: [PATCH] Port builtin-add.c to use the new option parser., Pierre Habouzit, (Sat Oct 13, 1:27 pm)
Re: [PATCH] Add a simple option parser., Pierre Habouzit, (Sat Oct 13, 1:54 pm)
Re: [PATCH] Add a simple option parser., Alex Riesen, (Sat Oct 13, 3:14 pm)
Re: [PATCH] Add a simple option parser., Pierre Habouzit, (Sun Oct 14, 12:02 am)
[PATCH] Simplify usage string printing, Jonas Fonseca, (Sun Oct 14, 7:01 am)
Re: [PATCH] Simplify usage string printing, Pierre Habouzit, (Sun Oct 14, 9:26 am)
[PATCH] parse-options: Allow abbreviated options when unam ..., Johannes Schindelin, (Sun Oct 14, 9:54 am)
Re: [PATCH] parse-options: Allow abbreviated options when ..., Johannes Schindelin, (Sun Oct 14, 11:02 am)
Re: [PATCH] parse-options: Allow abbreviated options when ..., Pierre Habouzit, (Sun Oct 14, 11:08 am)
Re: [PATCH] parse-options: Allow abbreviated options when ..., Johannes Schindelin, (Sun Oct 14, 3:12 pm)
git-svn and submodules, was Re: [PATCH] parse-options: All ..., Johannes Schindelin, (Sun Oct 14, 3:59 pm)
Re: git-svn and submodules, Benoit SIGOURE, (Mon Oct 15, 12:07 am)
Re: git-svn and submodules, Andreas Ericsson, (Mon Oct 15, 3:00 am)
Re: git-svn and submodules, Benoit SIGOURE, (Mon Oct 15, 3:51 am)
Re: git-svn and submodules, Karl , (Mon Oct 15, 7:45 am)
.gitignore and svn:ignore [WAS: git-svn and submodules], Chris Shoemaker, (Mon Oct 15, 8:14 am)
Re: git-svn and submodules, Linus Torvalds, (Mon Oct 15, 8:53 am)
Performance issue with excludes (was: Re: git-svn and subm ..., Benoit SIGOURE, (Mon Oct 15, 9:17 am)
Re: .gitignore and svn:ignore [WAS: git-svn and submodules], Chris Shoemaker, (Tue Oct 16, 6:05 am)