Stalwart v1.0:把性能榨到极致的邮件服务器
来源:stalw.art — 2026-10-26
📋 概述
五年前 10 月 3 日,第一个提交落在一个叫 mail-parser 的 Rust 邮件解析库上;五年后它长成了带 JMAP、IMAP、POP3、SMTP、CalDAV、CardDAV、WebDAV、反垃圾、集群和多个存储后端的一体化邮件与协作服务器,今天发布第一个稳定版 1.0。这个版本只做两件事:把每一部分都做到尽可能快并用数字证明,以及把数据库 schema 定稿,让以后升级只是换个版本号。近 200 个提交、1300 多个文件的绝大多数改动都是为了更快更省。
🔑 核心要点
- 性能是主线:几个月泡在 profiler 里,近 200 个提交、1300 多个文件几乎全为提速与降内存
- 解析器用 SIMD 与 SWAR 重写,SIMD 走 SSE2/SSSE3/AVX2 与 NEON,SWAR 用普通 64 位整数一次处理 8 字节
- mail-parser 1.0 从头重写:SIMD 找 MIME 边界与头字段,消息体只在真正要读时才解码,每个内核都与标量参考实现做模糊测试
- 对比数字:比流行的 mailparse 快 3 倍、比 Dovecot 的解析器快 9 倍、比 libEtPan!/VMime/GMime 快 15 到 31 倍
- encodify 是新的编码库:MIME 里 Base64 附件解码比标准 base64 crate 快 22 倍,quoted-printable 快 9 倍
- 端到端结果:38 项对比里赢 35 项,15 项日常客户端操作赢 14 项;25 万封邮件全文搜索 4 毫秒内返回;删除或移动 100 封邮件快 18 到 19 倍
- 第二大目标是数据稳定:schema 定稿后升级不再需要破坏性迁移,另外补上了 PDF 与办公文档的全文搜索
💡 金句
Version 1.0 was never meant to be another feature release. It had two goals.
👍 0
👎 0
← 返回 Lobsters 首页