From: Soeren Sandmann <sandmann@daimi.au.dk>
To: linux-kernel@vger.kernel.org
Subject: stat benchmark
Date: 24 Apr 2008 22:59:10 +0200 [thread overview]
Message-ID: <ye8wsmnezq9.fsf@camel05.daimi.au.dk> (raw)
At
http://www.daimi.au.dk/~sandmann/stat-benchmark.c
there is a simple program that will measure the time it takes to stat
every file in the current directory with a cold cache.
This is essentially what applications do in a number of common cases
such as "ls -l", nautilus opening a directory, or an "open file"
dialog being showed.
Unfortunately, performance of that operation kinda sucks. On my system
(ext3), it produces:
c-24-61-65-93:~% sudo ./a.out
Time to readdir(): 0.307671 s
Time to stat 2349 files: 8.203693 s
8 seconds is about 80 times slower than what a user perceives as
"instantly" and slow enough that we really should display a progress
bar if it can't be fixed.
So I am looking for ways to improve this.
Under the theory that disk seeks are killing us, one idea is to add a
'multistat' system call that would allow statting of many files at a
time, which would give the disk scheduler more to work with.
Possibly the same thing would need to be done for the getxattr
information.
Does this sound like a reasonable idea?
Thanks,
Soren
next reply other threads:[~2008-04-24 21:07 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-04-24 20:59 Soeren Sandmann [this message]
2008-04-24 21:42 ` Carl Henrik Lunde
2008-04-24 21:44 ` Jan Engelhardt
2008-04-25 2:27 ` Justin Banks
2008-04-25 7:01 ` Christoph Hellwig
2008-04-25 19:48 ` Theodore Tso
2008-04-27 23:29 ` Soeren Sandmann
2008-04-28 0:13 ` Carl Henrik Lunde
2008-04-28 19:41 ` Alexander Larsson
2008-04-28 2:10 ` Theodore Tso
2008-04-27 22:40 ` Carl Henrik Lunde
2008-04-28 17:46 ` Zach Brown
2008-04-28 4:43 ` Ulrich Drepper
2008-04-28 11:53 ` Theodore Tso
2008-04-28 11:59 ` Avi Kivity
2008-04-28 13:31 ` Theodore Tso
2008-04-28 16:18 ` J. Bruce Fields
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=ye8wsmnezq9.fsf@camel05.daimi.au.dk \
--to=sandmann@daimi.au.dk \
--cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®