← 全部文章

内存就是利润:嵌入式里『选语言』其实是个成本决策

做路由器很多年,我最深的体会之一:

在硬件产品里,RAM 就是 BOM,BOM 就是利润。

所以"用 Python 还是用 C / Rust"这件事,从来不是技术偏好,而是一笔成本账。可惜大多数讨论都停在"哪个语言好",没人算钱。

一笔账:128 / 256 / 512 的差价 × 出货量

拿最常见的档位说(数字是示意,别抠精确价):

内存档每颗 DRAM 差价(示意)
128 → 256MB约 $0.3 ~ $1
256 → 512MB约 $0.5 ~ $1.5

单台看着很小,乘上出货量就吓人:

10 万台 × $0.5 = $50,000

而"用 Python 省下的开发人力",撑死也就几万刀。出货量一大,物料省下的钱就超过人力省下的钱。 这就是硬件公司的算法。

内存还不只是钱

对 7×24 的设备,内存还是:

  • 功耗 / 散热 / 体积(更小内存 → 更省电 → 更小电源/散热);
  • 可靠性(内存越紧,越容易 OOM / 抖动——对出货设备都是隐患)。

省内存 = 省电、省热、省故障。

所以"Python 的开发效率"要这么算

Python 省的是人力 / 时间,多花的是每台设备的物料:

PythonC / Go / Rust
开发人力✅ 少❌ 多
单机内存❌ 贵(解释器常驻几十 MB)✅ 省
出货量大时谁赢—✅ 物料 > 人力

判断轴:不是"哪个语言好",而是——

"出货量 × 单机内存差价" vs "开发人力"。

从这条轴推出的结论

场景谁赢为什么
大批量出货硬件(路由/消费设备)C / Go / Rust物料 > 人力
小批量 / 高复杂度 / 内部工具 / 云Python人力 > 物料
原型 / 胶水 / 工具链Python快,且不进出货 BOM

所以现实里从来是分层:紧内存设备用 C/Go/Rust,Python 放上游编排 / 工具链 / 非出货设备——它没被淘汰,只是站错了位置。

那 Rust 呢?理想,但理想还没到手

Rust 的卖点正是"两全":像现代语言一样安全、省心,运行时又接近 C——理论上它同时吃"开发效率"和"低内存"。

但要诚实:Rust 当下的开发效率还没追上 Python(尤其原型 / 胶水),学习曲线也在。所以 "Rust = 两全"是方向,不是当下。 对紧内存设备,C/Rust 是现实解;对能上几十 MB 的档,Python 依然香。

收尾

工程师不只要会写代码,还要会算账:

一台设备多 128MB 内存 = 多少颗 DRAM = 多少美元 → × 出货量 = 你的利润。

内存就是钱。选语言,就是花钱的方式。

💬 你们的产品里,内存是怎么算进成本的?在下方评论,或到 GitHub 提 Issue 聊聊。

(本文中英双语。)

评论 0

还没有评论,来抢沙发~

登录 登录后即可参与评论