[comp.sys.mac] Why can't the Finder show folder sizes?

matthews@batcomputer.tn.cornell.edu (Dave Matthews) (06/16/88)

Every once in a while I go back to an old MFS disk and I'm always startled by 
what a wonderful thing it is to have the Finder display the total number of 
bytes in each folder when I View by Name, instead of giving me just "-- 
folder".  

Of course having "real" HFS folders is better than the old imaginary ones, but 
I don't understand why it should deprive us of this useful feature.  DiskTop 
isn't much more helpful; it will inform me that a folder contains "14 
files/folders" but it still won't tell me how much they amount to until I open 
the folder, and then I have to add it up myself - unless of course some of the 
14 are folders, in which case it's time to pull out pencil and pad and start 
manually trudging through the hierarchy.  Isn't this the kind of trudgery 
computers are supposed to do for us?

The worst thing is, I *know* the Finder knows that information.  If you do a 
Get Info on the folder, there it is.  The stubborn thing just refuses to show 
it in a simple list.  How frustrating!

If anybody's interested, I have $10 ready for the first DA that can supply 
this simple function.  $20 if it will also access (read and write) the Get 
Info comments of folders and files. 

Disgruntledly,
- Dave Matthews
  ARPA:matthews@tcgould.tn.cornell.edu             BITNET:matthews@crnlthry
  USENET:...{cmcl2,shasta,uw-beaver,rochester}!cornell!batcomputer!matthews

barmar@think.COM (Barry Margolin) (06/16/88)

In order for the Finder to tell you the total size of a folder, it
must add up the sizes of all the folders contained within that folder,
which requires it to add up the sizes of all the folders contained
within that, etc.  In other words, if you were to open up a disk icon
in non-icon display mode, it would have to access the directory
entries for every file on the disk.  For a large disk this process
could be time consuming.  If the disk is being accessed over the
network (e.g. using AppleShare) it would be even slower.

When you do a Get Info on a folder, it does this summation of all
folders subordinate to the one you are getting info on.  Since Get
Info is a less frequent operation than simply opening a folder, the
expense is more justifiable.

Barry Margolin
Thinking Machines Corp.

barmar@think.com
uunet!think!barmar

jurjen@cwi.nl (Jurjen N.E. Bos) (06/16/88)

In article <5173@batcomputer.tn.cornell.edu> matthews@tcgould.tn.cornell.edu (Dave Matthews) writes:
>Every once in a while I go back to an old MFS disk and I'm always startled by 
>what a wonderful thing it is to have the Finder display the total number of 
>bytes in each folder when I View by Name, instead of giving me just "-- 
>folder".  
>
>The worst thing is, I *know* the Finder knows that information.  If you do a 

The finder does only know the information by adding up all the sizes in
the directory (and subdirectories). This takes a lot of time, and the finder
does not want to let you wait that long. Of course it is a good idea to store
this information per folder, so that it only has to be recomputed if something
is changed. But it still can delay your information annoyingly.

-- 
  -- Jurjen N.E. Bos (jurjen@cwi.nl)

gae@osupyr.mast.ohio-state.edu (Gerald Edgar) (06/16/88)

To see how much is in a folder, "Get Info" about the folder.
Personally, I am glad that this is not done automatically, since
it takes a long time for a folder with thousands of files in it
(I know from experience!).
-- 
  Gerald A. Edgar                               TS1871@OHSTVMA.bitnet
  Department of Mathematics                     gae@osupyr.mast.ohio-state.edu
  The Ohio State University                     gae@osupyr.UUCP
  Columbus, OH 43210                            70715,1324  CompuServe

macak@lakesys.UUCP (Jim Macak) (06/17/88)

In article <5173@batcomputer.tn.cornell.edu> matthews@tcgould.tn.cornell.edu (Dave Matthews) writes:
>
>Every once in a while I go back to an old MFS disk and I'm always startled by 
>what a wonderful thing it is to have the Finder display the total number of 
>bytes in each folder when I View by Name, instead of giving me just "-- 
>folder".  
>
>Of course having "real" HFS folders is better than the old imaginary ones, but 
>I don't understand why it should deprive us of this useful feature.  DiskTop 
>isn't much more helpful; it will inform me that a folder contains "14 
>files/folders" but it still won't tell me how much they amount to until I open 
>the folder, and then I have to add it up myself - unless of course some of the 
>14 are folders, in which case it's time to pull out pencil and pad and start 
>manually trudging through the hierarchy.  Isn't this the kind of trudgery 
>computers are supposed to do for us?

 (Paragraph omitted)

I miss that info from the good old MFS Finder too.  However, the DiskTop DA
_does_ supply info on Folder sizes, and quite elegantly, I think.  Just open
DiskTop, click on a Folder, choose the "Sizes" button, and DiskTop puts up a
dialogue box saying something like "You have ## item(s) selected, accounting for
approximately ###K on disk."  It will calculate the total size of all the
items that you have hilighted, so you can get the size of several folders
added together if you wish.  Also, the size calculation accounts for disk
space used by folders within folders, as you would expect.

