HueiFeng

Microsoft MVP

.NET


探索.NET平台中的SIMD内在函数Vector

概述 Vector(向量)是一种序列式容器,事实上和数组差不多,但它比数组更优越。一般来说数组不能动态拓展,因此在程序运行的时候不是浪费内存,就是造成越界。而Vector刚好弥补了这个缺陷,它的特征是相当于可分配拓展的数组(动态数组),它的随机访问快,在中间插入和删除慢,但在末端插入和删除快。 什么是SIMD? SIMD是Single Instruction Multiple Data的缩写,通常中文译为单指令多数据流,通俗来讲的话是:对多个数据执行同一个CPU指令,以达到平行运算的目的. 在GPU之前我们会通过CPU来运行该项技术来增加图片的运算速度,例如Intel的MMX、SSE、SSE2、AVX,AMD的3DNow!等等,都是来使用SIMD 为基础的概念,在GPU技术突飞猛进的今天,CPU的SIMD技术很少用在了图片运算方面了,更多的是在资料库或者其他用途上。 SIMD 它适用于机器 …

.NET .NET5

.NET必知的EventCounters性能指标监视器

在.NET我们对于性能指标监控,其实常见的有两个方法,一个是CLI工具dotnet-counters而另一个是代码级别的EventListener. 使用dotnet-counters dotnet-counters是一个性能指标监视工具,用于临时运行状态监视和初级性能调查。它可以观察通过 EventCounter API发布的性能计数器值。例如,可以快速监视 CPU 使用情况或 .NET Core 应用程序中引发的异常率,以了解在使用 PerfView 或 dotnet-trace 深入调查更严重的性能问题之前是否有任何可疑操作。 -- 摘自 dotnet-counters 命令 dotnet-counters collect dotnet-counters list dotnet-counters monitor dotnet-counters ps 安装dotnet- …

.NET Core .NET .NET5

在.NET中使用DiagnosticSource

前言 DiagnosticSource是一个非常有意思的且非常有用的API,对于这些API它们允许不同的库发送命名事件,并且它们也允许应用程序订阅这些事件并处理它们,它使我们的消费者可以在运行时动态发现数据源并且订阅与其相关的数据源。 DiagnosticSource在AspNetCore、EntityFrameworkCore、HttpClient、SqlClient中被使用,在我们实际的开发过程中他使我们能够进行拦截请求与响应的http请求、数据库查询、对HttpContext、DbConnection、DbCommand、HttpRequestMessageand等对象的访问,甚至说在需要的时候我们可以进行修改这些对象来处理我们的业务。 下面我们将通过如下的简单示例来了解它. DiagnosticSource和EventSource区别 DiagnosticSource和 …

.NET .NET5 Logging

.NET Core开源导入导出库 Magicodes.IE 2.3发布

在2.3这一版本的更新中,我们迎来了众多的使用者、贡献者,在这个里程碑中我们也添加并修复了一些功能。对于新特点的功能我将在下面进行详细的描述,当然也欢迎更多的人可以加入进来,再或者也很期待大家来提issues或者PR,您的一个issue或者PR将是我们前进的动力。 file 公式导出 #88 公式导出目前已经在Excel模板导出中支持,我们可以通过如上代码片段的格式进行将公式应用到我们的Excel导出模板中. {{Formula::AVERAGE?params=G4:G6}} {{Formula::SUM?params=G4:G6G4}} 增加分栏、分sheet、追加rows导出 #74 在该版本中我们支持使用链式编程导出我们的Excel,从而起到追加分栏等作用。 在多个DTO导出中我们可以通过如下代码片段将我们的Excel分栏导出 exporter.Append(list1). …

.NET

.NET Core SameSite cookie问题

异常提示 This setcookie was blocked because it had the "samesite=none" attribute but did not have the "secure" attribute, which is required in order to use "same=none" SameSite SameSite 有3个可选值 : Strict 禁止第三方 cookie Lax None 关闭 SameSite 选项. 其实在谷歌升级后呢,默认限制了跨域携带cookie给后端,在使用samesite=none后其实不仅仅如此,我们还需要设置Secure属性才可以生效,但是对于项目中有些不可告人的秘密,哈哈哈哈哈,所以此处不从项目中修改了我们将修Nginx服务器来解决SameSite的问题。 Nginx proxy_cookie_path 具体 …

ASP.NET Core .NET Nginx