当前位置: 首页> 教育> 培训 > C# Benchmark

C# Benchmark

时间:2025/7/11 20:28:57来源:https://blog.csdn.net/henreash/article/details/140078728 浏览次数:0次

创建控制台项目(或修改现有项目的Main方法代码),Nget导入Benchmark0.13.12,创建测试类:

   public class StringBenchMark{int[] numbers;public StringBenchMark() {numbers = Enumerable.Range(1, 20000).ToArray();}[Benchmark(Baseline = true, OperationsPerInvoke = 10)] //OperationsPerInvoke设置太小无法充分测试出性能差异,设置太大耗时较长public string StringConcatenationTesk(){string s = string.Empty;for(var i  = 0; i < numbers.Length; i++){s += numbers[i].ToString() + ",";}return s;}[Benchmark(OperationsPerInvoke = 10)] public string StringBuilderTest() {var builder = new StringBuilder();for(var i =0; i < numbers.Length; ++i){builder.Append(numbers[i].ToString());builder.Append(",");}return builder.ToString();}}
        static void Main(string[] args){BenchmarkRunner.Run<StringBenchMark>();Console.ReadLine();}

右键项目--属性, 勾选优化编译。

运行后得到如下内容:

注:关注StdDev(标准偏差)即可,越小越好。 Mean为平均值,ERROR为标准误差;Ratio为异众比率;

关键字:C# Benchmark

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: