On 2009-07-30, Jan Stary <h...@stare.cz> wrote: > is 128M, that's why I use xserv45.tgz and not base45.tgz; > and it should have been tar xzpf I guess - does it make > a difference? And it shloud be done in single user - but > the machine is almost idle, really.)
xserv has a small number of large files, whereas base has a mixture, but it has a lot of small files in it. xzpf won't matter for this test, but if my theory is right, you will need to write lots of small files to see a difference. > For some reason (no reason), I have always thought that nothing can > be faster than async. What is the rationale for mounting the target > filesystems async mounts during an install, anyway? It's a lot faster than mounting them sync. (ramdisks don't have softdep, and also softdep on OpenBSD doesn't free up space from pending deletes quickly enough to be a good choice for untarring new OS file sets). >> I have a feeling softdep may be faster in this case, but it has > ^^^^^^^^^^^^ >> drawbacks too. > > Meaning, a slow IO? > What's specific about async vs. softdep in this case? Making many small updates to a single area of disk (like a directory entry) means a lot of read/write/erase cycles. You can't just update a few bytes in the middle with flash; the controller must read a whole flash block (not related to filesystem block sizes; much larger), make the change, write out the whole block to a new flash block, and erase the old one. Softdep and async do totally different things. Softdep collects metadata updates over a period of time and writes them out together. AIUI this means you skip a huge number of directory writes in this use case. >> The speed rating by itself isn't very useful. The random-access write >> speed has the biggest effect when used on a computer and since it is >> hardly relevant to use with a camera, doesn't usually get mentioned. > > This confuses me: isn't the write speed very relevant when > making shots in quick succession, for example? The key word is *random*, cameras don't do random-access writes, they buffer to RAM then write sequentially, mostly to blank areas of the card rather than making small changes to existing stored data.