Changes

Jump to navigation Jump to search
98 bytes added ,  16:18, 27 February 2020
no edit summary
| '''Summary'''
|Measures the execution time and memory consumption required for evaluating the specified {{Code|$expression}} and returns a map with the results. The following {{Code|$options}} are available:
* {{Code|memorytime}}: Include memory consumption execution time in result as {{Code|xs:decimal}} (unit: bytesmilliseconds; default: true).* {{Code|timememory}}: Include execution time memory consumption in result as {{Code|xs:integer}} (unit: millisecondsbytes; default: truefalse).
* {{Code|value}}: Include value in result (default: true).
Helpful notes:
|
* Return a human-readable representation of the memory consumption caused by fetching an XML document (<code>fetch:xml</code> is used, as <code>fn:doc</code> may already be evaluated at compilation time):
<pre classsyntaxhighlight lang="brush:xquery">
prof:track(fetch:xml('factbook.xml'))?memory
=> prof:human()
</presyntaxhighlight>
* The function call <code>prof:track((1 to 1000000)[. mod 2 = 0], map { 'time': false() })</code> will return something similar to:
<pre classsyntaxhighlight lang="brush:xquery">
map {
"memory": 21548400,
"value": (2, 4, 6, 8, 10, ...)
}
</presyntaxhighlight>
|}
| '''Examples'''
| Measures the time of an expression:
<pre classsyntaxhighlight lang="brush:xquery">
let $ns1 := prof:current-ns()
return (
return $ms || ' ms'
)
</presyntaxhighlight>
|}
|-
| 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 />
|-
| '''Summary'''
|-
| '''Summary'''
|Prints a list of all current local and global variable assignments to standard error or, if the GUI is used, to the Info View.<br />As every query is optimized before being evaluated, not all of the original variables may be visible in the output. Moreover, many variables of function calls will disappear because functions are inlined. Function inlining can be turned off by setting the [[Options#INLINELIMIT{{Option|INLINELIMIT]] option }} to <code>0</code>.
|-
| '''Properties'''
| '''Examples'''
|
* {{Code|for $x in 1 to 2 return ($x, prof:variables())}} will dump the values of <code>$x</code> to standard error.
|}
==prof:gc==
 
{{Mark|Introduced with Version 9.2.}}
{| width='100%'
==prof:runtime==
 
{{Mark|Introduced with Version 9.2.}}
{| width='100%'
=Changelog=
;Version 9.12
* Added: [[#prof:gc|prof:gc]], [[#prof:runtime|prof:runtime]]
* Updated: [[#prof:track|prof:track]]: decimal timing results; by default no memory profiling
;Version 9.0
Bureaucrats, editor, reviewer, Administrators
13,550

edits

Navigation menu