[Gllug] Thoughts on the breadth of Free Software
salsaman
salsaman at xs4all.nl
Sun Sep 17 23:14:10 UTC 2006
Here's another suggestion:
the C functions "open" and "fopen" are notoriously slow, because lists
of files within a directory are maintained as a linked list within libc.
This list must be traversed entry by entry until the required file can
be located on the disk.
It seems to me there is much room for improvement here.
Consider a filesystem which is contained within a single file, and is
then mounted loopback as a new partition. Provided write access to this
partition is properly serialised, pointers to the files within this
partition could be stored as a binary tree (offsets from the start of
the partition). There would be no problem with simultaneous read
accesses. However any writes to the partition would require locking of
the binary tree table while it is being updated.
Such a filesystem would have many uses, one immediate one being for
video editing applications, where each frame can be stored as a separate
file. During playback, the editor is in read-only mode, and quick access
to the frames would lead to much smoother playback.
Gabriel.
http://lives.sourceforge.net
--
Gllug mailing list - Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug
More information about the GLLUG
mailing list