Thanks, Christian.  I have not run into anything yet.  In fact, I'm still
deciding between Marklogic and BaseX and this is one area that I want to
make sure I understand before I take the plunge.  I haven't even looked at
how I would handle web request threads or compiled query caching in
Marklogic yet, so I'm still pretty naive.  I appreciate your response.  It
looks like I read the situation right.  I might be over-thinking the
parse/compile overhead -- I'm underexposed to interpreted languages on
servers.

Aside: the race is close, with BaseX in the lead.  BaseX supports Xquery
Update Facility and Java function imports, Marklogic has rollbacks and
schema awareness (to what extent I don't yet know).  I need to figure out
how/if I can efficiently integrate BaseX with Saxon as a middle tier so
that they can share DOM and SAX objects.  The servlex project is
interesting: https://code.google.com/p/servlex/



On Sat, Apr 13, 2013 at 1:58 PM, Christian Grün
<[email protected]>wrote:

> > One use case where this might be a problem is when you want all of your
> > queries compiled at your application start time (using
> > QueryProcessor::compile()).  This is a speed/CPU load issue.
>
> This is something we want to tackle within the query processor
> architecture: query modules that are requested multiple times will
> automatically be cached and reused. As you may have seen, however,
> parsing and compilation time is usually pretty fast unless the number
> of linked library modules isn’t that extensive.
>
> It would be interesting to hear if you (or someone else) has already
> encountered a real bottleneck of the current client/server
> architecture or the XQuery parsing/compilation step?
>
> Christian
> ___________________________
>
> On Fri, Apr 12, 2013 at 5:03 PM, Stu Salsbury <[email protected]>
> wrote:
> >
> > Please tell me I'm wrong it this is done automagically for modules
> stored in
> > the database, but my impression is it doesn't happen until you call
> compile
> > or execute (which calls compile).
> >
> > I'm working in Java and plan to use Apache Commons Pool to store a bunch
> of
> > sessions with associated start-time-compiled queries for the threads of
> my
> > website requests. Can anyone see any problems with this approach?
> >
> >
> >
> > On Fri, Apr 12, 2013 at 1:30 AM, Christian Grün <
> [email protected]>
> > wrote:
> >>
> >> Hi Michael,
> >>
> >> > I didn’t check how the client API works in details, but is it made in
> >> > such a
> >> > way that only one query at a time can be sent? Should I use a new
> >> > Session
> >> > instance for every single query sent to the server?
> >>
> >> exactly, that’s the way our sessions work: If you want to run queries
> >> in parallel, you’ll have to create multiple sessions. In the use cases
> >> we are familiar with, this works out fine, because creating a new
> >> session is a pretty light-weight operation.
> >>
> >> Hope this helps,
> >> Christian
> >> _______________________________________________
> >> BaseX-Talk mailing list
> >> [email protected]
> >> https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
> >
> >
> >
> > _______________________________________________
> > BaseX-Talk mailing list
> > [email protected]
> > https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk
> >
>
_______________________________________________
BaseX-Talk mailing list
[email protected]
https://mailman.uni-konstanz.de/mailman/listinfo/basex-talk

Reply via email to