网易首页 > 网易号 > 正文 申请入驻

这门国产新语言性能超Rust约33%,10行代码解析IP包

0
分享至


在现代系统编程语言中,Rust 已经凭借“性能接近 C/C++、同时提供内存安全保障”而建立了广泛的口碑。根据 TechEmpower Benchmark (业界公认的 Web 框架性能评估标准项目)等公开测试,Rust 框架在响应速度和资源利用效率方面常常跻身前列,被认为是当下最具性能竞争力的高阶语言之一。这让 Rust 成为了开发高性能服务、嵌入式系统以及 WebAssembly 模块的首选语言。

然而,在语言设计领域,“性能天花板”并非只有 Rust 才能触及

近期,由粤港澳大湾区数字经济研究院主导研发的编程语言 MoonBit 在其 Beta 版本的基础上引入了两个新特性:Bitstring PatternValue Type。这些改进不仅拓展了语言的表达力,还在 WasmNative 后端带来了显著的性能优化。目前,这些特性已合并进最新编译器,并在持续迭代中。

本文将通过具体示例展示它们的应用场景与性能收益,尝试解答一个核心问题:MoonBit 在语言表达力和执行效率上,能否追赶甚至超越已有的性能标杆Rust

新添两大语言特性:

一、Value type(值类型)

MoonBit 现已支持通过 标注,让 structtuple struct值类型 的形式存储。这样可以避免额外的堆分配和 GC 压力,从而提升运行效率。比如:

pub(all) struct Complex {   real : Double   imag : Double }

上述代码声明了一个用于表示复数的结构体,并且通过 来注明使用 value type 的形式来避免内存分配,利用该结构体,我们可以高效地实现快速傅立叶变换(FFT)这类数值算法,相比于没有使用 value type 的情况,性能得到了非常大的提升,我们对比了类似实现的 Rust 和 Swift 程序,对比结果如下图所示:


其中 x 轴下标表示 FFT 计算输入的数据量的对数,y 轴 FFT 函数计算的运行时间,通过 bench 的结果可以看到 MoonBit 在数值计算方面已经优于主流编程语言,其中相比 Rust33% 的性能提升,相比 Swift133% 的性能提升

FFT 核心部分代码示例如下图所示,从左到右依次是 Rust,Swift 和 MoonBit,完整的 bench 代码可以在GitHub仓库:

https://github.com/moonbit-community/benchmark-fft


左 Rust、中 Swift 、右 MoonBit

二、Bitstring pattern:像写协议规范一样解析字节序列

Bitstring pattern 允许直接在模式匹配中提取任意长度的比特片段,并支持大端或小端拼接。它能让代码更贴合协议规范的描述,省去手动移位、掩码和端序处理的繁琐步骤,尤其适合网络协议解析和字节序列的批量处理。

  1. 解析 IPv4 报文头


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 驱动的代码生成打开了更高层次的应用空间。


  1. 高效的字节序列比较


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..          if  rest1[i] != rest2[i] {  return false  }       }        return true     }   } }

在上述代码示例中,我们利用了 bitstring pattern 来一次性从字节序列中读取 8-byte 出来从而可以进行批量比较,这种写法可以充分利用底层指令,提高性能,这里我们用 le 后缀表明选用了小端端序,这在 native 端序为小端端序的机器上会有更快的性能,相比于传统的逐个 byte 比较,这种方式大大提升了代码运行效率。

三、总结

MoonBit 此次引入的 Bitstring PatternValue Type,分别针对 字节级协议解析高性能数值计算 两大核心场景,显著增强了语言本身的表达力与执行效率。两者的结合,使得 MoonBit 在处理底层数据和计算密集型任务时,不仅保持了语法的简洁与优雅,也展现出媲美甚至超越主流编程语言的性能潜力。

根据官网信息,MoonBit 在今年6月正式进入 Beta 阶段,标志进入语言特性进入稳定期、正式迈入可落地应用的新阶段,并逐步演进为可被实际部署的基础设施技术。紧接着在 7 月,MoonBit 推出了内置的 AI 编程助手 MoonBit Pilot,能够在短时间内生成高质量库代码,并与最新语言特性实现良好耦合,为生态扩展注入了新的动力。

与此同时,MoonBit 也在积极推动社区建设。当前正在举办的第二届 MoonBit 全球编程创新挑战赛,已经吸引了来自多所高校与开源社区的开发者参与,为语言的实践应用与生态繁荣提供了更广阔的舞台。

对编译器、语言实现或 AI 编程有兴趣的开发者,不妨借赛事机会深入体验 一下本次赛事:


moonbitlang.cn/2025-mgpic

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
媒体澄清后,又反转了?

媒体澄清后,又反转了?

鱼眼观察
2026-02-24 11:01:33
新婚女子手臂成亮点,“满眼都是xxx”,难道新郎一点都不在乎?

