>All nodes seems to be kept in memory when closing the transformer.
DTM should be garbage-collected when the transformation ends. I've been
running extended tests with several dozen transformations in a single
process, and the performance analyser definitely shows the space being
recovered.
In increental mode, DTM will build only as much of the document tree as it
needs to. That is, if your stylesheet looks only at the first half of the
document, the second half will not take any memory.
What we don't have is a way to discard information from the early part of
the document, or information which was used once but which the stylesheet
will never loot at again. That's the pruning challenge.
>Is it possible to pass "hints" via sax events or via xsl template to
"forget" >certain parts of the tree?
One of the drawbacks of the current version of DTM is that it's
significantly harder to implement that "forgetting", no matter how we
trigger it. Since nodes are stored in arrays rather than there being an
object per node, discarding one node at a time would be quite difficult.
There are some things we might be able to do with discarding contguous
blocks of nodes when they match up with the allocation units of the array,
but that's going to take some work.
>The idea was very appealing to me:
And to us. We do want to do this; we're still trying to figure out how to
make it work. Any suggestions/insights are welcome!