Difference between revisions of "Profiling Module"
Jump to navigation
Jump to search
Line 58: | Line 58: | ||
| '''Properties''' | | '''Properties''' | ||
|The function is ''non-deterministic''. | |The function is ''non-deterministic''. | ||
+ | |} | ||
+ | |||
+ | ==prof:dump== | ||
+ | |||
+ | {{Mark|Introduced with Version 7.4:}} | ||
+ | |||
+ | {| | ||
+ | |- | ||
+ | | width='90' | '''Signatures''' | ||
+ | |{{Func|prof:dump|$expr as item()|empty-sequence()}}<br />{{Func|prof:dump|$expr as item(), $label as xs:string|empty-sequence()}}<br /> | ||
+ | |- | ||
+ | | '''Summary''' | ||
+ | |Dumps a serialized representation of {{Code|$expr}} to {{Code|STDERR}}, optionally prefixed with {{Code|$label}}, and returns an empty sequence. If the GUI is used, the dumped result is shown in the [[Graphical User Interface#Visualizations|Info View]]. | ||
+ | |- | ||
+ | | '''Properties''' | ||
+ | |In contrast to {{Code|fn:trace()}}, the consumed expression will not be passed on. | ||
|} | |} | ||
Line 96: | Line 112: | ||
;Version 7.4 | ;Version 7.4 | ||
− | * Added: <code>[[#prof:current-ms|prof:current-ms]]</code>, <code>[[#prof:current-ns|prof:current-ns]]</code> | + | * Added: <code>[[#prof:dump|prof:dump]]</code>, <code>[[#prof:current-ms|prof:current-ms]]</code>, <code>[[#prof:current-ns|prof:current-ns]]</code> |
This module was introduced with Version 7.3. | This module was introduced with Version 7.3. | ||
[[Category:XQuery]] | [[Category:XQuery]] |
Revision as of 19:52, 6 August 2012
This XQuery Module contains functions for XQuery code.
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.
|
Examples |
|
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 |
|
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: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.
|
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.
|
Changelog
- Version 7.4
- Added:
prof:dump
,prof:current-ms
,prof:current-ns
This module was introduced with Version 7.3.