LingoFuse · 十四语言实测手记

我是人类
这些是我亲手敲出来的

屏幕那些暗色的窗口,是我连续两个晚上熬出来的。 没有剪辑,没有脚本合成,没有摆拍。 有些命令我敲错三遍才跑通,有些环境装到凌晨才发现是版本问题。 报错就是报错,警告就是警告,通过就是通过。

14 种语言 70 张截图 2 天时间 0 剪辑 · 0 摆拍 Windows 本机
01

C#

Visual Studio 2022 · 打开解决方案那一刻,我其实有点紧张

打开 VS 2022 翻 NativeMethods.cs .\build.ps1 .\publish.ps1
C# 第 1 帧
01
C# 第 2 帧
02
C# 第 3 帧
03
C# 第 4 帧
04
C# 第 5 帧
05
绑定 · P/Invoke + RAII 测试 · 58 项 / 8 类 GitHub CI ✗ 查看完整指南 →
02

C++

唯一有 GitHub CI 的绑定 · 构建干净到让我意外

VS 打开 LingoFuseCppWrapper 读 lf_io.hpp 注释 Build 启动压测三件套 挂调试器
C++ 第 1 帧
01
C++ 第 2 帧
02
C++ 第 3 帧
03
C++ 第 4 帧
04
C++ 第 5 帧
05
绑定 · 原生 C ABI 测试 · 82 项 + 压测 + 并发 GitHub CI ✓ 唯一 查看知识库 →
03

Dart

环境装了快两个小时 · 75 项测试通过的那一刻松了口气

打开 VS Code 读 README 环境章节 dart test
Dart 第 1 帧
01
Dart 第 2 帧
02
Dart 第 3 帧
03
Dart 第 4 帧
04
Dart 第 5 帧
05
绑定 · Dart FFI + C 桥 测试 · 75 项全通过 GitHub CI ✗ 查看 README →
04

Go

purego 无 cgo · 交叉编译友好,也是我跑得最顺的一个

.\clean.ps1 .\build.ps1 .\test.ps1 三终端 cross demo
Go 第 1 帧
01
Go 第 2 帧
02
Go 第 3 帧
03
Go 第 4 帧
04
Go 第 5 帧
05
绑定 · purego(无 cgo) 测试 · 18 项 GitHub CI ✗ 查看 README →
05

Java

必须 JDK 22+ · 我第一次为跑一个测试专门升了 JDK

打开 VS Code 读 README .\test.ps1 准备 cross demo
Java 第 1 帧
01
Java 第 2 帧
02
Java 第 3 帧
03
Java 第 4 帧
04
Java 第 5 帧
05
绑定 · FFM API(JDK 22+) 测试 · 36 项 GitHub CI ✗ 查看 README →
06

JavaScript

CommonJS + ESM 双入口 · 127 项测试全过

npm run check npm test 三终端 cross demo
JS 第 1 帧
01
JS 第 2 帧
02
JS 第 3 帧
03
JS 第 4 帧
04
JS 第 5 帧
05
绑定 · Node-FFI / 原生 测试 · 127 项全过 GitHub CI ✗ 查看 README →
07

Pascal · 分布式计算

核心引擎的原生语言 · 一个 service 带一群 node

启动 compute_service.exe 开一堆 compute_node.exe compute_call.exe 发起 20k 任务
Pascal 网格 第 1 帧
01
Pascal 网格 第 2 帧
02
Pascal 网格 第 3 帧
03
Pascal 网格 第 4 帧
04
Pascal 网格 第 5 帧
05
角色 · service + node + call 绑定 · 原生 FFI GitHub CI ✗ 查看完整指南 →
08

Pascal · HTTP 桥

浏览器 ↔ Python 网关 ↔ Pascal 节点 · 一条龙跑通

启动 bridge_service.exe 启动 bridge_compute.exe python bridge.py 浏览器打开 web_demo.html
Pascal 桥 第 1 帧
01
Pascal 桥 第 2 帧
02
Pascal 桥 第 3 帧
03
Pascal 桥 第 4 帧
04
Pascal 桥 第 5 帧
05
用途 · 非原生语言经 HTTP POST 调用 网关 · bridge.py GitHub CI ✗ 查看 Bridge 指南 →
09

