Profiling Module

From BaseX Documentation
Revision as of 17:48, 20 July 2012 by CG (talk | contribs)
Jump to navigation Jump to search

This XQuery Module contains functions for XQuery code.

Conventions

All functions in this module are assigned to the http://basex.org/modules/prof namespace, which is statically bound to the prof prefix.
All errors are assigned to the http://basex.org/errors namespace, which is statically bound to the bxerr prefix.

Functions

prof:time

Signatures prof:time($expr as item()) as item()*
prof:time($expr as item(), $cache as xs:boolean) as item()*
prof:time($expr as item(), $cache as xs:boolean, $label as xs:string) as item()*
Summary Measures the time needed to evaluate $expr and sends it to standard error or, if the GUI is used, to the Info View.
If $cache is set to true(), the result will be temporarily cached. This way, a potential iterative execution of the expression (which often yields different memory usage) is blocked.
A third, optional argument $label may be specified to tag the profiling result.
Examples
  • prof:time("1 to 100000") may output 25.69 ms.
  • prof:time("1 to 100000", true()) may output 208.12 ms.

prof:mem

Signatures prof:mem($expr as item()) as item()*
prof:mem($expr as item(), $cache as xs:boolean) as item()*
prof:mem($expr as item(), $cache as xs:boolean, $label as xs:string) as item()*
Summary Measures the memory allocated by evaluating $expr and sends it to standard error or, if the GUI is used, to the Info View.
If $cache is set to true(), the result will be temporarily cached. This way, a potential iterative execution of the expression (which often yields different memory usage) is blocked.
A third, optional argument $label may be specified to tag the profiling result.
Examples
  • prof:mb("1 to 100000") may output 0 Bytes.
  • prof:mb("1 to 100000", true()) may output 26.678 mb.

prof:sleep

Signatures prof:sleep($ms as xs:integer) as empty-sequence()*
Summary Sleeps for the specified number of milliseconds.

Changelog

This module was introduced with Version 7.3.