A third thing is that FFS performs poor accessing /usr/ports. This has
something to do with how FFS layout directory inode (not file inode). The
book 4.4 BSD design and implementation explains this well. If fact, read
that book carefully, you can have better idea than you can get from a
mailing list. Good luck!
This is because the tarball is packed up in the wrong order;
change the packing order (breadth-first vs. depth-first),
and the "ports problem" goes away. I have done this with the
-T option to tar, and it works fine, so long as you have an
accurate file. This ensures that there is no cache-busting
on the dearchive, which is the source of the problem.
Actually I benchmarked this a while back and it didn't make a significant
I have SCSI drives, so maybe that's the difference, but I was
sure that only using directory components whose inodes and
data were already cached would have some positive effect, and
attributed the effect I saw to that, since the original problem
evidenced on SCSI drives as well...