Memoization in XQuery

Author: Dave Cassel  |  Category: Software Development

Memoization is tracking partial solutions so that they don’t have to be recalculated. A good example of where this is handy is the Fibonacci sequence. You may remember that the definition of this is: F(n) = F(n -1) + F(n – 2) F(1) = 1 F(2) = 1 Clearly, this is a recursive function. Let’s take a […]

Fixing a slow XQuery function

Author: Dave Cassel  |  Category: Software Development

Sometimes an application is slower to respond than we like. There are a variety of reasons this can happen — hardware, indexes, algorithms. MarkLogic offers some tools to investigate the software aspects of code running too slow. The rest of this post is a case study investigating slow responses on a project I worked on […]

XQuery: finding values in one sequence that aren’t in another

Author: Dave Cassel  |  Category: Software Development

During a recent working session, a question came up about how to quickly find all the values in one sequence that aren’t in another. A little poking around the web turns up what seems to be the standard approach: I found that approach in a couple places, including functx’s implementation. If I’m thinking about it right, […]