/// <summary> /// 运行测试 /// </summary> /// <param name="iteration">重复次数</param> /// <param name="name">名称</param> /// <param name="predicate">测试函数</param> /// <returns>包含测试结果的<see cref="CodeTimerResult"/></returns> public static CodeTimerResult Run(int iteration, string name, Action predicate) { var _ctx_priority = System.Threading.Thread.CurrentThread.Priority; System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.Highest; var result = new CodeTimerResult() { Title = name }; predicate(); result.GetSnapshotBefore(); for (var i = 0; i < iteration; i++) { predicate(); } result.GetSnapshotAfter(); //restore environment System.Threading.Thread.CurrentThread.Priority = _ctx_priority; return(result); }
/// <summary> /// 运行测试 /// </summary> /// <param name="iteration">重复次数</param> /// <param name="name">名称</param> /// <param name="predicate">测试函数</param> /// <returns>包含测试结果的<see cref="CodeTimerResult"/></returns> public static CodeTimerResult Run(int iteration, string name, Action predicate) { var _ctx_priority = System.Threading.Thread.CurrentThread.Priority; System.Threading.Thread.CurrentThread.Priority = System.Threading.ThreadPriority.Highest; var result = new CodeTimerResult() { Title = name }; predicate(); result.GetSnapshotBefore(); for (var i = 0; i < iteration; i++) predicate(); result.GetSnapshotAfter(); //restore environment System.Threading.Thread.CurrentThread.Priority = _ctx_priority; return result; }