Here are some analyses of disc space usage; I know this is a very limited
sample (and hence statistically meaningless), but I think the results are
nonetheless of interest:


                                            MFC     WS     PC     NC     JR

     Disc size:                  (Mbytes)    97.7  162.3  116.1   47.7  100.0

     Number of non-empty files:            6480   7250   3687   3149   7070

     Number of directories:                1504   1485    679    686   1697
                                    
     Sector size:                 (bytes)   512    512    512    256    512

     Allocation unit size:        (bytes)  1024    512   1024    512   1024

     Map size:                   (kbytes)    12.5   41     15     12.25  13

     Minimum fragment size:      (kbytes)    14      8     15      7     14


 (1) Unallocated disc space (free frags):   7.8%   3.4%  49.7%   2.8%   0.5%

 (2) Sector granularity loss:               1.7%   1.1%   0.8%   0.8%   1.8%

 (3) Allocation unit granularity loss:      0.3%    -     0.1%   0.2%   0.3%

 (4) Space locked in shared fragments:     16.0%   4.6%   6.5%   7.0%  15.1%



Notes:

 (1): This is the total number of sectors available for allocation.

 (2): Every file whose length is not an exact multiple of the sector size
       will finish with a sector that is not full. This figure is the total
       amount of space which is wasted in such sectors - on average, it is
       half the sector size per non-empty file.

 (3): This is relevant only if the allocation unit size is greater than the
       sector size. In such a case, an unshared fragment allocated to (the
       last section of) a file may include unused sectors at the end in order
       to round up to a multiple of the allocation unit size. This figure is
       the total amount of such wasted space.

 (4): This is the total number of unused sectors inside shared fragments.
       Such space is available only to files in the same directory as other
       files already in the fragment. This space is "locked" away because of
       the minimum size that a fragment may take.

Comments:

Neither sector granularity loss nor allocation unit granularity loss appear
to be significant.

Space locked inside shared fragments is quite high, and increases
dramatically as the minimum fragment size rises.


Implications for NewCore:

Make sure that space inside shared chunks is also made available to "foreign"
files when the going gets tough.

Don't worry about inefficient space utilisation by very small files.



Jonathan Coxhead's disc:

This disc included a large number (45) of fragments which FileCore believed
to be allocated, whereas no file or directory in the hierarchy claimed to be
stored inside them.

Jonathan decided to reclaim this space by copying all his files to a spare
disc, reinitialising the original disc, and then copying them back (using
FilerAction).

These are the before and after snapshots:

                                           before  after

     Disc size:                  (Mbytes)   116.1  116.1

     Number of non-empty files:            7126   7126

     Number of directories:                1222   1222
                                    
     Sector size:                 (bytes)   512    512

     Allocation unit size:        (bytes)  1024   1024

     Map size:                   (kbytes)    15     15

     Minimum fragment size:      (kbytes)    15     15


 (1) Unallocated disc space (free frags):  10.7%  16.5%

 (2) Sector granularity loss:               1.6%   1.6%

 (3) Allocation unit granularity loss:      0.2%   0.2%

 (4) Space locked in shared fragments:     13.9%  10.2%

 (5) Space locked in unshared fragments:    0.1%    -

 (6) Lost space:                            2.1%    -

Notes:

 (5): Sometimes an unshared fragment is larger than it needs to be to hold
       the (part of the) file it contains; this is the total amount of space
       "locked" in such fragments.

 (6): This is the amount of space which FileCore believes to be in use, but
       which is not; apparently a bug in an earlier version of FileCore
       sometimes caused it to lose track of fragments in this way, especially
       when the disc was full.
