Depends on the host filesystem. Traditionally, the first 10 blocks are direct and often (but not always, if the fs is fragmented) consecutive; the remainder are indirect by 1-3 levels (not that you ever want a directory to be double indirect much less triple!), and often are not consecutive simply because by the time you get to that point you're working with a filesystem with a lot of files on it and a fair amount of fragmentation.

On Sat, May 11, 2019 at 6:24 PM KC <kc1956@gmail.com> wrote:
Thank you for making the `posix-paths` package for fast directory traversals:

Are directories stored in consecutive disk blocks?

On Fri, May 10, 2019 at 6:53 PM Niklas Hambüchen <mail@nh2.me> wrote:
Hi,

we made the `posix-paths` package for fast directory traversals:

    https://hackage.haskell.org/package/posix-paths

You can find benchmarks in

    https://github.com/JohnLato/posix-paths#benchmarks

Some more tips (some of them you're already following as per other threads):

* Use `time` to if time is spent on kernel CPU, userspace CPU, or waiting
* Use `strace -fy` with `-ttt` and `-T` to see timings, and `-c` and `-wc` summary statistics
_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.


--

--

Sent from an expensive device which will be obsolete in a few months! :D

Casey

_______________________________________________
Haskell-Cafe mailing list
To (un)subscribe, modify options or view archives go to:
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
Only members subscribed via the mailman list are allowed to post.


--
brandon s allbery kf8nh
allbery.b@gmail.com