compiler-design
设计与美学
Rust 实现的 Typst 排版引擎:脚本化样式、多语言动态布局与数学渲染集成
探讨 Typst 如何通过 Rust 实现高效排版,支持脚本化自定义、多语言布局调整及无缝数学公式渲染,提供工程实践参数与优化清单。
Rust 实现的 Typst 排版引擎:脚本化样式、多语言布局与数学渲染实践
基于 Rust 的 Typst 引擎实现脚本化样式配置、多语言文本自动布局,以及集成数学渲染的工程参数与监控要点。
在 LLVM ORC JIT 中集成 TPDE 代码生成后端
本文探讨如何将 TPDE 作为代码生成后端集成到 LLVM ORC JIT 中,实现高效的动态编译和优化,支持即时代码生成管道的工程实践,包括关键参数和监控要点。
使用 Procasm 进行过程化 x86 汇编代码生成:自动寄存器分配与优化
Procasm 作为一种过程化 DSL,简化了 x86 汇编的动态生成过程。本文聚焦自动寄存器分配、内联展开和优化通道,提供可落地工程参数与实践清单。
Wildebeest 中利用模拟退火实现超快 FPGA 逻辑综合与布局
基于 Zero ASIC 的 Wildebeest 工具,利用模拟退火算法在逻辑综合和布局阶段实现大型设计 10 倍加速编译,同时保持高质量结果。
C++ 中提出 std::flip:反转二元函数参数以实现无 lambda 函数式组合
探讨在 C++ 标准库中引入 std::flip 的提案,通过参数反转简化函数式编程管道,减少 STL 算法中的样板代码,并提供实现细节与实际应用。
将 Wildebeest 集成到开源 FPGA 流程中实现高性能综合
探讨 Wildebeest 如何与 Yosys 和 VPR 结合,提供高吞吐量逻辑综合、时序优化和 LUT 映射,在大型设计中超越商业工具的实用指南。
Wildebeest 模拟退火 LUT 映射的能效优化修改:低功耗 FPGA 合成
在 Wildebeest 开源 FPGA 合成工具中,引入能效感知的模拟退火修改,实现 LUT 映射的低功耗优化,同时保持时序约束,提供工程参数与监控要点。
Wildebeest 模拟退火优化在大型 FPGA 设计中的基准测试:与 Yosys/VPR 的运行时间、时序闭合和资源利用率比较
基准测试 Wildebeest 的模拟退火在大型 FPGA 设计中的性能,与 Yosys/VPR 比较运行时间、时序闭合和资源利用率,提供高性能合成流的可落地参数。
Using HLS for FPGA Design Flows: Optimization and Interface Synthesis
探讨高层次综合 (HLS) 如何将 C/C++ 算法转换为 FPGA RTL,重点介绍优化 passes 如流水线和数组分区,以及接口合成的工程实践。
将 Wildebeest 集成到 CI/CD 管道中实现自动化 FPGA 合成
探讨如何将开源 FPGA 合成工具 Wildebeest 集成到 CI/CD 流程中,支持 Verilog 到 bitstream 的自动化工作流,包括回归测试和设计空间探索,提供具体参数和最佳实践。
用 C 构建最小 Scheme 到 WASM 编译器:WASM GC 堆管理和尾调用优化
面向函数式语言移植,详解 WASM GC 在 Scheme 编译器中的应用,包括堆分配策略、尾递归转换和浏览器运行配置。
利用 Wildebeest 实现高吞吐 FPGA 逻辑合成:聚焦时序驱动优化与 LUT 映射
基于开源 Wildebeest 工具,探讨时序驱动优化与 LUT 映射策略,在资源受限设计中提升 FPGA 性能与效率。
Optimizing Control Flow Graph Reconstruction and Local Variable Inference in Fernflower
探讨 Fernflower 反编译器在处理混淆 JAR 时优化控制流图重构和局部变量推断的技术要点,提供工程化参数配置以提升源代码恢复准确性。
Rust 与 Carbon 的 LLVM IR 生成及优化传递差异分析
分析 Rust 和 Carbon 在 LLVM 后端 IR 生成与优化传递的差异,为 C 密集型代码库提供高效、安全编译策略。
用 C 构建紧凑 Scheme 解释器:利用 WASM GC 管理堆与尾调用优化,在浏览器环境
探索用 C 实现的 Scheme 解释器如何利用 WebAssembly GC 进行高效堆管理和尾调用优化,实现浏览器中的紧凑运行时。提供工程参数和监控要点。
Rust 与 Carbon 在 C 互操作性能基准中的比较:内存安全与编译优化
比较 Rust 和 Carbon 在 C 互操作效率、内存安全保证与编译时优化,针对遗留 C++ 代码迁移给出实用参数与清单。
将 WASM GC 集成到最小 Scheme 编译器中
探讨在 C 语言编写的简易 Scheme 编译器中集成 WASM GC 提案,实现自动内存管理和高效 WebAssembly 代码生成,提供工程化参数与最佳实践。
GraalVM 独立二进制:脱离 JDK 生态的工程化部署
探讨 GraalVM 如何通过独立二进制实现与 JDK 更新解耦,简化 polyglot 应用部署,并在 CI/CD 管道中加速 native image 构建,提供工程参数和最佳实践。
Typst 作为 LaTeX 替代的实现:Rust 驱动快速排版与 CI/CD 集成
在技术文档排版中,使用 Typst 替代 LaTeX,实现子秒级编译和 CI/CD 自动化 PDF 生成,提供工程实践参数与清单。
Python 类型提示自动化迁移:利用 Pyrefly 构建类型推断引擎与 CI/CD 管道
探讨如何使用 Pyrefly 等工具自动化为遗留 Python 代码添加类型提示,集成 CI/CD 实现 80% 覆盖率,提供工程参数和最佳实践。
构建 Brainfuck 和 INTERCAL 的最小解释器:探索受限语法下的图灵完备计算
面向奇诡编程语言,给出 Brainfuck 和 INTERCAL 解释器的工程实现与优化参数要点。
Typed Racket 渐进类型化性能分析:合同检查开销与优化策略
通过 Typed Racket 基准测试,探讨 sound gradual typing 的性能瓶颈,包括合同检查开销、JIT 编译优化及遗留无类型代码的类型插入最小化策略。
用 Rust 构建现代排版引擎:Typst 替代 LaTeX 工作流
Typst 以 Rust 开发,提供更快编译和脚本化语法,取代 LaTeX 的排版工作流。给出工程参数、模板配置和迁移要点。
构建交互式编译器可视化工具:从解析树到机器码的内部调试之旅
本文探讨如何构建一个交互式工具,用于可视化编译过程的关键阶段,包括解析树构建、优化传递和寄存器分配,帮助开发者动手调试编译器内部机制。
基于区域隔离的内存安全JIT编译器:防范use-after-free漏洞
针对JIT编译器在多语言动态代码生成中的内存安全问题,介绍区域-based隔离机制与安全释放策略,包括可落地参数与监控要点。
Truffle 框架中推测执行防护与沙箱代码区域的集成:防范多语言 JIT 编译内存违规
面向多语言 JIT 编译,给出 Truffle 中推测执行 guards 和沙箱区域的集成策略与安全参数配置。
GraalVM Truffle框架中实现内存安全的JIT编译器
在GraalVM Truffle框架中构建内存安全的JIT编译器,支持动态语言的安全执行并降低垃圾回收开销,提供关键参数与实现清单。
Implementing Path Induction for Identity Types in Dependent Systems
在依赖类型系统中,通过J消除器实现路径归纳,用于处理身份类型的等式证明,提供不依赖单值公理的工程化参数和证明模式。
CPython 中 Tracing JIT 实现:核心开发者冲刺、内联缓存与循环优化
通过核心开发者冲刺,在 CPython 中引入 tracing JIT,聚焦内联缓存和循环优化,提升 Python 代码的实际性能。提供工程化参数和监控要点。
Compiling Knitting DSL to Optimized Bytecode: Loop Fusion and Stitch Reuse
Explore compilation optimizations for knitting DSLs, focusing on loop fusion and stitch reuse to enable efficient pattern simulation and machine control without runtime parsing overhead.
工程化 einx:Python 中可扩展的通用索引记号解析器与评估器
基于 Einstein 启发的 einx 库,工程实现可扩展的索引记号系统,用于张量收缩与多维数组操作,提供解析与评估的最佳参数与监控要点。
TypeScript 增量类型检查工程实践:全局诊断、可绑定声明与降级 JS 发射
针对大型代码库,探讨 TypeScript 增量类型检查的工程实现,包括程序级诊断、可绑定声明和降级 JS 输出的优化策略与参数配置。
基于AST的ESLint实现:JavaScript代码库的语法与风格检查与自动修复
通过ESLint的AST遍历和可配置规则,实现对JavaScript代码的静态分析、问题检测与自动修复,提供工程化配置参数和集成清单。
通过生命周期-常量-特质交互重现 Rust 编译器 ICE
探讨 Rust 编译器中生命周期、常量和特质三个晦涩特性交互导致的内部编译错误(ICE),通过 MIR 分析根因,并提出针对性诊断改进建议。
Zig Comptime 用于系统编程中的高效元编程:缓冲区尺寸与实例限制工程化
探讨 Zig comptime 在系统编程中的应用,提供缓冲区尺寸参数和实例限制清单,与 Rust proc 宏对比,包含编译监控与回滚策略。
AI编译22年前C代码:Anthropic Claude与OpenAI GPT的工程能力实测
量化评估主流AI模型对22年前遗留C代码的编译修复能力,聚焦语法纠错、依赖推断与跨平台构建的工程表现。
剖析 Zig 新 ELF 链接器的零分配设计哲学:与传统方案的根本差异
深入探讨 Zig stage2 链接器如何将语言层面的零分配哲学延伸至工具链,对比传统链接器内存管理,揭示其在确定性、可审计性与嵌入式友好性上的工程优势。
CPS变换与尾调用优化:无栈溢出的工程实现参数清单
通过显式continuation传递与Trampoline循环,将任意递归转为尾递归,避免栈溢出。提供可落地的参数结构、实现步骤与性能权衡清单。
Integrating fmt for Compile-Time Type-Safe String Formatting in C++ Pipelines
Integrate fmt library to achieve type-safe formatting in C++ pipelines, supporting zero-overhead logging and UI serialization without runtime errors.
使用 SLJIT 构建栈式虚拟机的可移植 JIT:代码生成、寄存器分配与运行时反汇编
利用 SLJIT 库为栈式虚拟机实现跨架构 JIT 编译,聚焦代码生成、寄存器管理及运行时调试,提供工程参数与落地清单。
在嵌入式游戏引擎中工程化 Luau 渐进式类型:混合静态推断与运行时合约检查
探讨 Luau 渐进式类型系统的工程实践,聚焦混合静态推断、运行时合约检查,以及针对嵌入式游戏引擎的类型提升与错误恢复优化。
使用 SLJIT 实现栈式虚拟机的可移植 JIT:代码生成、寄存器分配与运行时反汇编
探讨如何利用 SLJIT 后端为栈式虚拟机构建可移植 JIT 编译器,聚焦代码生成策略、寄存器分配优化及运行时反汇编调试技巧。
实现 Wolfram 风格的 Lambda 演算规约规则引擎
探讨基于 Wolfram ruliology 的 Lambda 演算评估引擎,支持单步规约与多路演化分析,提升函数式编程管道的计算能力。
使用 Gluon 构建跨厂商 GPU 内核:利用 Triton 编译栈实现自动融合与优化
面向 NVIDIA/AMD 硬件,给出 Gluon 中利用 Triton 进行可移植内核融合的工程化参数与优化策略。
在嵌入式引擎中实现 Luau 渐进类型:类型安全脚本的推理规则、运行时检查与性能优化
在嵌入引擎中集成 Luau 渐进类型,提供类型推断规则、运行时检查机制及性能调优参数,实现比 Lua 更安全的脚本执行。
实现 WebAssembly 接口类型以实现安全的 Rust-JS 互操作
WebAssembly 3.0 接口类型提案如何启用类型安全的多语言模块组合,焦点在 Rust 和 JavaScript 的安全互操作、函数签名验证与规范 ABI。