From: Yannick Gingras <ygingras@ygingras.net>
To: git@vger.kernel.org
Subject: On the many files problem
Date: Sat, 29 Dec 2007 13:22:29 -0500 [thread overview]
Message-ID: <87y7bdweca.fsf@enceladus.ygingras.net> (raw)
Greetings Git hackers,
No doubt, you guys must have discussed this problem before but I will
pretend that I can't find the relevant threads in the archive because
Marc's search is kind of crude.
I'm coding an application that will potentially store quite a bunch of
files in the same directory so I wondered how I should do it. I tried
a few different files systems and I tried path hashing, that is,
storing the file that hashes to d3b07384d113 in d/d3/d3b07384d113. As
far as I can tell, that's what Git does. It turned out to be slower
than anything except ext3 without dir_index. You can see my results
and the benchmarking code that I used here:
http://ygingras.net/b/2007/12/too-many-files:-reiser-fs-vs-hashed-paths
Quick like that, I would be tempted to say that hashing paths always
makes things slower but the Git development team includes people with
really intimate knowledge of several file system implementations so
I'm tempted to say that you guys know something that I don't.
Can you describe how you hash the paths and what trick is done to
ensure fast creating and access to the subdirectories? Is path
hashing generally faster or are you trying to avoid problems for
people using git on baroque file systems?
Best regards,
--
Yannick Gingras
next reply other threads:[~2007-12-29 18:30 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-12-29 18:22 Yannick Gingras [this message]
2007-12-29 19:12 ` On the many files problem Linus Torvalds
2007-12-31 10:13 ` Yannick Gingras
2007-12-31 20:45 ` Linus Torvalds
2007-12-31 23:31 ` Martin Langhoff
2007-12-29 19:27 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87y7bdweca.fsf@enceladus.ygingras.net \
--to=ygingras@ygingras.net \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.