[Gllug] Thoughts on the breadth of Free Software

salsaman salsaman at xs4all.nl
Sun Sep 17 23:15:06 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