当前位置: 首页 > news >正文

C# Benchmark

创建控制台项目(或修改现有项目的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为异众比率;

http://www.lryc.cn/news/387355.html

相关文章:

  • 算法金 | 协方差、方差、标准差、协方差矩阵
  • FastAPI教程II
  • Facebook的投流技巧有哪些?
  • Spring Boot 中的微服务监控与管理
  • 【计算机网络】期末复习(1)模拟卷
  • 【软件工程中的演化模型及其优缺点】
  • Oracle 数据库详解:概念、结构、使用场景与常用命令
  • FreeRTOS的裁剪与移植
  • 能求一个数字的字符数量的程序
  • PTA-线性表实验(JAVA)
  • LeetCode:494. 目标和
  • HarmonyOS Next开发学习手册——选项卡 (Tabs)
  • LeetCode2710.移除字符串中的尾随零
  • PPT录屏怎么录?PPT录屏,3种方法简单操作
  • HarmonyOS开发:应用完整性校验
  • 【MySQL基础篇】SQL指令:DQL及DCL
  • [C++][设计模式][适配器模式]详细讲解
  • 8080时序驱动TFT显示屏 驱动IC GC9307
  • K8S 集群节点缩容
  • Web-HTML-事件
  • Installed Build Tools revision xxx is corrupted. Remove and install again 解决
  • AI 与 Python 实战干货:基于深度学习的图像识别
  • 万字长文详解数据结构:树 | 第6章 | Java版大话数据结构 | 二叉树 | 哈夫曼树 | 二叉树遍历 | 构造二叉树 | LeetCode练习
  • NPOI入门指南:轻松操作Excel文件的.NET库
  • 【高性能服务器】服务器概述
  • 003 SSM框架整合
  • web刷题记录(7)
  • 【单片机毕业设计选题24037】-基于STM32的电力系统电力参数无线监控系统
  • Python使用彩虹表来尝试对MD5哈希进行破解
  • 数据恢复篇: 如何在数据丢失后恢复照片