资源截图
MP4 |视频:h264,1920×1080 |音频:AAC,44.1 KHz,2 Ch
级别:母带 |类型: 电子学习 |语言: 英语 |时长:3小时25米
要编写高性能的 C# 应用程序,您需要准确了解编译器和运行时如何处理代码。本课程全面分解了 C# 执行语义和内存管理,从编译管道构建。您将从多目标、TFM 开始,并使用 PolySharp 启用现代功能,例如旧框架上的仅限 init 和必需的属性。从那里,我们探索值类型与引用类型的确切存储模型、内存布局和访问模式。您将检查对象构造顺序、基本构造函数中虚拟调用的危险以及 new() 约束的性能影响。然后,我们研究底层的结构和记录,重点关注拳击、避免防御性副本、只读字段陷阱以及基于价值的平等机制。您还将了解何时使用 System.ValueTuple 与自定义联合类型、如何分析 ThrowIfNull 中的隐藏装箱分配,以及如何正确构建多目标扩展方法。
课程的后半部分重点关注委托、模式匹配和迭代器。您将分析 lambda 表达式中的闭包分配,将方法组转换与 lambda 进行比较,并检查基于范围的代码生成以及 .NET 10 委托反抽象。然后,我们使用递归模式和跨开放和封闭层次结构的详尽检查来介绍声明性代码。最后,您将彻底拆除 LINQ 和迭代器块。通过分析降低的 C# 代码,您将准确了解编译器如何生成状态机、测量装箱迭代器的分配成本以及使用静态分析来防止 IEnumerable 的多次枚举。本课程最后会严格审视 LINQ 性能,教您如何使用扩展、基于类型的专业化、迭代器融合、快速路径覆盖和矢量化来优化数据管道。


评分及评论
暂无评分
来评个分数吧