返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C#中Span相关的性能优化建议
  • 173
分享到

C#中Span相关的性能优化建议

2024-04-02 19:04:59 173人浏览 安东尼
摘要

目录引言什么是Span关于String的一段性能提升测试代码最终性能对比写在最后引言 C# 是一门现代化的编程语言,与Java十分的相似。熟练的开发者甚至能三天无缝切换到Java。

引言

C# 是一门现代化的编程语言,与Java十分的相似。熟练的开发者甚至能三天无缝切换到Java。生态性能也是遍地开花。今天, 让我们来学习一下C#中的Span相关的性能优化

什么是Span

System.Span 是在 .net 中发挥关键作用的新值类型。使用它,可以表示任意内存的相邻区域,无论相应内存是与托管对象相关联,还是通过互操作由本机代码提供,亦或是位于堆栈上。除了具有上述用途外,它仍能确保安全访问和高性能特性,就像数组一样。

读过官网的一段描述,可知:Span是一个值类型。他的价值在于可以让我们将任何类型存放于相邻区域。这包括:

  • 非托管内存
  • 堆栈
  • 托管内存

关于String的一段性能提升

有些网站呀,做完活动后,通常会公布中奖名单(doge)。现在的需求是,我们要将用户名的中间几个字打码,例如:林深鹿 ,我们要将其写为林*鹿 来保护用户隐私 。

来看一段代码:

我们将 “程序媛小庄” 作为参数,拼接了一下字符串,来看下输出结果:

非常的nice,非常的easy

接下来,我们来使用Span实现:


static void Main(string[] args)
{
    Console.WriteLine(ObfuscatePhoneSpan("程序媛小庄"));
}

static string ObfuscatePhoneSpan(string id)
{
    return string.Create(id.Length, id, (sc, value) =>
    {
        int n = id.Length / 2;
        int r = id.Length - (id.Length * 20 / 100) - n; //需替换的个数 = (总长) - (20%) - (一半)

        value.AsSpan().CopyTo(sc);
        sc.Slice(n, r).Fill('*');
    });
}

value 变量是个字符串,它提供了AsSpan方法,让我们得到了Span的实例,最终通过Slice方法从n截取r个字符,并填充为 *

测试代码

最终性能对比

写在最后

上述代码Span无论是在内存占用还是平均时间上都超过了string 原生的api

Span 提供的一系列API,让我们能够在C#上使用本机代码,给我们以更强的性能。

到此这篇关于C#中Span相关性能优化建议的文章就介绍到这了,更多相关c# Span性能优化内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C#中Span相关的性能优化建议

