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 .
|
Properties
|
The function is non-deterministic.
|
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 .
|
Properties
|
The function is non-deterministic.
|
prof:sleep
Signatures
|
prof:sleep($ms as xs:integer) as empty-sequence()*
|
Summary
|
Sleeps for the specified number of milliseconds.
|
Properties
|
The function is non-deterministic.
|
prof:current-ms
Template:Mark
Signatures
|
prof:current-ms() as xs:integer
|
Summary
|
Returns the number of milliseconds passed since 1970/01/01 UTC. The granularity of the value depends on the underlying operating system and may be larger. For example, many operating systems measure time in units of tens of milliseconds.
|
Properties
|
In contrast to fn:current-time() , the function is non-deterministic, as it returns different values every time it is called.
|
prof:current-ns
Template:Mark
Signatures
|
prof:current-ns() as xs:integer
|
Summary
|
Returns the current value of the most precise available system timer in nanoseconds.
|
Properties
|
In contrast to fn:current-time() , the function is non-deterministic, as it returns different values every time it is called.
|
Changelog
- Version 7.4
This module was introduced with Version 7.3.