diff options
author | Marius Storm-Olsen <marius@trolltech.com> | 2009-05-31 18:15:22 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2009-06-01 00:25:54 -0700 |
commit | e16c60d9f98c66fd2c9bba64562b3439970c13f8 (patch) | |
tree | ac682110cc4fc94da135be7e5f3033119e3e496e /compat/mkdtemp.c | |
parent | connect.c: Support PuTTY plink and TortoisePlink as SSH on Windows (diff) | |
download | tgif-e16c60d9f98c66fd2c9bba64562b3439970c13f8.tar.xz |
MinGW readdir reimplementation to support d_type
The original readdir implementation was fast, but didn't
support the d_type. This means that git would do additional
lstats for each entry, to figure out if the entry was a
directory or not. This unneedingly slowed down many
operations, since Windows API provides this information
directly when walking the directories.
By running this implementation on Moe's repo structure:
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
We see the following speedups:
git add .
-------------------
old: 00:00:23(.087)
new: 00:00:21(.512) 1.07x
git status
-------------------
old: 00:00:03(.306)
new: 00:00:01(.684) 1.96x
git clean -dxf
-------------------
old: 00:00:01(.918)
new: 00:00:00(.295) 6.50x
Signed-off-by: Marius Storm-Olsen <marius@trolltech.com>
Signed-off-by: Steffen Prohaska <prohaska@zib.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'compat/mkdtemp.c')
0 files changed, 0 insertions, 0 deletions