Zig 内存管理:显式分配器模式

6 分钟阅读
本文基于 Zig 0.16。 前几篇我们走过了 Zig 的基础语法和错误处理。现在进入 Zig 最与众不同的部分——内存管理。 如果你有 Go 或 Rust 背景,Zig 的内存哲学会让你感到陌生:它既不提供垃圾回收,也不引入所有权系统,而是选择了一条完全不同的路——分配器模式(Allocator Pattern)。这个模式的核心约定极其简单,但影响深远:
Zig 内存管理 分配器 Go Rust 学习笔记
继续阅读 →

现代超分辨率——ESRGAN 到扩散模型

8 分钟阅读
2014 SRCNN 三层卷积 · 3-layer CNN pioneered DL SR 2016 SRGAN 感知损失 + GAN visual quality leap 2018 ESRGAN RRDB + RaGAN richer features, no BN 2021 Real-ESRGAN 真实退化建模 · Real-world works on real photos 2021 SwinIR Transformer 注意力 global context modeling 2022 Diffusion 迭代去噪 · Iterative best quality, slowest 从 SRGAN 到 ESRGAN(2018) SRGAN(Super-Resolution GAN)在 2016 年首次将生成对抗网络(GAN)引入超分辨率领域,通过感知损失(perceptual loss)生成的图像在视觉质量上显著超越了传统的 PSNR 优化方法。但 SRGAN 仍有改进空间——2018 年 Wang 等人提出的 ESRGAN(Enhanced Super-Resolution GAN)在四个关键方向上进行了优化。
计算机视觉 深度学习 ESRGAN 扩散模型
继续阅读 →

持续性能分析(Profiling)存储架构:从 pprof 到 Pyroscope V2 与 Parca

14 分钟阅读
持续性能分析(Continuous Profiling)是可观测性的重要支柱之一。与传统的采样 Profiling 不同,持续 Profiling 以固定频率全时采集应用和内核的调用栈快照,生成火焰图,帮助团队发现性能瓶颈、内存泄漏和资源热点。本文聚焦 Profiling 数据的存储架构:从 Google pprof 数据模型与火焰图构建算法开始,详细分析 Pyroscope 从 V1(TSDB+Parquet)到 V2(Metastore+Segments)的架构演进、Parca 与 FrostDB 的列式存储创新、Datadog/Splunk 等商业方案,最后通过对比表格呈现各方案的差异化选择。
可观测性 Profiling Pprof Pyroscope Parca FrostDB EBPF 火焰图
继续阅读 →

错误处理:Go、Rust 之外的第三条路

6 分钟阅读
本文基于 Zig 0.16。 三种错误处理范式 错误处理是编程语言设计中最具争议的话题之一。Go 的多返回值、Rust 的 Result<T, E> 枚举、Zig 的错误联合类型——它们代表了三种截然不同的哲学。本文假设你已有 Go 或 Rust 经验,将以此为参照系来理解 Zig 的设计。
Zig 错误处理 Go Rust
继续阅读 →

为什么是 Zig:从 Go/Rust 视角认识一门新系统语言

6 分钟阅读
本文基于 Zig 0.16(2026-04-13 发布,当前最新稳定版)。Zig 是一门仍在快速演进的现代系统编程语言,它的源码仓库已从 GitHub 迁移到 Codeberg,官方下载页在 ziglang.org/download/。 为什么是 Zig? 如果你已经熟悉 Go 和 Rust,可能会问:为什么还要看第三门系统语言?Zig 的位置介于两者之间,试图兼顾 C 的轻量、Rust 的现代工具链和 Go 的低门槛。
Zig 系统编程 Go Rust 学习笔记
继续阅读 →