新婚女子手臂成亮点,“满眼都是xxx”,难道新郎一点都不在乎?

仙仙先生
2026-01-30 09:35:22
亲密度停在99%,上海老人被盯上!春节9天,被害人超8000人!警方:根本闲不下来

亲密度停在99%,上海老人被盯上!春节9天,被害人超8000人!警方:根本闲不下来

环球网资讯
2026-02-24 19:48:22
复工第一天,领导就将我辞退,当晚却接到十多个电话

复工第一天,领导就将我辞退,当晚却接到十多个电话

船长与船1
2026-02-24 12:22:21
深圳女保姆事件曝光,监控画面全网热议:没有边界感的人,太可怕了

深圳女保姆事件曝光,监控画面全网热议:没有边界感的人,太可怕了

爱下厨的阿酾
2026-02-24 16:19:03
新春第一会,风向标来了!

新春第一会,风向标来了!

中国网
2026-02-25 00:58:04
人民日报:管好这6点,孩子想不优秀都难

人民日报:管好这6点,孩子想不优秀都难

诺妈家有男宝娃
2026-01-30 12:15:34
这是要出大事了。。。

这是要出大事了。。。

贩财局
2026-02-23 09:56:19
伊朗外长:希望在最短时间内与美国达成公平协议

伊朗外长:希望在最短时间内与美国达成公平协议

财联社
2026-02-25 02:57:21
18分钟输28分!队魂成拖油瓶,所有输球组合里都有他!真砸手里了

18分钟输28分!队魂成拖油瓶,所有输球组合里都有他!真砸手里了

阿浪的篮球故事
2026-02-24 16:06:20
明确规定来了!机关事业单位职工下班后打牌打麻将,算违纪吗?

明确规定来了!机关事业单位职工下班后打牌打麻将,算违纪吗?

长星寄明月
2026-01-24 11:26:06
中到大雨、7级大风,浙江雨水一路加强!将持续到3月初,每天记得带把伞

中到大雨、7级大风,浙江雨水一路加强!将持续到3月初,每天记得带把伞

台州交通广播
2026-02-25 01:41:09
“戏混子”没走,比资本家丑孩子更可怕的是“星二代”开始世袭了

“戏混子”没走,比资本家丑孩子更可怕的是“星二代”开始世袭了

流史岁月
2026-01-26 10:58:30
赵露思代言成人用品!

赵露思代言成人用品!

八卦疯叔
2026-02-24 11:13:41
官方实锤!湛江妈祖“换童”传闻纯属造谣,细节打脸所有质疑者!

官方实锤!湛江妈祖“换童”传闻纯属造谣,细节打脸所有质疑者!

社会日日鲜
2026-02-25 05:46:56
丰韵:一种关于存在的浓度美学

丰韵:一种关于存在的浓度美学

疾跑的小蜗牛
2026-02-24 22:58:28
小杨阿姨在老家休假,直播揭露马筱梅生产内幕,忧心失业!

小杨阿姨在老家休假,直播揭露马筱梅生产内幕,忧心失业!

古希腊掌管月桂的神
2026-02-24 20:03:51
春节期间,来自中国的最重要“客人”没来,日本的失落已掩饰不住

春节期间,来自中国的最重要“客人”没来,日本的失落已掩饰不住

健身狂人
2026-02-24 16:44:39
2014年,北京女博士李香蓉因接受不了新郎身份,在车内将其几刀刺死

2014年,北京女博士李香蓉因接受不了新郎身份,在车内将其几刀刺死

红豆讲堂
2024-10-14 15:30:03
香菇再次被关注!医生发现:癌症患者吃香菇,不用多久或有5改善

香菇再次被关注!医生发现:癌症患者吃香菇,不用多久或有5改善

读懂世界历史
2026-02-12 21:48:53
2026-02-25 07:12:49
开源中国 incentive-icons
开源中国
每天为开发者推送最新技术资讯
7598文章数 34502关注度
往期回顾 全部

科技要闻

宇树科技发布四足机器人Unitree As2

头条要闻

男子搂住继女强吻动作亲密 当地妇联介入

头条要闻

男子搂住继女强吻动作亲密 当地妇联介入

体育要闻

苏翊鸣总结米兰征程:我仍是那个热爱单板滑雪的少年

娱乐要闻

汪小菲官宣三胎出生:承诺会照顾好3个孩子

财经要闻

县城消费「限时繁荣」了十天

汽车要闻

入门即满配 威兰达AIR版上市 13.78万元起

态度原创

旅游
艺术
手机
健康
亲子

旅游要闻

海南接待游客数增长近三成

艺术要闻

高剑父写梅,笔走龙蛇

手机要闻

尽管整体市场下滑 2025年iPhone在欧洲依然创下历史销量新高

转头就晕的耳石症,能开车上班吗?

亲子要闻

坑弟弟,我是一把好手

无障碍浏览 进入关怀版