From: Theodore Tso <tytso@mit.edu>
To: wbrana@gmail.com
Cc: linux-kernel@vger.kernel.org
Subject: Re: ext4/reiser3/btr directory create/read perf
Date: Wed, 30 Sep 2009 18:34:47 -0400 [thread overview]
Message-ID: <20090930223447.GO24383@mit.edu> (raw)
In-Reply-To: <a769871e0909301244nec4764albeb7bf042495cc1e@mail.gmail.com>
On Wed, Sep 30, 2009 at 09:44:04PM +0200, wbrana@gmail.com wrote:
>
> Times with 1000 directories and dir_index enabled
> /mnt/md8: 64 kB chunks
> reiser3
> void cfs::vdirs_create(): 973 msec
> void cfs::vdirs_read(): 60 msec
> ext4
> void cfs::vdirs_create(): 2435 msec
> void cfs::vdirs_read(): 3326 msec
> btrfs
> void cfs::vdirs_create(): 1036 msec
> void cfs::vdirs_read(): 155 msec
>
> ext4 was 55 times slower than reiser3 in vdirs_read()
On a micro brenchmark, simply creating an empty directory will much
faster in pure b-tree oriented filesystems, since it's just a node
insert. So yes, reiser3 will always be faster for mkdir(), and
there's not much that can be done about it.
I suppose we could implement XFS-style short-form directories (where
the directory is stored in i_blocks, which would work for directories
with 4 or fewer directory entries with short names), but it's not
clear it's really worth it, since in practice, there are very few
directories that have really small number of entries, and there's a
lot more regarding real-world performance than just creating empty
directories.
- Ted
prev parent reply other threads:[~2009-09-30 22:34 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-27 12:27 ext4/reiser3/btr directory create/read perf wbrana
2009-09-28 14:29 ` Theodore Tso
2009-09-30 19:05 ` wbrana
2009-09-30 19:44 ` wbrana
2009-09-30 22:34 ` Theodore Tso [this message]
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=20090930223447.GO24383@mit.edu \
--to=tytso@mit.edu \
--cc=linux-kernel@vger.kernel.org \
--cc=wbrana@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox