对于数值计算,性能主要取决于两个因素:计算本身的优化和语言本身的开销。C/C++ 在这方面表现出色,这不仅是因为编译器优化,还因为语言本身的开销很小。对于具有自动内存管理的高级语言,消除高级语言功能的开销是提高性能的关键。此外,由于现代 CPU 的缓存机制,数据布局对性能也至关重要。MoonBit 通过我们现代的顶层设计实现了高运行时性能和出色的开发体验:
以 C/C++ 为主导的原生生态在整个软件生态中占据着至关重要的地位,操作系统底层 API、高性能计算库、llama.cpp、ggml 等 AI 张量库都依赖 C ABI 进行对接,MoonBit Native 可以使用 C ABI 与第三方库无缝对接,为 MoonBit 解锁新的应用场景。
MoonBit Native 采用多层 IR 设计,最后一层 IR 是 C 的子集。这使得 MoonBit 能够与 C 顺利互操作,而无需繁重的 FFI(外部函数接口)开销,从而充分利用现有的高性能 C 库。未来,MoonBit 将提供标准化的 C 语言调用约定,从而能够集成现有的开源 AI 推理库,以实现高性能计算和边缘 AI 推理,以及编写直接调用操作系统 API 的高性能应用程序和服务。