随笔分类 -  高性能

摘要:你还记得2023年那篇比较各种流行编程语言异步编程内存消耗比较的文章吗? 现在是2024年底,我很好奇在一年时间里,随着各种语言的最新版本发布,情况有什么变化。 让我们再次进行基准测试,看看结果! 基准 用于基准测试的程序与去年相同: 让我们启动 N 个并发任务,每个任务等待 10 秒,然后在所有任 阅读全文
posted @ 2024-11-29 08:22 InCerry 阅读(7673) 评论(58) 推荐(61) 编辑
摘要:今天看到微软研究院开源了一个新的C#项目,叫Garnet,它实现了Redis协议,可以直接将Redis替换为Garnet,客户端不需要任何修改。根据其官网的信息,简单的介绍一下它。 开源仓库地址:https://github.com/microsoft/garnet 文档地址:https://mic 阅读全文
posted @ 2024-03-19 19:57 InCerry 阅读(10251) 评论(34) 推荐(54) 编辑
摘要:背景 之前在.NET 性能优化群内交流时,我们发现很多朋友对于高性能网络框架有需求,需要创建自己的消息服务器、游戏服务器或者物联网网关。但是大多数小伙伴只知道 DotNetty,虽然 DotNetty 是一个非常优秀的网络框架,广泛应用于各种网络服务器中,不过因为各种原因它已经不再有新的特性支持和更 阅读全文
posted @ 2024-02-26 08:13 InCerry 阅读(555) 评论(6) 推荐(6) 编辑
摘要:译者注 在上周我就关注到了在github上有1brc这样一个挑战,当时看到了由Victor Baybekov提交了.NET下最快的实现,当时计划抽时间写一篇文章解析他的代码实现,今天突然看到作者自己写了一篇文章,我感觉非常不错,在这里分享给大家。 这篇文章是关于.NET开发者Victor Baybe 阅读全文
posted @ 2024-01-15 08:06 InCerry 阅读(7406) 评论(20) 推荐(73) 编辑
摘要:## 译者注: 原文链接:https://pkolaczk.github.io/memory-consumption-of-async/ Github项目地址:https://github.com/pkolaczk/async-runtimes-benchmarks ## 正文 在这篇博客文章中,我 阅读全文
posted @ 2023-06-01 09:09 InCerry 阅读(4274) 评论(23) 推荐(36) 编辑
摘要:前两天在微信后台收到了读者的私信,问了一个这样的问题,由于私信回复有字数和篇幅限制,我在这里统一回复一下。读者的问题是这样的: 大佬您好,之前读了您的文章受益匪浅,我们有一个项目经常占用 7-8GB 的内存,使用了您推荐的ArrayPool以后降低到 4GB 左右,我还想着能不能继续优化,于是 du 阅读全文
posted @ 2022-12-06 09:43 InCerry 阅读(2597) 评论(3) 推荐(13) 编辑
摘要:## 译者注 本文是一篇不可多得的好文,MemoryPack 的作者 neuecc 大佬通过本文解释了他是如何将序列化程序性能提升到极致的;其中从很多方面(可变长度、字符串、集合等)解释了一些性能优化的技巧,值得每一个开发人员学习,特别是框架的开发人员的学习,一定能让大家获益匪浅。 ## 简介 我发 阅读全文
posted @ 2022-12-02 09:42 InCerry 阅读(8528) 评论(16) 推荐(39) 编辑
摘要:前几天笔者提交了关于FasterKvCache的性能优化代码,其中有一个点就是我把一些后续不需要继承的类设置为了sealed密封类,然后就有小伙伴在问,为啥这个地方需要设置成sealed? 提交的代码如下所示: 一般业务开发的同学可能接触密封类比较少,密封类除了框架设计约束(不能被继承)以外,还有一 阅读全文
posted @ 2022-11-28 09:27 InCerry 阅读(820) 评论(3) 推荐(7) 编辑
摘要:我记得大约在半年前,有个朋友问我一个问题,现在有一个选型: 一个性能敏感场景,有一个集合,需要确定某一个元素在不在这个集合中,我是用数组直接Contains还是使用HashSet<T>.Contains? 大家肯定想都不用想,都选使用HashSet<T>,毕竟HashSet<T>的时间复杂度是O(1 阅读全文
posted @ 2022-11-11 09:26 InCerry 阅读(1424) 评论(8) 推荐(14) 编辑
摘要:计算机单机性能一直受到摩尔定律的约束,随着移动互联网的兴趣,单机性能不足的瓶颈越来越明显,制约着整个行业的发展。不过我们虽然不能无止境的纵向扩容系统,但是我们可以分布式、横向的扩容系统,这听起来非常的美好,不过也带来了今天要说明的问题,分布式的节点越多,通信产生的成本就越大。 网络传输带宽变得越来越 阅读全文
posted @ 2022-11-07 11:12 InCerry 阅读(7460) 评论(46) 推荐(64) 编辑
摘要:在之前的文章中,我们介绍了dotnet在字符串拼接时可以使用的一些性能优化技巧。比如: 为StringBuilder设置Buffer初始大小 使用ValueStringBuilder等等 不过这些都多多少少有一些局限性,比如StringBuilder还是会存在new StringBuilder()这 阅读全文
posted @ 2022-11-04 10:49 InCerry 阅读(4405) 评论(10) 推荐(16) 编辑
摘要:微软终于追上了? 图片来自 Glenn Carstens-Peters Unsplash 欢迎来到.NET性能系列的另一章。这个系列的特点是对.NET世界中许多不同的主题进行研究、基准和比较。正如标题所说的那样,重点在于使用最新的.NET7的性能。你将看到哪种方法是实现特定主题的最快方法,以及大量的 阅读全文
posted @ 2022-10-31 09:38 InCerry 阅读(5736) 评论(19) 推荐(15) 编辑
摘要:简介 在之前的一篇文章.NET性能系列文章一:.NET7的性能改进中我们聊到Linq中的Min()和Max()方法.NET7比.NET6有高达45倍的性能提升,当时Benchmark代码和结果如下所示: [Params(1000)] public int Length { get; set; } p 阅读全文
posted @ 2022-10-28 09:23 InCerry 阅读(8631) 评论(18) 推荐(33) 编辑
摘要:这些方法在.NET7中变得更快 照片来自 CHUTTERSNAP 的 Unsplash 欢迎阅读.NET性能系列的第一章。这一系列的特点是对.NET世界中许多不同的主题进行研究、比较性能。正如标题所说的那样,本章节在于.NET7中的性能改进。你将看到哪种方法是实现特定功能最快的方法,以及大量的技巧和 阅读全文
posted @ 2022-10-24 09:53 InCerry 阅读(3063) 评论(21) 推荐(16) 编辑
摘要:简介 System.Collections.Generic.List<T>是.NET中的泛型集合类,可以存储任何类型的数据,因为它的便利和丰富的API,在我们平时会广泛的使用到它,可以说是使用最多的集合类。 在代码编写中,我们经常需要遍历一个List<T>集合,获取里面的得元素进行一些业务的处理。通 阅读全文
posted @ 2022-08-16 09:37 InCerry 阅读(8709) 评论(48) 推荐(58) 编辑
摘要:译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示。 原作者:Ayende Rahien 阅读全文
posted @ 2022-08-11 09:38 InCerry 阅读(1478) 评论(5) 推荐(10) 编辑
摘要:译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示。 原作者:Ayende Rahien 阅读全文
posted @ 2022-08-10 10:19 InCerry 阅读(818) 评论(3) 推荐(8) 编辑
摘要:## 译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示。 原作者:Ayende Ra 阅读全文
posted @ 2022-08-08 09:41 InCerry 阅读(1119) 评论(7) 推荐(3) 编辑
摘要:## 译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示。 原作者:Ayende Ra 阅读全文
posted @ 2022-08-04 09:41 InCerry 阅读(1825) 评论(12) 推荐(18) 编辑
摘要:## 译者注 该原文是Ayende Rahien大佬业余自己在使用C# 和 .NET构建一个简单、高性能兼容Redis协议的数据库的经历。 首先这个"Redis"是非常简单的实现,但是他在优化这个简单"Redis"路程很有趣,也能给我们在从事性能优化工作时带来一些启示。 原作者:Ayende Ra 阅读全文
posted @ 2022-08-03 09:58 InCerry 阅读(2945) 评论(17) 推荐(16) 编辑

点击右上角即可分享
微信分享提示
more_horiz
keyboard_arrow_up light_mode palette
选择主题