Python

接入门槛最低的一方绑定 · 也是我第一次跑通 cross demo 的语言

打开 py/ python bridge.py 按 Cross Demo Guide 开四终端
Python 第 1 帧
01
Python 第 2 帧
02
Python 第 3 帧
03
Python 第 4 帧
04
Python 第 5 帧
05
绑定 · ctypes + HTTP Bridge 特点 · 装饰器风格 @expose GitHub CI ✗ 查看 README →
10

Rust

安全 RAII · 它的 README 是我见过最诚实的

.\test.ps1 .\build.ps1 三终端 cross demo
Rust 第 1 帧
01
Rust 第 2 帧
02
Rust 第 3 帧
03
Rust 第 4 帧
04
Rust 第 5 帧
05
绑定 · 安全 RAII + C ABI 测试 · 67 项 / 四层 GitHub CI ✗ 查看 README →
11

TypeScript

完整类型定义 · 吞吐偏低但我不认为这是语言的问题

读 README 放置说明 npx tsx test.ts npx tsx 跑 cross demo
TS 第 1 帧
01
TS 第 2 帧
02
TS 第 3 帧
03
TS 第 4 帧
04
TS 第 5 帧
05
绑定 · Node-FFI / 原生 测试 · 119 项全过 GitHub CI ✗ 查看 README →
12

Swift

128 项 XCTest · 编译时满屏警告但最终跑得稳稳的

.\build.ps1 处理 wchar_t 警告 找到三个 exe 三终端 cross demo
Swift 第 1 帧
01
Swift 第 2 帧
02
Swift 第 3 帧
03
Swift 第 4 帧
04
Swift 第 5 帧
05
绑定 · SPM + Clang importer 测试 · 128 项 XCTest GitHub CI ✗ 查看 README →
13

Zig · 并行化构建

17 步并行展开 · 8 个 exe 同时链接,看得我有点走神

.\clean.ps1 .\build.ps1 查看 zig-out\bin
Zig 构建 第 1 帧
01
Zig 构建 第 2 帧
02
Zig 构建 第 3 帧
03
Zig 构建 第 4 帧
04
Zig 构建 第 5 帧
05
绑定 · Zig build system 环境 · Zig 0.17.0 GitHub CI ✗ 查看 README →
14

Zig · 测试与 cross demo

io_smoke 18 项全过 · 250.52 calls/s 是我这次实测的最快数字

.\test.ps1 io_smoke 18 项全过 三终端 cross demo
Zig 测试 第 1 帧
01
Zig 测试 第 2 帧
02
Zig 测试 第 3 帧
03
Zig 测试 第 4 帧
04
Zig 测试 第 5 帧
05
测试 · 140 项 跨语言 · 逐字节兼容 GitHub CI ✗ 查看 README →

横向对比 · 四语言负载测试

同一台机器,同一份代码逻辑,同一套 32 线程并发负载。 这不是宣传数字,是截图里能直接读到的实测结果。

语言 时长 总调用 成功率 吞吐 并发
Zig 10.091 s 2,528 100 % 250.52 /s 32 线程
Swift 10.133 s 2,538 100 % 250.28 /s 32 线程
TypeScript 10.050 s 79 100 % 7.86 /s 32 线程
C++(压测峰值) — 46,515 累计 100 % 182 /s 单客户端 多客户端

速查表

14 个绑定 · 一句话总结 · 一眼看清谁有 CI、谁没 CI

语言 绑定方式 测试 CI
C#P/Invoke + RAII58✗
C++原生 C ABI82 + 压测✓
DartDart FFI + C 桥75✗
Gopurego18✗
JavaFFM API36✗
JavaScriptNode-FFI127✗
Pascal原生 FFI完整套件✗
Pythonctypes + Bridge完整链路✗
Rust安全 RAII67✗
TypeScriptNode-FFI119✗
SwiftSPM + Clang128✗
ZigZig build140✗