[Pipet Devel] permanent vs. temporary storage WAS about XML

Brad Chapman chapmanb at arches.uga.edu
Fri May 5 15:30:07 EDT 2000

> "J.W. Bizzaro" wrote:
>> Brad, while we're on this topic, perhaps XML writing should be done 
> when
>> the user chooses to "save" a network.  You could use DOM in-between 
> to
>> speed things up.
> You may recall from my earlier message about the
> "pseudo-distributed-filesystem" that we want to treat networks (of 
the BL and
> PL kind) something like a word-processing document: The user can 
> "new",
> "open", "save", "save as", and "close" for any network.

I understand your point, and it definately would be possible to keep 
everything in dom and save it when the user chooses save, but there 
are 3 problems:

1. XML in dom format can't be parsed using a standard parser, and so 
we always have to use the dom_iterator to iterate through xml. This 
method is *much* slower than parsing with a parser. So I don't think 
we would see a big speed up in everything was in dom.

2. There would be no "crash" recovery since everything would be lost 
if Piper crashes (since nothing is stored in the filesystem).

3. We would have *a lot* of information in memory all of the time, 
which I don't think would scale well to complex applications/scripts 
with lots of nodes. This could also lead to crazy confusing data 
structures in the code. In addition, this would make debugging the 
thing a serious problem. Right now you can often pick up problems by 
browsing the temporarily stored xml, in this case you would have to 
dumb all kinds of xml to a file and sort through it.


More information about the Pipet-Devel mailing list