Re: sgml-parse and GC

Subject: Re: sgml-parse and GC
From: Brandon Ibach <bibach@xxxxxxxxxxxxxx>
Date: Thu, 22 Jul 1999 11:49:44 -0500
Quoting Peter Nilsson <pnidv96@xxxxxxxxxxxxxx>:
> > Didier says:
> > Good points. Then we probably need to introduce an explicit construct that
> > state that the grove is released as soon as the whole process-children is
> > done on the whole grove. The script writer knows the processing context. So,
> > maybe a construct like (process-and-release-node-list) or something similar
> > would do the job. I agree, that current implementation has limitation on
> 
> Maybe sgml-parse-no-cache (as an external procedure) would be easier,
> since it is the grove that is cached (not node lists in general). It
> would:
> - Check if sysid is in cache and return the cached grove.
> - Otherwise load it but not put it in the cache.
> 
> Hopefully, the reference counting mechanism will keep the nodes in memory
> as long as necessary, but I'm not sure.
> 
   Just my quick two cents on where this is going.  My suggestions is
to avoid creating new constructs like (process-and-release-node-list)
or (sgml-parse-no-cache), which require the style sheet writer to
think about memory requirements and availability.  Instead, create
command line options for jade (note, the lower case "j", indicating
reference to the actual executable, which is a part of OpenJade) that
can specify different strategies for memory management, such as one
that tells jade to use all the memory it needs to boost performance,
or one that is more conservative, doing less caching, but potentially
having to reparse something later on as a result.
   I'm just thinking of a situation like Norm's Docbook style sheets.
Whether the result of an (sgml-parse) should be cached is not a
decision Norm should make, and it's not a something that a user should
have to modify his style sheet to change.  It's a decision made based
on the environment where jade is running, and should be controllable
from the command line.

-Brandon :)


 DSSSList info and archive:  http://www.mulberrytech.com/dsssl/dssslist


Current Thread