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为异众比率;
相关文章:
C# Benchmark
创建控制台项目(或修改现有项目的Main方法代码),Nget导入Benchmark0.13.12,创建测试类: public class StringBenchMark{int[] numbers;public StringBenchMark() {numbers Enumerable.Range(1, 20000).ToArray();}[Be…...
算法金 | 协方差、方差、标准差、协方差矩阵
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 抱个拳,送个礼 1. 方差 方差是统计学中用来度量一组数据分散程度的重要指标。它反映了数据点与其均值之间的偏离程度。在…...
FastAPI教程II
本文参考FastAPI教程https://fastapi.tiangolo.com/zh/tutorial Cookie参数 定义Cookie参数与定义Query和Path参数一样。 具体步骤如下: 导入Cookie:from fastapi import Cookie声明Cookie参数,声明Cookie参数的方式与声明Query和Path参数…...
Facebook的投流技巧有哪些?
相信大家都知道Facebook拥有着巨大的用户群体和高转化率,在国外社交推广中的影响不言而喻。但随着Facebook广告的竞争越来越激烈,在Facebook广告上获得高投资回报率也变得越来越困难。IPIDEA代理IP今天就教大家如何在Facebook上投放广告的技巧࿰…...
Spring Boot 中的微服务监控与管理
微服务的概述 微服务架构的优点和挑战 优点: 灵活性和可扩展性:微服务架构允许每个服务单独部署和扩展,这使得系统可以更灵活地适应不同的业务需求和负载变化。 使团队更加聚焦:每个微服务都有明确的职责,这使得开发团队可以更加聚焦,专注于开发他们的服务。 技术和框…...
【计算机网络】期末复习(1)模拟卷
一、选择题 1. 电路交换的三个阶段是建立连接、()和释放连接 A. Hello包探测 B. 通信 C. 二次握手 D. 总线连接 2. 一下哪个协议不属于C/S模式() A. SNMP…...
【软件工程中的演化模型及其优缺点】
文章目录 1. 增量模型什么是增量模型?优点缺点 2. 增量-迭代模型什么是增量-迭代模型?优点缺点 3. 螺旋模型什么是螺旋模型?优点缺点 1. 增量模型 什么是增量模型? 增量模型是一种逐步增加功能和特性的开发方法。项目被划分为多…...
Oracle 数据库详解:概念、结构、使用场景与常用命令
1. 引言 Oracle 数据库作为全球领先的关系型数据库管理系统(RDBMS),在企业级应用中占据了重要地位。本文将详细介绍Oracle数据库的核心概念、架构、常用操作及其广泛的使用场景,旨在为读者提供全面而深入的理解。 2. Oracle 数据…...
FreeRTOS的裁剪与移植
文章目录 1 FreeRTOS裁剪与移植1.1 FreeRTOS基础1.1.1 RTOS与GPOS1.1.2 堆与栈1.1.3 FreeRTOS核心文件1.1.4 FreeRTOS语法 1.2 FreeRTOS移植和裁剪 1 FreeRTOS裁剪与移植 1.1 FreeRTOS基础 1.1.1 RTOS与GPOS 实时操作系统(RTOS):是指当…...
能求一个数字的字符数量的程序
目录 开头程序程序的流程图程序输入与打印的效果例1输入输出 例2输入输出 关于这个程序的一些实用内容结尾 开头 大家好,我叫这是我58,今天,我们先来看一下下面的程序。 程序 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>…...
PTA-线性表实验(JAVA)
题目1:Josephus环的问题及算法 【实验内容】 编程实现如下功能: 题意说明:古代某法官要判决n个犯人的死刑,他有一条荒唐的法律,将犯人站成一个圆圈,从第start个犯人开始数起,每数到第distance的…...
LeetCode:494. 目标和
题目 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ ,然后串联起所有整数,可以构造一个 表达式 : 例如,nums [2, 1] ,可以在 2 之前添加 ‘’ ,在 1 之前添…...
HarmonyOS Next开发学习手册——选项卡 (Tabs)
当页面信息较多时,为了让用户能够聚焦于当前显示的内容,需要对页面内容进行分类,提高页面空间利用率。 Tabs 组件可以在一个页面内快速实现视图内容的切换,一方面提升查找信息的效率,另一方面精简用户单次获取到的信息…...
LeetCode2710.移除字符串中的尾随零
cpp class Solution { public:string removeTrailingZeros(string num) {int flag 0;string s num;int size num.length();for (int i num.length() - 1; i > 0; i--) {if (num[i] ! 0)break;if (num[i] 0) {size--;}}s.resize(size);return s;} };...
PPT录屏怎么录?PPT录屏,3种方法简单操作
在数字化时代,PPT已经成为我们日常工作、学习和生活中不可或缺的一部分。无论是商务报告、教学课件还是产品展示,PPT都能帮助我们更加生动、直观地传递信息。然而,有时候我们会面临PPT录屏怎么录的问题。这时,一个好的PPT录屏功能…...
HarmonyOS开发:应用完整性校验
简介 为了确保应用的完整性和来源可靠,OpenHarmony需要对应用进行签名和验签。 应用开发阶段: 开发者完成开发并生成安装包后,需要开发者对安装包进行签名,以证明安装包发布到设备的过程中没有被篡改。OpenHarmony的应用完整性校…...
【MySQL基础篇】SQL指令:DQL及DCL
1、DQL DQL - 介绍 DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据表中的记录。(在MySQL中应用是最为广泛的) 查询关键字:SELECT DQL - 语法 SELECT 字段列表 FROM 表名列表 WHER…...
[C++][设计模式][适配器模式]详细讲解
目录 1.动机2.模式定义3.要点总结4.代码感受 1.动机 在软件系统中,由于应用环境的变化,常常需要将”一些现存的对象“放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足如何应对这些”迁移的变化“?如何既能利用现…...
8080时序驱动TFT显示屏 驱动IC GC9307
8080时序总共有控制线 CS片选线 DC(命令数据控制线) RD读控制线 WR写控制线 和N条数据线。 控制底层代码如下; 写读代码,读的代码反过来就行 inline void TFT8080WriteDat(unsigned char dat) {CS_L;//开始片选DC_H;//写数据 // RD_H;//禁止读WR_H;//禁止写WR_L;//写入…...
K8S 集群节点缩容
环境说明: 主机名IP地址CPU/内存角色K8S版本Docker版本k8s231192.168.99.2312C4Gmaster1.23.1720.10.24k8s232192.168.99.2322C4Gwoker1.23.1720.10.24k8s233(需下线)192.168.99.2332C4Gwoker1.23.1720.10.24 1. K8S 集群节点缩容 当集群中有…...
终极防撤回解决方案:RevokeMsgPatcher完全攻略
终极防撤回解决方案:RevokeMsgPatcher完全攻略 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁(我已经看到了,撤回也没用了) 项目地址: https://gitcode.com/GitHu…...
SMT贴片机核心构造与PCB组装效率提升全解析
1. SMT贴片机核心构造解析 SMT贴片机作为电子制造产线的"心脏",其构造精密程度直接决定了PCB组装的效率和质量。现代贴片机就像一台高度智能化的机器人,由机械系统、电子控制系统和视觉系统三大部分组成。我拆解过不少机型,发现它们…...
nli-distilroberta-base轻量化效果实测:在嵌入式设备上的推理性能与精度
nli-distilroberta-base轻量化效果实测:在嵌入式设备上的推理性能与精度 1. 开篇:当大模型遇上小设备 在树莓派上跑BERT?半年前这还是个笑话。但当我第一次在Jetson Nano上成功运行量化后的nli-distilroberta-base模型时,这个4核…...
MetaTube插件:如何让Jellyfin媒体库实现智能元数据管理
MetaTube插件:如何让Jellyfin媒体库实现智能元数据管理 【免费下载链接】jellyfin-plugin-metatube MetaTube Plugin for Jellyfin/Emby 项目地址: https://gitcode.com/gh_mirrors/je/jellyfin-plugin-metatube 你是否曾经花费数小时手动整理电影库的元数据…...
NaViL-9B多模态提示工程:图文联合prompt编写技巧与示例
NaViL-9B多模态提示工程:图文联合prompt编写技巧与示例 1. 多模态模型简介 NaViL-9B是一款原生支持多模态交互的大语言模型,能够同时处理文本和图像输入。与传统的纯文本模型不同,它具备视觉理解能力,可以分析图片内容并与用户进…...
基于迁移学习的口罩检测模型优化
基于迁移学习的口罩检测模型优化 1. 引言 口罩检测作为计算机视觉领域的一个重要应用场景,在实际部署中常常面临数据量不足、训练成本高、模型泛化能力弱等问题。传统从零开始训练检测模型需要大量标注数据和计算资源,而迁移学习技术能够有效解决这些痛…...
Xinference-v1.17.1GPU算力优化:显存自动分片+KV Cache压缩,72B模型显存占用降40%
Xinference v1.17.1 GPU算力优化:显存自动分片KV Cache压缩,72B模型显存占用降40% 1. 引言:大模型部署的显存困境与曙光 如果你尝试过在单张消费级显卡上部署一个超过70B参数的大语言模型,大概率会看到一个熟悉的错误提示&#…...
造相 Z-Image 电商提效:淘宝主图/拼多多详情页/小红书种草图量产
造相 Z-Image 电商提效:淘宝主图/拼多多详情页/小红书种草图量产 1. 电商视觉内容生产的痛点与机遇 电商卖家每天面临的最大挑战之一就是视觉内容的生产。无论是淘宝主图、拼多多详情页还是小红书种草图文,都需要大量高质量的图片来吸引用户眼球。传统…...
RexUniNLU开源镜像免配置教程:自动下载权重+端口映射一步到位
RexUniNLU开源镜像免配置教程:自动下载权重端口映射一步到位 1. 这不是另一个NLP工具,而是一站式中文语义理解中枢 你有没有遇到过这样的情况:想快速验证一段中文文本里藏着多少信息——谁说了什么、发生了什么事、情绪是好是坏、背后有哪些…...
不只是图表:用Three.js和Vue3打造一个可交互的3D热力图组件库(附完整源码)
不只是图表:用Three.js和Vue3打造一个可交互的3D热力图组件库 在数据可视化领域,3D热力图正逐渐成为展示高密度空间数据的首选方案。传统2D热力图虽然直观,但在表现复杂数据关系时往往力不从心。本文将带您从零开始构建一个生产级Vue3Three.j…...
