compiler-design
设计与美学
利用 Gluon 的 Triton 编译栈编写高性能 GPU 内核:跨硬件可移植加速
基于 Gluon 的 Triton 编译栈,用 Python 编写高效 GPU 内核,实现张量操作的跨 NVIDIA 和 AMD 硬件加速,包括内核示例、优化参数和可移植性指南。
利用 Triton 编写高效 GPU 内核:融合与自动调优优化
在 ML 工作流中使用 Triton 兼容编译器编写高效 GPU 内核,焦点在内核融合和自动调优优化,提供工程参数和监控要点。
利用 C# 14 空条件赋值简化 Web API 中的异步错误传播
C# 14 的空条件赋值特性允许在赋值左侧使用 ?. 操作符,简化 Web API 中异步操作的空值检查与错误传播,提供简洁的链式处理参数和监控要点。
WASM 3.0 中 GC 与组件模型集成:Rust 高效互操作实践
探讨 WASM 3.0 GC 和组件模型如何实现 Rust 与 WASM 的高效互操作,包括自定义 ABI、零拷贝传递和动态链接策略。
R7RS syntax-rules 中使用 call/cc 实现正常序归约:惰性求值与不动点语义证明
探讨在 Scheme 宏系统中通过延续实现惰性求值,结合不动点组合子与共归纳推理证明语义正确性与宏展开卫生。
使用 egglog 的 e-graphs 实现基于规则的程序优化:编译器与数据库中的高效等式饱和
利用 egglog 结合 e-graphs 和 Datalog,实现编译器与数据库中的规则优化,提供等式饱和的工程参数与落地指南。
在 Python 中使用 egglog 的 e-graphs 实现等式饱和规则引擎
利用 egglog 的 e-graphs 技术,支持动态表达式重写和优化,适用于编译器 IR 变换与数据库查询重构。
实现 Titania 核心:递归下降解析器、类型推断引擎与 LLVM 后端
基于 Oberon-07 的 Titania 语言核心实现指南,聚焦递归下降解析、类型推断及 LLVM 代码生成的无运行时开销设计。
使用 lexy 在 C++17 中构建递归下降解析器:组合与错误恢复
利用 lexy 库的 DSL 在 C++17 中高效构建递归下降解析器,支持规则组合、错误恢复和增量输入处理,适用于嵌入式 DSL 开发。
用 Rust 构建 PHP JIT 引擎:零开销 ABI 与原生扩展无缝加载
探讨 Rust JIT 引擎如何实现 PHP 原生扩展的无缝加载,避免运行时开销与重新编译,提供工程化参数与监控要点。
剖析 Ruby JIT 分派机制:CRuby 与 YJIT 中的内联缓存与方法查找
深入探讨 CRuby 解释器和 YJIT JIT 编译器的分派机制,包括内联缓存、方法查找过程,以及在动态工作负载下的性能影响与优化参数。
Engineering Executable Graph-Based Visual Programming with Dataflow Nodes and Runtime Interpretation
探讨如何通过数据流节点和运行时解释工程化图形化视觉编程系统,以克服表单小部件限制,实现复杂过程逻辑的组合。
使用 Lexy 在 C++17 中实现可组合解析器组合子,用于领域特定语言:强调语义错误恢复与模块化语法定义
本文指导如何利用 Lexy 库构建模块化 DSL 解析器,聚焦组合子设计、语义错误恢复机制及工程化参数配置。
用 Rust 构建高性能 PHP 执行引擎:JIT 编译、零开销 ABI 桥接与遗留扩展无缝加载
探讨利用 Rust 实现高性能 PHP 执行引擎,聚焦 JIT 编译、零开销 ABI 桥接以及遗留 PHP 生态的扩展加载策略,提供工程化参数与落地清单。
Safe C++ 提案中止后:在现有 C++ 代码库中使用 AddressSanitizer 实现运行时边界检查和别名控制
Safe C++ 提案中止后,探讨如何在遗留 C++ 系统中集成 AddressSanitizer 等工具,实现运行时边界检查和别名控制,提升内存安全。
Zig 构建系统中 C/C++ 项目编译标志自动化
介绍使用 compile_flagz 包在 Zig build.zig 中自动化生成 compile_flags.txt,提升 C/C++ 跨编译项目的编辑器集成和依赖扫描。
工程化 Rust 实现的 PHP 工具链:JIT 编译、零开销抽象与无缝互操作
探讨 Mago 等 Rust 构建的 PHP 工具链设计,通过 JIT 编译、零开销抽象和互操作机制,将遗留 PHP 应用加速至接近原生速度。
Engineering Modular Parser Generators in ANTLR-NG: Improved Grammar Composition, Incremental Parsing, and Efficient Code Generation
面向多语言编译器管道,给出 ANTLR-NG 中模块化解析器生成、增量解析与高效代码生成的工程化参数与监控要点。
Kefir:独立实现的C17/C23编译器验证与工程实践
探讨Kefir编译器如何通过solo开发实现C17/C23标准合规,包括AST解析、广泛验证套件以及生成可移植二进制文件的代码生成策略。
使用 cppstat 分析开源 C++ 项目中的编译器特性覆盖率
通过静态分析开源 C++ 仓库,计算 GCC/Clang/MSVC 的特性支持矩阵,突出特性差距并提出针对性 polyfill 策略。
C++23 中使用 std::mdspan 实现高效邻接矩阵视图
利用 C++23 的 std::mdspan 创建非拥有多维视图,应用于邻接矩阵,实现稀疏图遍历的高效数据访问,避免不必要的内存复制。
在 MicroHaskell 中嵌入 Dataframe DSL:用于列式操作的重写规则
通过重写规则在 MicroHaskell 中实现 Dataframe DSL,利用惰性求值和 STG 机器优化列式数据处理,避免完整 GHC 依赖。
使用协议和多方法在 Clojure 中构建可扩展的 AST 处理
利用 Clojure 的协议和多方法解决 Expression Problem,实现 AST 的模块化扩展,而无需修改核心代码。
Picat 中的规则-based 表化和约束求解实现:高效规划与优化
探讨 Picat 语言中规则-based 表化和约束求解的实现机制,针对规划与优化问题提供高效解决方案,桥接 Prolog 逻辑范式与函数式编程。
使用头单元和分区接口将 C++20 模块集成到 CMake 构建中
在 CMake 项目中集成 C++20 模块,利用头单元和分区接口实现模块化编译,显著减少构建时间,提供配置参数和最佳实践。
C++20 模块在 CMake 中的集成:使用头单元和分区接口优化编译时间
通过 C++20 模块的头单元和分区接口,在 CMake 构建中实现增量重建,针对大型代码库减少 30-50% 的编译时间,提供实用配置参数和最佳实践。
多语言实现中的多重分派:Julia、Common Lisp 和 Clojure
比较Julia、Common Lisp和Clojure中多重分派的机制,实现跨语言可扩展代码的多态方法解析,避免单分派局限。
Using Gappa to Formally Verify Floating-Point Division: Bounding Rounding Errors and Ensuring IEEE 754 Compliance in ARM Systems
面向ARM系统,介绍Gappa工具验证浮点除法例程的舍入除法例程的舍入误差界限,确保IEEE 754标准合规,提供工程参数和监控要点。
分析OOXML规范中的人为复杂性以优化编译器解析、验证和高效代码生成
探讨OOXML规范中源于Office遗留的人为复杂性,并提供针对文档处理引擎的编译器解析优化策略、验证参数及代码生成清单。
扩展 LLVM IR 的 byte 类型以实现直接 raw 数据拷贝:高性能系统内存操作优化
针对高性能系统,介绍 LLVM IR byte 类型扩展以优化内存操作,避免中间 load/store 的工程参数与落地策略。
Visualizing Rust Type System Hierarchies
工程化交互式可视化工具,用于导航 Rust 类型系统,包括 traits、lifetimes 和 borrow checker 的机制,适用于编译器调试和教育。
Implementing Tree-sitter Based Semantic Code Formatting
基于 Tree-sitter 实现语义代码格式化,消除传统行式格式化器,实现无手动干预的一致风格。
Flix 中使用基于处理器的组合实现代数效应:功能代码库中的模块化副作用管理
在 Flix 语言中,通过处理器-based 组合实现代数效应,实现功能代码库中模块化的副作用管理,提供定义、实现和应用指导。