/// <summary> /// Adds an item to the manager (used by Profiler class) /// </summary> /// <param name="FunctionName">Function name/identifier</param> /// <param name="StartTime">Start time (in ms)</param> /// <param name="StopTime">Stop time (in ms)</param> public virtual void AddItem(string FunctionName, int StartTime, int StopTime) { ProfilerInfo Profiler = Profilers.Find(x => x.FunctionName == FunctionName); if (Profiler == null) { Profiler = new ProfilerInfo(); Profiler.FunctionName = FunctionName; Profilers.Add(Profiler); } int Time = (StopTime - StartTime); Profiler.TotalTime += Time; Profiler.MaxTime = Profiler.MaxTime.Max(Time); Profiler.MinTime = Profiler.MinTime.Min(Time); ++Profiler.TimesCalled; }
/// <summary> /// Adds an item to the manager (used by Profiler class) /// </summary> /// <param name="FunctionName">Function name/identifier</param> /// <param name="StartTime">Start time (in ms)</param> /// <param name="StopTime">Stop time (in ms)</param> public void AddItem(string FunctionName, int StartTime, int StopTime) { for(int x=0;x<Profilers.Count;++x) { if (Profilers[x].FunctionName.Equals(FunctionName)) { int Time=(StopTime - StartTime); Profilers[x].TotalTime += Time; if (Profilers[x].MaxTime < Time) Profilers[x].MaxTime = Time; else if (Profilers[x].MinTime > Time) Profilers[x].MinTime = Time; ++Profilers[x].TimesCalled; return; } } ProfilerInfo Info = new ProfilerInfo(); Info.FunctionName = FunctionName; Info.TotalTime = Info.MaxTime = Info.MinTime = StopTime - StartTime; Info.TimesCalled = 1; Profilers.Add(Info); }