Difference between revisions of "Profiling Module"

From BaseX Documentation
Jump to navigation Jump to search
Line 49: Line 49:
 
| '''Summary'''
 
| '''Summary'''
 
|Sleeps for the specified number of milliseconds.
 
|Sleeps for the specified number of milliseconds.
|}
 
 
==prof:system-time==
 
 
{{Mark|Introduced with Version 7.4:}}
 
 
{|
 
|-
 
| width='90' | '''Signatures'''
 
|{{Func|prof:system-time||xs:time}}<br />
 
|-
 
| '''Summary'''
 
|Returns the current time. In contrast to {{Code|fn:system-time()}}, the function is 'non-deterministic', as it returns different values every time it is called.
 
 
|}
 
|}
  
 
=Changelog=
 
=Changelog=
 
;Version 7.4
 
 
* Added: <code>[[#prof:system-time|prof:system-time]]</code>
 
  
 
This module was introduced with Version 7.3.
 
This module was introduced with Version 7.3.
  
 
[[Category:XQuery]]
 
[[Category:XQuery]]

Revision as of 17:48, 20 July 2012

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.