把经历过的,连成记忆。

这是我的记忆构建平台,你也能搭一个。

最新文章

能不能用 FPGA 做一块 Transformer 专用推理电路

2026年10月25日

一块 H100 只给一个用户生成文字时,不到 0.3% 的乘法器在干活。既然 FPGA 能搭出任意电路,能不能专门为 Transformer 搭一块,让推理更快、更省电、更便宜?我们先看 decode 时芯片到底在等什么,再看专用电路能省在哪里;接着看已经做出来的 FPGA 推理流水线赢在哪、又被什么卡住;最后用一个综合实验看把权重“焊进电路”能省多少面积,以及为什么这条路最后通向 ASIC。

Dagger 1.0 和 GitHub Actions:第三代 CI 换掉了什么

2026年10月25日

Dagger 1.0 beta 的发布博文说自己是继 Jenkins、GitHub Actions 之后的第三代 CI,还说一条 dagger cloud checks on 就能替掉 GitHub Actions。两者是同一类东西吗?顺着问题往下追:两边的配置各自描述了什么;谁在执行、缓存放在哪;改一行代码各自重算了什么;集成测试要的数据库谁来起;测试挂了以后看到的是什么;本地能不能跑同一套;最后是 Cloud Checks 和按用量计费到底替掉了哪一层。全部场景用同一个 Go 小项目,在 GitHub 的 ubuntu-latest 机器上实测。

Ilya 的论文清单在讲什么:从 30u30 说起

2026年10月25日

30u30 是一个按天带读“Ilya Sutskever 推荐的 30 篇论文”的开源仓库。我们先查这份清单从哪来,发现它其实有三个版本;再看它的构成,里面除了 Transformer、ResNet,还有咖啡自动机、一本数学专著的第 14 章和一篇 200 页的博士论文。顺着这几篇往下读,清单的另一条主线是压缩:预测就是压缩,学习就是把数据拆成规律和噪声。最后用三个自己复现的小实验检验这条线,也顺带看看 30u30 的实现。

Go 的测试为什么和代码放在一起:大型工程怎么组织测试

2026年10月25日

打开 Go 标准库的 net/http,77 个文件里一半是 _test.go,和代码交错排着。这样不乱吗?顺着问题往下追:测试文件在构建里到底在哪;为什么不能像 Java 那样挪进单独的 tests 目录;同一个目录里的两种测试包;集成测试放哪、怎么不让它默认跑;测试依赖为什么要单独一个模块;e2e 测试离被测对象有多远;测试数据和依赖替身各自怎么放。统计了 Go、Kubernetes、etcd、Prometheus、CockroachDB 等 15 个仓库,并用 Go 1.27 逐个实验。

QuickJS 嵌在哪门语言里跑得最好

2026年10月25日

同一段 fib(25),同一个 QuickJS,在 C 里 7 毫秒,在 Go 的 wazero 绑定里 23 毫秒,在 Java 里 61 毫秒;从 Go 调一次 JS 的 add,有的绑定 89 纳秒,有的 34 微秒。我们先看 QuickJS 是什么、怎么被嵌进别的语言,再用同一份脚本实测 C、Rust、Go(四种绑定)、Python、Node、Java,把差距一项项追到引擎版本、执行方式、绑定实现和线程模型上,最后回答 Go 程序该怎么嵌。

查看全部文章 →