diag codePerformance: Difference between revisions

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Text replacement - "\| *arma3 * * *\| *([0-2]\.[0-9]{2}) * " to "|game1= arma3 |version1= $1 ")
m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ")
Line 10: Line 10:
|descr= Attempts to run given code with given arguments given number of cycles in unscheduled environment and returns average time it took to run the code as well as actual number of executions performed. The command will return as soon as possible if the tested code is slow and the duration of the command exceeds 1 second. Engine alternative to [[BIS_fnc_codePerformance]]{{Feature|Informative|For security purposes, this command will only run for 1 cycle in MP, unless in-game [[Mission_Editor:_Debug_Console_(Arma_3)|debug console]] is available via [[description.ext]] option or [[Eden]] attribute setting.}}
|descr= Attempts to run given code with given arguments given number of cycles in unscheduled environment and returns average time it took to run the code as well as actual number of executions performed. The command will return as soon as possible if the tested code is slow and the duration of the command exceeds 1 second. Engine alternative to [[BIS_fnc_codePerformance]]{{Feature|Informative|For security purposes, this command will only run for 1 cycle in MP, unless in-game [[Mission_Editor:_Debug_Console_(Arma_3)|debug console]] is available via [[description.ext]] option or [[Eden]] attribute setting.}}


|s1=   '''diag_codePerformance''' [code, arguments, cycles]
|s1= '''diag_codePerformance''' [code, arguments, cycles]


|p1= [code, arguments, cycles]: [[Array]]
|p1= [code, arguments, cycles]: [[Array]]

Revision as of 22:03, 19 June 2021

Hover & click on the images for description

Description

Description:
Attempts to run given code with given arguments given number of cycles in unscheduled environment and returns average time it took to run the code as well as actual number of executions performed. The command will return as soon as possible if the tested code is slow and the duration of the command exceeds 1 second. Engine alternative to BIS_fnc_codePerformance
For security purposes, this command will only run for 1 cycle in MP, unless in-game debug console is available via description.ext option or Eden attribute setting.
Groups:
DiagnosticPerformance Profiling

Syntax

Syntax:
diag_codePerformance [code, arguments, cycles]
Parameters:
[code, arguments, cycles]: Array
code: Code - code to compare performance
arguments (Optional): Anything - arguments to pass to the code in _this variable. Default: nil
cycles (Optional): Number - wanted number of cycles to run the given code. > 1000 is recommended. Default: 100000
Return Value:
Array - format [duration, cycles], where:
  • duration: Number - average duration of 1 execution in milliseconds
  • cycles: Number - actual number of cycles executed

Examples

Example 1:
_result = diag_codePerformance [{private _a = 123;}, 0, 10000];

Additional Information

See also:
diag_logBIS_fnc_codePerformanceCode Optimisation

Notes

Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note