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
