ProfilingResult class

From Catglobe Wiki
Revision as of 06:24, 2 July 2020 by Administrator (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

ProfilingResult



Class to view the current result of the profiling done.

Parent class

Inherits from object

Constructors

  • () - Get result of current script

Methods

  • Empty Reset() - Remove all profiling results.
  • (From object) string ToString() - The string representation of the object.

Properties

  • number CompileTime { get; } - Number of milliseconds spent on parsing script. Always recorded even if profiling has not been enabled.
  • Dictionary CountResult { get; } - Dictionary of line number and dictionary of line position and number of times executed. Lines not executed are not reported
  • number DependencyGraphTime { get; } - Number of milliseconds spent on calculating where expressions in bulk. Always recorded even if profiling has not been enabled.
  • bool EnableProfiling { get; set; } - When set to true the duration and number of times a statement is executed is recorded.
  • string ObjectTypeName { get; } - The name of the type of object.
  • Array of string Script { get; } - Array of lines in input script.
  • Dictionary SlowLines { get; } - Dictionary of line number and time it took. Does not report lines that took less than 100msec
  • Dictionary TimeResult { get; } - Dictionary of line number and dictionary of line position (-1 == whole line) and time spent in milliseconds. Lines not executed are not reported
  • (From object) TypeInformation TypeInformation { get; } - Get information about this class.
  • number WhereExpTime { get; } - Number of milliseconds spent on calculating where expressions in bulk. Always recorded even if profiling has not been enabled.


Examples

ProfilingResult pr;
pr.EnableProfiling = true;
for(number i = 0; i < 100; i=i+1)
 ;
print(pr.CompileTime); // 0.1198
print(pr.CountResult); // {"4": {"0": 1, "4": 1}, "5": {"0": 100}, "7": {"4": 1}}
print(pr.DependencyGraphTime); // 0
print(pr.TimeResult); // {"4": {"0": 0.0827, "-1": 0.0844, "4": 0.0017}, "5": {"0": 0.0102, "-1": 0.0102}, "7": {"-1": 0.006, "4": 0.006}, "8": {"-1": 0.0209, "4": 0.0209}, "9": {"-1": 0.0022, "4": 0.0022}}
print(pr.WhereExpTime); // 0