首页
学习
活动
专区
工具
TVP
发布

天下风云

专栏作者
191
文章
48576
阅读量
22
订阅数
.NET9 GC标记原理(超核技术)
GC是CLR里面一个重要的模块,跟上一篇:NET9异常(CLR)原理(顶阶技术)里面介绍的异常模块一样,属于CLR里的顶阶技术。它管控托管堆的分配,销毁。.NET9 GC同样有所改进,本篇看下GC标记的原理。
江湖评谈
2024-04-25
610
.NET9异常(CLR)原理(顶阶技术)
.NET9为了追求性能,把异常模块进行了重写。但异常是CLR里面较大的模块,PreView3(Pre4里面经过了充分测试)里面没有经过充分测试,如果Pre3的程序遇到极端的情况,可以通过DOTNET_LegacyExceptionHandling这个临时(以后会删除这个变量)开关把它开启,回退到旧有的异常处理模块。关于这一点可以参考:.NET9 Pre3 CLR的改进
江湖评谈
2024-04-25
630
.NET9性能工具大全
.NET9它是一个非常完善的版本,对于云原生和AI的支持度也是前所未有。但是这两种技术栈对于性能的敏感度也是苛刻的,对于大部分人来说,用LLDB/GDB/Windbg来进行性能调试或者查找,过于艰涩。本篇来看下.NET9里面提供的几个工具,可以全方位,无死角,全景式的覆盖性能诊断,简单易用。
江湖评谈
2024-04-18
970
.NET9 Pre3 CLR的优化细节
上一篇:.NET9 Pre3 CLR的改进,讲了下.NET9 Pre3的CLR改进,第二个改进点即是内联。本篇详细看下,略有繁芜。
江湖评谈
2024-04-18
470
.NET9 Pre3 CLR的改进
异常处理作为一个较为重要的CLR模块,在此次PreView3的改进中。微软重写了异常处理模块。这些模块的指令和平台包括了x64/arm64以及win/linux,但是同时因为没有经过充分的测试,且也有一些已知的错误。所以这里提供了一个如果遇到极端的错误,而目前没有修复,可以通过环境变量:
江湖评谈
2024-04-12
850
.NET9 CLR运行在安卓手机+BSD
.NET9 CLR在Linux通过交叉Compile,可以为arm64 Android构建CLR。这个情况实际上是说明,.NET可以原生(二进制)运行在安卓手机上了。
江湖评谈
2024-04-11
1000
.NET9极致性能CLR操控MSIL(分层编译)
.NET8/9的性能之所以优秀,分层编译的功能功不可没。这需要MSIL的一些特性支撑,进入CLR的第一步就是加载MSIL,因为其独特的加载模式,比较晦涩,本篇看下。
江湖评谈
2024-04-11
620
信创.NET8/9+Deepin国产系统
国产信创趋势越来越明显,.NET8/9对于国产系统的开发,易用度最高的个人首推Deepin。本篇来看下。
江湖评谈
2024-04-11
1120
.NET8下的Garnet简单用法
进入net8.0文件夹,双击GarnetServer.exe,即可启动Garnet Server端
江湖评谈
2024-03-26
3570
.NET9 AOT完全自举了吗?
举个例子: Python解释器是Python语言编写的,用Python解释器来解释Python应用层级的框架,语法糖,以及其它功能,即谓之自举。.NET的前端编译器是Roslyn,它是C#写的,但CLR/JIT后端编译则是C++。所以算不上自举。.NET AOT呢?
江湖评谈
2024-03-25
980
.NET9 十六进制转IL
十六进制在内存里面分解成二进制,传送到CPU上执行。C#源码则被Roslyn Compile成MSIL。MSIL在内存里面即是十六进制,被JIT导入之后才会进行ASM Compile。一些细节可以参考:罕见的技术:MSIL的机器码简析
江湖评谈
2024-03-25
790
调用.NET9 JIT未导出函数
非托管动态库的导出函数,一般是可以直接加载调用的函数。但是如果未导出的呢?比如,想调用.NET9 JIT非托管DLL里面的一个未导出(No extern)的函数。如何做呢?本篇看下
江湖评谈
2024-03-25
550
.NET9 AOT ILC的重大变化
.NET9 AOT编译器ILC出现了重大更新,前一篇:NET9 PreView2的重磅功能 里面并没有介绍这个功能。其功能概括下,即是通过C#自举的代码取代了之前用LLVM后端生成的代码。本篇来看下。
江湖评谈
2024-03-25
980
实用小技巧:.VS2022+.NET9超级插件Disasmo
经常有人问:怎么查看.NET汇编代码?一般的来说查看ASM,可以通过VS菜单栏-》调试-》汇编,来查看。此处查看的是ASM是未优化,粗糙的代码。专业点的会通过设置环境变量,Release编译查看。
江湖评谈
2024-03-25
800
.NET9 PreView2的重磅功能
这种优化实际上是一种for循环叠加态的优化,for循环叠加计算的过程中,会对其中部分变量进行感应。比如循环中放置0扩展(第一个索引为0),这种优化灵感来源于LLVM标量演化。下面看例子,说明下这个优化:
江湖评谈
2024-03-15
840
实用小技巧:vs2022多线程调试
.NET9 ILC编译托管方法用的是CPU密集型Parallel.ForEach并行,因为多个方法并行运行导致了断点的飘忽。这里可以通过VS提供的线程冻结方式,冻结其它所有线程,只运行当前线程的方式来进行单步调试。
江湖评谈
2024-03-14
1830
.NET9 FCall/QCall(二)
本篇承接上一篇:.NET9 FCall/QCall调用约定,继续源码级分析下F,C级的调用过程。
江湖评谈
2024-03-14
780
.NET9 FCall/QCall调用约定
FCall/Qcall是托管与非托管之间的调用约定,双方需要一个契约,以弥合彼此的互相/单向调用。
江湖评谈
2024-03-14
680
.NET9运行模型-IL-IR-MC
本篇看下.NET9下面的C#源码到机器码的全过程运行模型--顶级技术展示。CLR/JIT干预了全过程。
江湖评谈
2024-03-14
730
谷歌开源大模型Gemma
Gemma模型与Gemini共享技术和基础设施组件,Gemini是目前广泛可用的最大、最强大的人工智能模型。这使得Gemma 2B和7B在与其它开放模型相比的规模下能够实现最佳性能。值得注意的是,Gemma在关键基准测试中超过了规模明显更大的模型,同时遵循我们对安全和负责任输出的严格标准。
江湖评谈
2024-03-14
1050
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档