Re: Not going beyond symbolic links

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Junio C Hamano
Date: Wednesday, August 6, 2008 - 11:52 pm

Linus Torvalds <torvalds@linux-foundation.org> writes:


I couldn't quite measure much meaningful performance impact.

My test repository was the kernel tree at v2.6.27-rc2-20-g685d87f, without
any build products nor editor temporary crufts.

By the way, if anybody wants to reproduce this, be careful with the tests
that run "rm -f .git/index" before adding everything.  After doing so, if
you check the result with "git diff --stat HEAD", you will notice many
missing files --- I almost got a heart attack before inspecting this file:

	$ cat arch/powerpc/.gitignore
        include

Yes, it excludes 261 already tracked files.  Is it intended?  I dunno.

The file is there since 06f2138 ([POWERPC] Add files build to .gitignore,
2006-11-26).  Not that having tracked files in an entirely ignored
directory is a bug, but the .gitignore entry seems to me an Oops waiting
to happen.  There are three commits that affect this directory that is
entirely ignored after that entry is added:

    b5b9309 (remove unnecessary <linux/hdreg.h> includes, 2008-08-05)
    9c4cb82 (powerpc: Remove use of CONFIG_PPC_MERGE, 2008-08-02)
    b8b572e (powerpc: Move include files to arch/powerpc/include/asm, 2008-08-01)

Anyhow, back on topic.  Here are the numbers.

Test #1: With fully up-to-date .git/index, "git add .", best of 5 runs

* v1.6.0-rc2
0.20user 0.20system 0:00.41elapsed 99%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+3622minor)pagefaults 0swaps

* v1.6.0-rc1-73-g725b060 (with patch)
0.22user 0.19system 0:00.41elapsed 100%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+3635minor)pagefaults 0swaps


Test #2: After "rm -f .git/index", "git add .", best of 5 runs

* v1.6.0-rc2
1.81user 0.55system 0:02.51elapsed 93%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+92855minor)pagefaults 0swaps

* v1.6.0-rc1-73-g725b060 (with patch)
1.76user 0.56system 0:02.58elapsed 89%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (0major+92852minor)pagefaults 0swaps


Test #3: same as #2, after dropping cache with "echo 3 > /proc/sys/vm/drop_caches".
(Yes, I have slow disks).

* v1.6.0-rc2
3.43user 2.29system 2:02.45elapsed 4%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (29611major+63244minor)pagefaults 0swaps

* v1.6.0-rc1-73-g725b060 (with patch)
3.55user 2.33system 1:54.77elapsed 5%CPU (0avgtext+0avgdata 0maxresident)k
0inputs+0outputs (29616major+63236minor)pagefaults 0swaps

Test #4: same as #1, "strace -c -e lstat"

* v1.6.0-rc2
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.000247           0     23993           lstat

* v1.6.0-rc1-73-g725b060 (with patch)
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.000261           0     23993           lstat

Test #5: same as #2, "strace -c -e lstat"

* v1.6.0-rc2
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.000639           0     23993           lstat

* v1.6.0-rc1-73-g725b060 (with patch)
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
100.00    0.000427           0     23993           lstat

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH 0/7] Submodule support in git mv, git rm, Petr Baudis, (Wed Jul 16, 12:11 pm)
[PATCH 1/7] git-mv: Remove dead code branch, Petr Baudis, (Wed Jul 16, 12:11 pm)
[PATCH 5/7] git mv: Support moving submodules, Petr Baudis, (Wed Jul 16, 12:11 pm)
[PATCH 6/7] git rm: Support for removing submodules, Petr Baudis, (Wed Jul 16, 12:11 pm)
[PATCH 7/7] t7403: Submodule git mv, git rm testsuite, Petr Baudis, (Wed Jul 16, 12:11 pm)
Re: [PATCH 6/7] git rm: Support for removing submodules, Johannes Schindelin, (Wed Jul 16, 3:41 pm)
Re: [PATCH 5/7] git mv: Support moving submodules, Junio C Hamano, (Wed Jul 16, 7:37 pm)
Re: [PATCH 6/7] git rm: Support for removing submodules, Johannes Schindelin, (Thu Jul 17, 5:59 am)
Re: [PATCH 5/7] git mv: Support moving submodules, Petr Baudis, (Thu Jul 17, 6:06 am)
[PATCH] git-mv: Keep moved index entries inact, Petr Baudis, (Thu Jul 17, 3:31 pm)
[PATCH] git mv: Support moving submodules, Petr Baudis, (Thu Jul 17, 3:34 pm)
Re: [PATCH] git-mv: Keep moved index entries inact, Junio C Hamano, (Sat Jul 19, 4:54 pm)
Re: [PATCH] git-mv: Keep moved index entries inact, Petr Baudis, (Sun Jul 20, 5:23 pm)
[PATCHv2] git-mv: Keep moved index entries inact, Petr Baudis, (Sun Jul 20, 5:25 pm)
Re: [PATCH] git-mv: Keep moved index entries inact, Johannes Schindelin, (Sun Jul 20, 6:20 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Junio C Hamano, (Sun Jul 20, 9:36 pm)
Re: [PATCH] git-mv: Keep moved index entries inact, Petr Baudis, (Mon Jul 21, 12:18 am)
Re: [PATCH] git-mv: Keep moved index entries inact, Junio C Hamano, (Mon Jul 21, 12:38 am)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Junio C Hamano, (Fri Jul 25, 11:46 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Petr Baudis, (Sun Jul 27, 6:41 am)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Johannes Schindelin, (Mon Jul 28, 8:06 am)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Johannes Schindelin, (Mon Jul 28, 8:14 am)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Johannes Schindelin, (Mon Jul 28, 11:24 am)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Junio C Hamano, (Mon Jul 28, 12:19 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Johannes Schindelin, (Mon Jul 28, 4:41 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Johannes Schindelin, (Mon Jul 28, 4:55 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Petr Baudis, (Mon Jul 28, 5:17 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Junio C Hamano, (Mon Jul 28, 5:46 pm)
Re: [PATCHv2] git-mv: Keep moved index entries inact, Junio C Hamano, (Mon Jul 28, 10:23 pm)
Not going beyond symbolic links, Junio C Hamano, (Mon Aug 4, 12:49 am)
Re: Not going beyond symbolic links, Linus Torvalds, (Mon Aug 4, 5:21 pm)
Re: Not going beyond symbolic links, Junio C Hamano, (Mon Aug 4, 5:54 pm)
Re: Not going beyond symbolic links, Linus Torvalds, (Mon Aug 4, 6:43 pm)
Re: Not going beyond symbolic links, Johannes Schindelin, (Mon Aug 4, 6:59 pm)
Re: Not going beyond symbolic links, Linus Torvalds, (Mon Aug 4, 7:28 pm)
Re: Not going beyond symbolic links, Junio C Hamano, (Mon Aug 4, 9:44 pm)
Re: Not going beyond symbolic links, Johannes Schindelin, (Tue Aug 5, 4:23 am)
Re: Not going beyond symbolic links, Junio C Hamano, (Wed Aug 6, 11:52 pm)
Re: Not going beyond symbolic links, Junio C Hamano, (Fri Aug 8, 1:55 pm)
Re: Not going beyond symbolic links, Linus Torvalds, (Fri Aug 8, 4:45 pm)