Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Processing time

Help
Anonymous
2010-05-28
2012-10-08

  • Anonymous
    2010-05-28

    We are busy evaluating Saxon EE for a project where we are converting and xml
    file from one format to another using xQuery. I my view the xQuery am
    relatively complicate and there are about 10,000 records contained in the xml
    File. To do the conversion (using Saxon) takes about 49 minutes on my desktop
    when using either the EE version or the non-EE version.
    My question: Should there be a mark able difference in runtime between the CE
    and EE version? If there are, any idea on where I might look?

     
  • Michael Kay
    Michael Kay
    2010-05-28

    Saxon-EE has a more powerful optimizer which will often dramatically improve
    the execution time for this kind of query - it seems fairly clear from your
    figures that there's probably some kind of join going on, and that's usually
    where the Saxon-EE optimizer comes into its own. There are two possibilities
    why you're not seeing an improvement. One is that your query isn't using any
    of the coding patterns that the optimizer recognizes and can handle (for
    example, it might be doing a non-equijoin); the second is that although you've
    downloaded the Saxon-EE software, you haven't actually activated it properly,
    which could be because it didn't find the license file, or something like
    that. The easiest way to guard against the second possibility is to use
    something (e.g. the -val option on the command line) that requires Saxon-EE to
    be enabled.

    If it's the first possibility - the optimizer isn't recognizing any
    opportunities for optimization - then I'm happy to take a look at it; the only
    way the optimizer improves is by adding to the set of coding patterns that it
    recognizes and handles specially. Or I might be able to suggest a better way
    of writing the query.