Difference between revisions of "Profiling Module"
Jump to navigation
Jump to search
m (Text replace - "| width='90' | '''Signatures'''" to "| width='120' | '''Signatures'''") |
|||
Line 12: | Line 12: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:time|$expr as item()|item()*}}<br />{{Func|prof:time|$expr as item(), $cache as xs:boolean|item()*}}<br />{{Func|prof:time|$expr as item(), $cache as xs:boolean, $label as xs:string|item()*}} | |{{Func|prof:time|$expr as item()|item()*}}<br />{{Func|prof:time|$expr as item(), $cache as xs:boolean|item()*}}<br />{{Func|prof:time|$expr as item(), $cache as xs:boolean, $label as xs:string|item()*}} | ||
|- | |- | ||
Line 31: | Line 31: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:mem|$expr as item()|item()*}}<br />{{Func|prof:mem|$expr as item(), $cache as xs:boolean|item()*}}<br />{{Func|prof:mem|$expr as item(), $cache as xs:boolean, $label as xs:string|item()*}} | |{{Func|prof:mem|$expr as item()|item()*}}<br />{{Func|prof:mem|$expr as item(), $cache as xs:boolean|item()*}}<br />{{Func|prof:mem|$expr as item(), $cache as xs:boolean, $label as xs:string|item()*}} | ||
|- | |- | ||
Line 50: | Line 50: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:sleep|$ms as xs:integer|empty-sequence()}}<br /> | |{{Func|prof:sleep|$ms as xs:integer|empty-sequence()}}<br /> | ||
|- | |- | ||
Line 64: | Line 64: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:human|$number as xs:integer|xs:string}} | |{{Func|prof:human|$number as xs:integer|xs:string}} | ||
|- | |- | ||
Line 79: | Line 79: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:dump|$expr as item()|empty-sequence()}}<br />{{Func|prof:dump|$expr as item(), $label as xs:string|empty-sequence()}}<br /> | |{{Func|prof:dump|$expr as item()|empty-sequence()}}<br />{{Func|prof:dump|$expr as item(), $label as xs:string|empty-sequence()}}<br /> | ||
|- | |- | ||
Line 93: | Line 93: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:current-ms||xs:integer}}<br /> | |{{Func|prof:current-ms||xs:integer}}<br /> | ||
|- | |- | ||
Line 107: | Line 107: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:current-ns||xs:integer}}<br /> | |{{Func|prof:current-ns||xs:integer}}<br /> | ||
|- | |- | ||
Line 123: | Line 123: | ||
{| width='100%' | {| width='100%' | ||
|- | |- | ||
− | | width=' | + | | width='120' | '''Signatures''' |
|{{Func|prof:void|$value as item()*|empty-sequence()}} | |{{Func|prof:void|$value as item()*|empty-sequence()}} | ||
|- | |- |
Revision as of 11:36, 14 June 2013
This XQuery Module contains various testing, profiling and helper functions.
Contents
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.
|
Properties | The function is non-deterministic: evaluation order will be preserved by the compiler. |
Examples |
|
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.
|
Properties | The function is non-deterministic: evaluation order will be preserved by the compiler. |
Examples |
|
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: evaluation order will be preserved by the compiler. |
prof:human
Signatures | prof:human($number as xs:integer) as xs:string
|
Summary | Returns a human-readable representation of the specified $number .
|
Example |
|
prof:dump
Signatures | prof:dump($expr as item()) as empty-sequence() prof:dump($expr as item(), $label as xs:string) as empty-sequence() |
Summary | Dumps a serialized representation of $expr to STDERR , optionally prefixed with $label , and returns an empty sequence. If the GUI is used, the dumped result is shown in the Info View.
|
Properties | In contrast to fn:trace() , the consumed expression will not be passed on.
|
prof:current-ms
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. Its evaluation order will be preserved by the compiler.
|
prof:current-ns
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. Its evaluation order will be preserved by the compiler.
|
prof:void
Signatures | prof:void($value as item()*) as empty-sequence()
|
Summary | Swallows all items of the specified $value and returns an empty sequence. This function is helpful if some code needs to be evaluated and if the actual result is irrelevant.
|
Properties | The function is non-deterministic: evaluation order will be preserved by the compiler. |
Examples |
|
Changelog
- Version 7.7
- Added:
prof:void
- Version 7.6
- Added:
prof:human
- Version 7.5
- Added:
prof:dump
,prof:current-ms
,prof:current-ns
This module was introduced with Version 7.3.