Geert, I expect that the xdmp update functions also operate by walking the input tree and copying it an output tree. Otherwise how would you have multi-version concurrency?
But the xdmp functions are implemented in C++, which makes a difference. You might be able to quantify that difference by comparing xmdp:node-replace with the equivalent in-memory operations plus xdmp:document-insert. That kind of evidence could help persuade someone at MarkLogic that the feature would be worthwhile. Ryan, I think you could improve performance even more with judicious use of function mapping. It is often faster than FLWOR expressions are. You might also see if there is a way to use cts:highlight for some operations, since that is a C++ function. -- Mike On 17 Apr 2012, at 07:02 , Geert Josten wrote: > Where can we find the code itself? > > And how much does it resemble the kind of updates allowed in XQUF? > > By the way, was kind of hoping MarkLogic would allow applying the xdmp node > update functions (or copies of those) to in memory structures as well. Direct > manipulation of the tree, without copying it recursively would be way faster.. > > Kind regards, > Geert > > > Van: [email protected] > [mailto:[email protected]] Namens Ryan Dew > Verzonden: dinsdag 17 april 2012 15:47 > Aan: MarkLogic Developer Discussion > Onderwerp: [MarkLogic Dev General] New Module for Memory Operations on XML > > I've been working on my own module for updating XML in memory. It has greater > functionality than the module shipped with MarkLogic, such as performing > multiple operations at one time, and better performance from what I have been > able to measure. You can see my post on it at > http://maxdewpoint.blogspot.com/2012/04/lessons-learned-from-xquery-xml-memory.html. > I would love to get some input from the MarkLogic community on this. > > -Ryan Dew > _______________________________________________ > General mailing list > [email protected] > http://developer.marklogic.com/mailman/listinfo/general _______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
