On 20 Nov 2005 at 18:43, Phil Daley wrote:

>  >This is something we already knew, as we were told a long time ago
>  >that when you open a file, its data is spread across multiple temp
>  >files, and each temp file has data from multiple Finale files in it.
>  >It was never clear why Coda chose this method, but one thing it
>  would >accomplish would be to make copying data between files very
>  fast >(since in the temp file, the corresponding data structures
>  would be >in the same file, and copying from one to another would be
>  a matter >of changing pointers, rather than writing data to different
>  files). >That same structure was also suspected of leading to the old
>  file >overwrite bug.
> 
> Is this really true?  That is the most bizarre method of managing temp
> files that I have ever heard of.  It is just asking for bugs.

This is my memory of what we were told several years ago, and my 
memory is that it was someone credible who worked for Coda/MakeMusic 
(though I can't remember exactly who it was who told us this).

But check it yourself -- in Finale 2005 or before, opening additional 
files does not increase the number of temp files in use -- I just 
opened 20 files simultaneously, and the number of temp files didn't 
change (they did get bigger, though).

Of course, there's no reason at all this can't be done properly -- 
after all, your operating system manages to use a single swap file 
for paging out memory from all sorts of applications, so there's 
nothing that requires a 1:1 mapping between files in memory and files 
on disk, you just have to manage them. correctly.

>  >1. Finale doesn't always delete its temp files when it exits.
> 
> Many programs do not delete temp files. Is that a problem?  I probably
> delete my temp file directory 2 or 3 times a week.  I thought that was
> well known.

Glad you're awake now -- I have already said that several times 
during this discussion.

>  >2. Finale sometimes re-uses the file data left over in temp files
>  from previous sessions.
> 
> I cannot believe that this is true.  Every time you create a temp
> file, you check the filename to make sure it is not already there. 
> That's Programming 101.

This is what I've said several times. It could only be very sloppy 
programming that would not check the state of pre-existing temp data 
before trying to re-use the same files. That's just a basic principle 
of using *any* temporary data structures, whether on disk or not -- 
you check if they already exist, and according to whether or not it 
is appropriate, you re-use them, re-initialize them, or destroy and 
recreate them.

It's a very basic principle, one that I'd think very likely for 
MakeMusic to have gotten wrong and not noticed after years and years.

Of course, it is also the case that you can't reliably force Finale 
to orphan its temp files, except by force quitting Finale (i.e., 
preventing it from cleaning up after itself). It's unclear to me 
exactly what has to happen for Finale to fail to clean up after 
itself when you exit in an orderly fashion, but I do know that it 
occasionally does exactly that, for I've seen temp files accumulate 
even though I've had no Finale crashes.

-- 
David W. Fenton                        http://www.bway.net/~dfenton
David Fenton Associates                http://www.bway.net/~dfassoc

_______________________________________________
Finale mailing list
[email protected]
http://lists.shsu.edu/mailman/listinfo/finale

Reply via email to