I have a feeling that you may have an outdated version of DiskTop.  I believe
that v. 3.0.3 is the latest.  You should really upgrade if you are a
registered user.  (I think the upgrade fee is $10 or less.)

>If anybody's interested, I have $10 ready for the first DA that can supply 
>this simple function.  $20 if it will also access (read and write) the Get 
>Info comments of folders and files. 

Well, do I get a Finder's fee for telling you about this feaure of DiskTop?
Granted that I had nothing to do in writing this great DA, but "consultants"
ought to be paid too, no?  :-)

Also, though DiskTop does not allow you to read/write the "Get Info" text that
the Finder uses, you can enter your own "Get Info" sort of text using DiskTop.
The info is stored differently than how it is stored via the Finder's "Get
Info" box, and consequently is not lost when your Desktop file is rebuilt.  To
access thjis feature of DiskTop, just choose "Get Info" from the DiskTop menu,
after having hilighted a file in DiskTop's window.  You get a window then that
allows you to enter text, change file type, creator and attributes.  Nice!

Jim

-- 

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Jim -->  macak@lakesys.UUCP (Jim Macak)  {Standard disclaimer, nothin' fancy!}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

kiyun@mirror.TMC.COM (KiYun Roe) (06/18/88)

In article <5173@batcomputer.tn.cornell.edu> matthews@tcgould.tn.cornell.edu (Dave Matthews) writes:

>DiskTop 
>isn't much more helpful; it will inform me that a folder contains "14 
>files/folders" but it still won't tell me how much they amount to until I open 
>the folder, and then I have to add it up myself - unless of course some of the 
>14 are folders, in which case it's time to pull out pencil and pad and start 
>manually trudging through the hierarchy.  Isn't this the kind of trudgery 
>computers are supposed to do for us?

I don't know what version of DiskTop you have, but DiskTop version 3.xx
has a Sizes command that does this for you.

dorourke@polyslo.UUCP (David O'Rourke) (06/18/88)

In article <5173@batcomputer.tn.cornell.edu> matthews@tcgould.tn.cornell.edu (Dave Matthews) writes:
>The worst thing is, I *know* the Finder knows that information.  If you do a 
>Get Info on the folder, there it is.  The stubborn thing just refuses to show 
>it in a simple list.  How frustrating!

  Have you ever noticed the large amount of disk access after you choose
get info on a folder.  I don't know this for a fact, but I assume that the
finder is traversing the tree to add up all of the bytes in this folder.  So
the finder doesn't "know" the folder size, it just figures it out for you
when you choose get info.  Try it with about 60 files, and some folders with
files in them and you will notice a large lag time while the finder calculates
the folder size.  It is this lag time that prevents the finder from displaying
the folder size in a list.  I guess they didn't want to make you wait for the
traversal of each folder just to show you the size in the list.


-- 
David M. O'Rourke

Disclaimer: I don't represent the school.  All opinions are mine!

matthews@batcomputer.tn.cornell.edu (Dave Matthews) (06/19/88)

I asked 
1. why the Finder can't show the sizes (total contents in bytes) of folders, 
   like the old MFS finder did,
2. whether there is a desk accessory that does this, and
3. whether there is a desk accessory that can read and write the Finder's 
   Get-Info comments from the Desktop file.

Many people responded helpfully and I thank them all.  Summary:
   The Finder doesn't keep information about the total contents of a folder, 
only its immediate contents the next level down.  The only time it searches 
deeper is in response to a Get Info command.  Tracing through a whole 
subdirectory tree can be very time-consuming, so it makes sense for the Finder 
to do this only when specifically requested to.
   Rejoinder:  In the process of Getting-Info the Finder finds out the Whole 
Story on the subfolder structure of my folder of interest, but all it gives me 
in return for cooling my heels for however long it takes is one lousy number.  
Why can't it at least show the subtotals for each folder one level down?  That 
would be the equivalent of what the old MFS Finder showed in its View By Name 
window, which is all I asked for.  To be only a bit more visionary (Alan Kay 
eat your heart out), why can't it optionally show me the Whole Story - the 
complete tree as an outline-style list of folder names with their total bytes 
and number of files?  Presumably this would require a scrolling window to 
display; and it might also be nice to be able to print out the results or to 
save them as an Acta document.  Dreaming...

More summary:
   The current version of DiskTop, 3.0.3, has a Sizes button that will add up 
the total bytes in all subfolders.  This is essentially the same function as 
the Finder's Get Info except that if multiple folders and files are selected 
you get one number for the whole set rather than a number for each in separate 
windows.
   UTILITY-SHOWSIZES.HQX in the info-mac directory at sumex-aim is a shareware 
application by Jon Pugh that graphically displays the total sizes of all 
folders in a given folder.  (I.e. it only shows one level at a time, which is 
what I was asking for.)
   DiskTop now also allows you to attach (write and read) comments to 
individual files and folders.  Not the Finder's Get Info comments but a 
separate set, which is fine with me.  My check is in the mail!

Another question:
*Why* doesn't the Finder maintain a data structure with all the information 
about folder sizes?  Naively, it seems like all that would be needed is a 
linked list with one record for each file or folder, containing its current 
size and a pointer to the record for the next higher-level folder.  To update 
whenever somebody does a Save, it would have to read and modify x records, x = 
how deep the file is in the hierarchy.  Is that a lot of disk access?

Thanks again to all for their helpfulness!

- Dave Matthews
  ARPA:matthews@tcgould.tn.cornell.edu             BITNET:matthews@crnlthry
  USENET:...{cmcl2,shasta,uw-beaver,rochester}!cornell!batcomputer!matthews

rudolph@intelisc.UUCP (David Rudolph) (06/21/88)

In article <22068@think.UUCP> barmar@kulla.think.com.UUCP (Barry Margolin) writes:
>
>In order for the Finder to tell you the total size of a folder, it
>must add up the sizes of all the folders contained within that folder,
>which requires it to add up the sizes of all the folders contained
>within that, etc.  
>...

How about at least providing an option (maybe set in the control panel??)
to show folder sizes if desired.  Since I tend to use shallow tree depths
(not many subsubsub...folders), I don't think it would be very time
consuming in my case.  It would also be useful on floppies, where it
couldn't take too much time.

David Rudolph		rudolph@isc.intel.com

tim@ism780c.isc.com (T.W."Tim" Smith, Knowledgian) (06/22/88)

matthews@tcgould.tn.cornell.edu (Dave Matthews) writes:
< *Why* doesn't the Finder maintain a data structure with all the information 
< about folder sizes?  Naively, it seems like all that would be needed is a 

How is the Finder supposed to know what files I have modified?
-- 
Tim Smith				tim@ism780c.isc.com
"I don't practice what I preach because I'm not the
                       kind of person I'm preaching to" -- J.R. "Bob" Dobbs

alexis@dasys1.UUCP (Alexis Rosen) (06/24/88)

tim@ism780c.isc.com (T.W."Tim" Smith, Knowledgian) writes:
>matthews@tcgould.tn.cornell.edu (Dave Matthews) writes:
>< *Why* doesn't the Finder maintain a data structure with all the information
>< about folder sizes?  Naively, it seems like all that would be needed is a
>How is the Finder supposed to know what files I have modified?

Actually, it *DOES* already. I'm not sure how, since I haven't taken the Finder
apart, but my best guess is that the Finder patches certain FS traps. You can
see this in action if you use MultiFinder. If you put a folder's window where
you can see it while an Application is in the foreground, and then you create
a new file in that folder with that app, it will show up immediately in the
folder! Obviously the Finder is Juggler-aware :-)

This is also true of any change in a file's size. The finder knows about it
right away, whether or not you close and re-open the folder.

Despite all of the above, keeping all the file sizes in memory is a rotten idea.
It's just one more thing to eat up RAM, just one more thing to slow the finder
down. If you really want to know, ask it with the "Get Info" command.

/Alexis
-- 
Alexis Rosen                       {allegra,philabs,cmcl2}!phri\
Writing from                       {bellcore,harpo,cmcl2}!cucard!dasys1!alexis
The Big Electric Cat                  {portal,well,sun}!hoptoad/
Public UNIX                         if mail fails: ...cmcl2!cucard!cunixc!abr1

lazarus@athena.mit.edu (Michael Friedman) (06/26/88)

In article <280@intelisc.UUCP} rudolph@intelisc.UUCP (David Rudolph) writes:
}In article <22068@think.UUCP} barmar@kulla.think.com.UUCP (Barry Margolin) writes:

}}In order for the Finder to tell you the total size of a folder, it
}}must add up the sizes of all the folders contained within that folder,
}}which requires it to add up the sizes of all the folders contained
}}within that, etc.  
}}...

}How about at least providing an option (maybe set in the control panel??)
}to show folder sizes if desired.  Since I tend to use shallow tree depths
}(not many subsubsub...folders), I don't think it would be very time
}consuming in my case.  It would also be useful on floppies, where it
}couldn't take too much time.

To the best of my recollection, the data type for folders has a lot of
free space in it. A long word in it could contain the size of the
folder. Any time anything was changed you move back up the tree
changing totals. Most people don't use more than 5 or 6 levels for
their commonly accessed files so this wouldn't take too long.



As long as the American Dream is for Americans only |||Mike Friedman
it will remain our dream but not our destiny.       |||quoting somebody.