本文链接: https://lsjlt.com/news/131819.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C#中Span相关的性能优化建议
    目录引言什么是Span关于String的一段性能提升测试代码最终性能对比写在最后引言 C# 是一门现代化的编程语言,与Java十分的相似。熟练的开发者甚至能三天无缝切换到Java。...
    99+
    2024-04-02
  • MYSQL性能优化以及建议
    业务代码组合逻辑后进行数据库操作,如根据波次进行库存分配,可以将波次里面的订单所有明细进行分组,然后匹配库存。2、将大字段、不常用字段放置到扩展表中,将经常使用(状态、数量、编号)放到一张表中,预防经常查询所有字段带来很多网络流量开销。3...
    99+
    2021-05-06
    MYSQL性能优化以及建议
  • CSS图片优化的相关建议有哪些
    CSS图片优化的相关建议有哪些,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。  CSS图片优化就是尽量压缩图片的大小,加快页面加载速度,这对于...
    99+
    2024-04-02
  • Python性能优化的建议有哪些
    这篇文章主要介绍“Python性能优化的建议有哪些”,在日常操作中,相信很多人在Python性能优化的建议有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python性能优化的建议有哪些”的疑惑有所帮助!...
    99+
    2023-06-02
  • C#开发建议:性能优化与资源管理
    C#开发建议:性能优化与资源管理在C#开发中,性能优化和资源管理是至关重要的方面。良好的性能和资源管理可以提高应用程序的运行效率,减少资源浪费,提升用户体验。本文将针对C#开发中的性能优化和资源管理进行探讨和建议。使用合适的数据类型在C#开...
    99+
    2023-11-22
    优化 资源管理 C#性能
  • C#开发建议:提升代码质量与性能优化
    C#开发建议:提升代码质量与性能优化在当今软件开发行业中,C#作为一种广泛应用的编程语言,被用于开发各种类型的应用程序,涉及各种规模的项目。然而,随着项目规模的扩大和软件应用的功能复杂性增加,开发人员在开发C#应用程序时往往面临着提升代码质...
    99+
    2023-11-22
    性能优化 代码质量 C#语言
  • CSS优化总结——网络性能与语法性能建议
    在前端面试中最常见的问题就是页面优化和缓存(貌似也是页面优化),被问了几次后心虚的不行,平然平时多少会用到一些,但突然问我,很难把自己知道的都说出来。页面优化明显不是一两句能够说完的,这两天总结了一下css相关的优化知识...
    99+
    2022-06-12
    CSS 语法 网络
  • MySQL SSL 连接性能分析与优化建议
    MySQL SSL 连接性能分析与优化建议随着网络安全问题的日益凸显,越来越多的应用程序选择使用 SSL 加密技术来保护数据传输的安全性。在 MySQL 数据库中, SSL 连接也被广泛应用。然而,由于 SSL 连接需要进行加密与解密操作,...
    99+
    2023-10-22
  • Golang开发建议:如何优化代码性能
    在Golang开发中,优化代码性能是一个非常重要的问题。代码性能优化可以极大地提高程序的运行效率,减少资源的浪费,提高用户的使用体验。下面,我们将介绍一些优化Golang代码性能的方法。选择更高效的数据结构在Golang开发中,数据结构的选...
    99+
    2023-11-22
    性能 内存 并发
  • Python开发建议:如何优化代码性能
    Python开发建议:如何优化代码性能引言:Python是一种易于学习和使用的编程语言,但在处理大规模数据和复杂计算时,它的性能可能会受到限制。本文将介绍一些优化Python代码性能的方法和技巧,帮助开发人员提高程序效率,从而加快代码运行速...
    99+
    2023-11-22
    代码优化技巧 Python性能优化 性能调优技巧
  • MySQL高性能优化规范建议,速度收藏
    数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名识意,并且最后不要超过 3...
    99+
    2020-07-11
    MySQL高性能优化规范建议,速度收藏 数据库入门 数据库基础教程 数据库 mysql
  • .NET程序的性能要领和优化建议有哪些
    本篇文章给大家分享的是有关.NET程序的性能要领和优化建议有哪些,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。提供了一些性能优化的建议,这些经验来自于使用托管代码重写C# 和 ...
    99+
    2023-06-17
  • Golang在Mac系统下的性能表现及优化建议
    Golang在Mac系统下的性能表现及优化建议 随着互联网技术的不断发展,Golang作为一种高性能的编程语言,越来越受到开发者的青睐。在Mac系统下,使用Golang进行开发也是一种...
    99+
    2024-03-02
    优化 mac golang 内存占用
  • Golang开发建议:如何进行高效的性能调优和优化
    Golang开发建议:如何进行高效的性能调优和优化随着互联网和大数据时代的到来,软件的性能要求也越来越高。作为一种快速、高效、并发性好的编程语言,Golang在构建高性能应用程序方面表现出色。然而,即使使用了Golang,也不意味着就能够轻...
    99+
    2023-11-22
    优化 Golang 性能调优
  • C#的性能如何优化
    这篇文章主要讲解了“C#的性能如何优化”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#的性能如何优化”吧!减少重复代码这是最基本的优化方案,尽可能减少那些重复做的事,让他们只做一次,比较常...
    99+
    2023-06-17
  • C++ 函数性能优化中的 CPU 指令集优化
    cpu指令集优化是一种通过利用现代cpu特定指令来提升函数性能的技术,包括:avx指令集:提供simd指令,一次处理多个数据元素,提高性能。sse指令集:提供simd指令和高级功能,如安...
    99+
    2024-04-23
    c++
  • C++ 中如何优化函数性能?
    c++++ 中优化函数性能包括:1. 内联函数:直接插入调用位置,消除函数调用开销。2. 避免动态内存分配:提前分配和重复使用内存缓冲区,减少分配和释放操作。3. 使用常量引用:确保对象...
    99+
    2024-04-12
    c++ 函数优化
  • HTML5中SEO优化的建议有哪些
    这篇文章给大家分享的是有关HTML5中SEO优化的建议有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。举个例子<title>淘宝网 - 淘!我喜欢</title>使...
    99+
    2023-06-09
  • 优化Go语言下TCP协议的性能探究
    亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《优化Go语言下TCP协议的性能探究》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。Go语言...
    99+
    2024-04-04
  • 如何优化C++代码的性能?
    如何优化C++代码的性能随着计算机技术的发展,对于软件性能的追求也日益增加。在C++编程中,优化代码的性能是一个非常重要的任务。本文将介绍一些优化C++代码性能的方法和技巧,帮助读者了解如何提高程序的运行效率。第一步是对代码进行合理的设计。...
    99+
    2023-11-02
    性能优化 代码优化 C++编程
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作