发布时间:2025-09-03
点击次数: 在现代系统#%#$#%@%@%$#%$#%#%#$%@_3bf8a523aea21a3a0f6c++53b0f43429bb中,rust 已经凭借“性能接近 c/c++、同时提供内存安全保障”而建立了广泛的口碑。根据 techempower benchmark (业界公认的 web 框架性能评估标准项目)等公开测试,rust 框架在响应速度和资源利用效率方面常常跻身前列,被认为是当下最具性能竞争力的高阶语言之一。这让 rust 成为了开发高性能服务、嵌入式系统以及 webassembly 模块的首选语言。
然而,在语言设计领域,“性能天花板”并非只有 Rust 才能触及。
近期,由粤港澳大湾区数字经济研究院主导研发的编程语言 MoonBit 在其 Beta 版本的基础上引入了两个新特性:Bitstring Pattern 与 Value Type。这些改进不仅拓展了语言的表达力,还在 Wasm 与 Native 后端带来了显著的性能优化。目前,这些特性已合并进最新编译器,并在持续迭代中。
本文将通过具体示例展示它们的应用场景与性能收益,尝试解答一个核心问题:MoonBit 在语言表达力和执行效率上,能否追赶甚至超越已有的性能标杆Rust?
新添两大语言特性:
MoonBit 现已支持通过
[#valtype](j*ascript:;)标注,让
struct和
tuple struct以 值类型 的形式存储。这样可以避免额外的堆分配和 GC 压力,从而提升运行效率。比如:
#valtype
pub(all) struct Complex {
real : Double
imag : Double
}
上述代码声明了一个用于表示复数的结构体,并且通过
[#valtype](j*ascript:;)来注明使用 value type 的形式来避免内存分配,利用该结构体,我们可以高效地实现快速傅立叶变换(FFT)这类数值算法,相比于没有使用 value type 的情况
,性能得到了非常大的提升,我们对比了类似实现的 Rust 和 Swift 程序,对比结果如下图所示:

其中 x 轴下标表示 FFT 计算输入的数据量的对数,y 轴 FFT 函数计算的运行时间,通过 bench 的结果可以看到 MoonBit 在数值计算方面已经优于主流编程语言,其中相比 Rust 有 33% 的性能提升,相比 Swift 有 133% 的性能提升。
FFT 核心部分代码示例如下图所示,从左到右依次是 Rust,Swift 和 MoonBit,完整的 bench 代码可以在GitHub仓库:
https://github.com/moonbit-community/benchmark-fft

左 Rust、中 Swift 、右 MoonBit
小云雀
剪映出品的AI视频和图片创作助手
1949
查看详情
Bitstring pattern 允许直接在模式匹配中提取任意长度的比特片段,并支持大端或小端拼接。它能让代码更贴合协议规范的描述,省去手动移位、掩码和端序处理的繁琐步骤,尤其适合网络协议解析和字节序列的批量处理。
pub fn parse_ipv4(ipv4 : @bytes.View) -> Ipv4 {
match ipv4 {
[ // version (4) + ihl (4)
u4(4), u4(ihl),
// DSCP (6) + ECN (2)
u6(dscp), u2(ecn),
// Total length
u16(total_len),
// Identification
u16(ident),
// Flags (1 reserved, DF, MF) + Fragment offset (13)
u1(0), u1(df), u1(mf), u13(frag_off),
// TTL + Protocol
u8(ttl), u8(proto),
// Checksum (store; we'll validate later)
u16(hdr_checksum),
// Source + Destination
u8(src0), u8(src1), u8(src2), u8(src3),
u8(dst0), u8(dst1), u8(dst2), u8(dst3),
// Options (if any) and the rest of the packet
.. ] => {
let hdr_len = ihl.reinterpret_as_int() * 4
let total_len = total_len.reinterpret_as_int()
guard ihl >= 5
guard total_len >= hdr_len
guard total_len <= ipv4.length()
let header = ipv4[:hdr_len]
// checksum must be computed with checksum field zeroed
guard ipv4_header_checksum_ok(header, hdr_checksum)
let options = ipv4[20:hdr_len]
let payload = ipv4[hdr_len:total_len]
Ipv4::{
ihl, dscp, ecn,
total_len, ident,
df: df != 0, mf: mf != 0,
frag_off, ttl, proto, hdr_checksum,
src: Ipv4Addr(src0, src1, src2, src3),
dst: Ipv4Addr(dst0, dst1, dst2, dst3),
options, payload,
}
}
...
}
}
在这里,我们直接用
u1,
u4,
u13等模式提取对应长度的字段,写法几乎和协议文档一致。这样不仅方便编写和检查,也让开发者不用再关心移位、掩码和端序问题,而能专注于业务逻辑。
除了手写解析代码之外,Bitstring pattern 还有助于自动化生成协议解析器。由于模式描述几乎与协议文档中的字段定义一一对应,AI 工具可以直接根据协议规范(如 RFC 文档或 IDL 描述)自动生成相应的模式匹配代码。这样一来,开发者只需提供协议说明,就能快速得到高效、可读性强的解析器实现,大大降低了网络协议开发与验证的成本,也避免了人工编写移位、掩码逻辑时容易引入的错误。
事实上,MoonBit 社区近期展示了其内置 AI 助手 MoonBit Pilot (7月正式发布)的一次实验:在学习了 IPv4 的解析示例后,Pilot 能够以同样的模式匹配风格自动生成 IPv6 解析器的实现。换句话说,Bitstring Pattern 不仅提升了人工编写的效率,还为 AI 驱动的代码生成打开了更高层次的应用空间。

pub fn equal(bs1 : @bytes.View, bs2 : @bytes.View) -> Bool {
if bs1.length() != bs2.length() { returnfalse }
loop (bs1, bs2) {
([u64le(batch1), .. rest1], [u64le(batch2), .. rest2]) => {
// compare 8 bytes at a time
if batch1 != batch2 { returnfalse }
continue (rest1, rest2)
}
(rest1, rest2) => {
for i in0..<rest1.length() {
if rest1[i] != rest2[i] { returnfalse }
}
returntrue
}
}
}
在上述代码示例中,我们利用了 bitstring pattern 来一次性从字节序列中读取 8-byte 出来从而可以进行批量比较,这种写法可以充分利用底层指令,提高性能,这里我们用
le后缀表明选用了小端端序,这在 native 端序为小端端序的机器上会有更快的性能,相比于传统的逐个 byte 比较,这种方式大大提升了代码运行效率。
MoonBit 此次引入的 Bitstring Pattern 与 Value Type,分别针对 字节级协议解析 与 高性能数值计算 两大核心场景,显著增强了语言本身的表达力与执行效率。两者的结合,使得 MoonBit 在处理底层数据和计算密集型任务时,不仅保持了语法的简洁与优雅,也展现出媲美甚至超越主流编程语言的性能潜力。
根据官网信息,MoonBit 在今年6月正式进入 Beta 阶段,标志进入语言特性进入稳定期、正式迈入可落地应用的新阶段,并逐步演进为可被实际部署的基础设施技术。紧接着在 7 月,MoonBit 推出了内置的 AI 编程助手 MoonBit Pilot,能够在短时间内生成高质量库代码,并与最新语言特性实现良好耦合,为生态扩展注入了新的动力。
与此同时,MoonBit 也在积极推动社区建设。当前正在举办的第二届 MoonBit 全球编程创新挑战赛,已经吸引了来自多所高校与开源社区的开发者参与,为语言的实践应用与生态繁荣提供了更广阔的舞台。
对编译器、语言实现或 AI 编程有兴趣的开发者,不妨借赛事机会深入体验 一下本次赛事:moonbitlang.cn/2025-mgpic
源码地址:点击下载
以上就是这门国产新语言性能超 Rust 约 33%,10 行代码解析 IP 包的详细内容,更多请关注其它相关文章!
# java
# javascript
# 微软
# 掩码
# 傅立叶
# 嵌入式系统
# 将在
# 这门
# c++
# 编程语言
# github
# git
# 两大
# 网站建设分析流量
# 回力鞋推广营销方案
# 金溪网站建设公司
# SEO入门鞋柜尺寸推荐
# 国政通网站建设游戏推荐
# 宽带办理网站建设
# 巴彦淖尔问答营销推广
# 所示
# 文档
# 太原网站建设顾问
# 5月份营销推广文案
# 衡阳网站建设标准数据
相关栏目:
【
行业新闻62819 】
【
科技资讯67470 】
相关推荐:
智能机器人正在彻底改变客户服务
如何用AI开创智慧能源新时代?固德威正让能源“通人性”!
为AI而服务设计:构建以人为本的AI创新方法
马斯克:将来机器人比人类多!特斯拉机器人亮相人工智能大会
出门问问亮相2025世界人工智能大会,展示AI CoPilot解决方案
生成式AI与云结合,机遇与挑战并存
OpenAI限制网络爬虫访问以保护数据免被用于AI模型训练
物联网“僵尸网络DDos攻击”增长惊人,威胁全球电信网络
AI大模型时代,数据存储新基座助推教科研数智化跃迁
衡水市冀州中学机器人社团在世界机器人大赛中斩获佳绩
京东 AI 大模型官宣 7 月 13 日发布,还有重磅合作
阿里云连续两年进入Gartner云AI开发者“挑战者象限”
看似低调,实则稳健:字节在AI路上会遇到什么?
谷歌在人工智能领域没有“护城河”?
百度举办AIGC创作沙龙,现场传授AI绘画“咒语”技巧
微软在 Bing 和 Edge 浏览器中拓展网购服务,帮用户选购心仪产品
百度创始人、董事长兼首席执行官李彦宏:AI原生应用比大模型数量更重要
好莱坞面临全面停摆 好莱坞大罢工抵制“AI入侵”
财联社首档运用虚拟人技术播报栏目《AI半小时》今晚上线!敬请期待
编程已死,AI 当立?教授公开“唱反调”:AI 还帮不了程序员
插画师对AI绘画软件的态度是怎样的?
7/8上海 | 2025世界人工智能大会分论坛:科技与人文-共筑无障碍智能社会
1分钟做出苹果Vision Pro「官网」?上班8小时搞出480个网页,同事被卷疯了
跟着AI大热的“光模块”到底是什么?
美图开拍使用教程
AI 模型 Stable Diffusion 升级:正常生成五指、图像更逼真
“技术+实践+生态”三箭齐发,京东方抢占物联网高地
随时随地,追踪每个像素,连遮挡都不怕的「追踪一切」视频算法来了
学而思推出AI第一课:基于自研大模型的AIGC课程
AI大模型产品集体奔赴高考考场,教育赛道的讯飞星火能赢吗?
创新全场景清洁方案!海尔商用机器人首发上市
阿里云AI绘画创作大模型通义万相发布 已开启定向邀测
当一个网站的内容被 AI 完全接管
人工智能如何与智能家居集成
可按用户语气自动回复消息,Zoom 推出基于生成式 AI 的新功能
华为小艺AI助手将实现强大的大模型能力
RoboNeo什么时候上线
掌阅科技入选北京市通用人工智能产业创新伙伴计划第二批成员名单
视觉中国推出AI灵感绘图功能
亚马逊确认今年不会举办 re:MARS 机器人和人工智能大会
热点 | 人工智能黄金时代开启
广州团建公司方案 | 绝密飞行 → X-PLANE无人机团建主题团建
iPhone两秒出图,目前已知的最快移动端Stable Diffusion模型来了
马克龙密会AI专家,法国加入全球人工智能竞赛
微软bing聊天推出AI购物工具 可进行比价并查看历史最低价
挤爆服务器,北大法律大模型ChatLaw火了:直接告诉你张三怎么判
找对了风口想不火都难,乐天派机器人,安卓机器人的最终形态?
研究预测HPC支持的人工智能增长迅速
英伟达推出 L40S GPU,AI 推理性能超过 A100 约 1.2 倍
常见的五个人工智能误解