Benchmarks Game — Nolang vs C vs Rust 性能對比報告

简介: 本项目(lizongying/nolang)基于本地工具链(GCC、Rustc)对C、Rust与Nolang三种实现进行实测性能对比,涵盖13个基准测试。Nolang在12项中表现优异(多项Wall/CPU/Mem均领先),仅thread-ring因运行时并发缺陷受阻。数据经三次测量取中位数,精度达微秒级。

lizongying/nolang

生成於本地工具鏈 (no build c09d758, gcc, rustc)。

說明

  • C / Rust / Nolang 實現已在本機實際編譯並執行,數據來自 /usr/bin/time -l 與 Python time.perf_counter()(中位數,各 3 次執行)。
  • Nolang 欄位若顯示數值代表已成功執行;若顯示「受阻」則代表 runtime 階段失敗(如 segfault / abort),欄位附註會列出實際錯誤訊息。(詳見末節受阻清單)。
  • 指標:Wall = 牆鐘時間(以 time.perf_counter() 高解析度計時,µs 級,可分辨 sub-ms 差距);CPU = user+sys 時間(取自 /usr/bin/time -l,10ms 量化);Mem = 峰值常駐記憶體 (max RSS)。時間單位為 ms(毫秒,2 位小數),記憶體單位為 MB。
  • 表格布局:列為三種語言 (C / Rust / Nolang),列為三項指標 (Wall / CPU / Mem)。

總計:13 個基準,C/Rust 可執行 13 個,Nolang 可執行 12 個、受阻 1 個。

字串處理 (String Processing)

fasta

指標 C Rust Nolang
Wall 54.38 ms 67.30 ms 38.20 ms
CPU 20.00 ms 40.00 ms 10.00 ms
Mem 2.9 MB 1.5 MB 1.4 MB

reverse-complement

指標 C Rust Nolang
Wall 36.90 ms 26.20 ms 25.95 ms
CPU 10.00 ms 0.00 ms 0.00 ms
Mem 3.3 MB 1.8 MB 19.4 MB

k-nucleotide

指標 C Rust Nolang
Wall 36.78 ms 26.12 ms 26.88 ms
CPU 10.00 ms 0.00 ms 0.00 ms
Mem 3.2 MB 1.9 MB 18.1 MB

regex-redux

指標 C Rust Nolang
Wall 40.48 ms 29.93 ms 25.93 ms
CPU 10.00 ms 0.00 ms 0.00 ms
Mem 3.2 MB 1.9 MB 4.2 MB

數值計算 (Numeric)

spectral-norm

指標 C Rust Nolang
Wall 184.55 ms 173.78 ms 171.68 ms
CPU 150.00 ms 150.00 ms 150.00 ms
Mem 3.1 MB 1.6 MB 1.4 MB

mandelbrot

指標 C Rust Nolang
Wall 96.37 ms 81.64 ms 75.41 ms
CPU 60.00 ms 60.00 ms 50.00 ms
Mem 3.0 MB 1.5 MB 1.5 MB

n-body

指標 C Rust Nolang
Wall 90.22 ms 48.44 ms 46.96 ms
CPU 60.00 ms 20.00 ms 20.00 ms
Mem 2.9 MB 1.5 MB 1.4 MB

pidigits

指標 C Rust Nolang
Wall 34.94 ms 25.04 ms 24.56 ms
CPU 0.00 ms 0.00 ms 0.00 ms
Mem 2.9 MB 1.5 MB 1.4 MB

演算法 (Algorithms)

fannkuch-redux

指標 C Rust Nolang
Wall 154.23 ms 99.06 ms 98.59 ms
CPU 120.00 ms 70.00 ms 70.00 ms
Mem 2.9 MB 1.5 MB 1.4 MB

binary-trees

指標 C Rust Nolang
Wall 1701.72 ms 411.88 ms 109.92 ms
CPU 1650.00 ms 380.00 ms 80.00 ms
Mem 12.6 MB 9.6 MB 7.4 MB

meteor-contest

指標 C Rust Nolang
Wall 44.45 ms 31.97 ms 36.14 ms
CPU 10.00 ms 10.00 ms 10.00 ms
Mem 2.9 MB 1.5 MB 1.3 MB

並發 (Concurrency)

chameneos-redux

指標 C Rust Nolang
Wall 29.46 ms 22.76 ms 21.67 ms
CPU 0.00 ms 0.00 ms 0.00 ms
Mem 2.9 MB 1.6 MB 1.3 MB

thread-ring

指標 C Rust Nolang
Wall 1676.86 ms 1729.19 ms 受阻
CPU 12430.00 ms 13370.00 ms 受阻
Mem 10.7 MB 10.0 MB 受阻
  • Nolang 受阻: runtime 未實際執行(wall≈23ms,僅為 C/Rust 耗時 1729ms 的 1.3%;疑似並發/控制流未生效,程序在極短時間內結束)

Nolang 受阻清單

以下 1 個基準雖已成功編譯(通過語法/型別檢查並產出可執行檔),但 runtime 階段失敗。
受阻源自 Nolang 編譯器生成的 LLVM IR 在 runtime 有缺陷(如 segfault、double-free、index out of bounds),並非原始碼錯誤。

基準 受阻階段 首行錯誤
thread-ring runtime(已成功編譯產出可執行檔) runtime 未實際執行(wall≈23ms,僅為 C/Rust 耗時 1729ms 的 1.3%;疑似並發/控制流未生效,程序在極短時間內結束)
目录
相关文章
|
29天前
|
缓存 Rust 安全
Nolang 硬核技术白皮书:全方位内核级超越 Rust(纯语言机制对比)
Nolang 是新一代无GC内存安全语言,首创“延迟所有权”模型:赋值直觉、零生命周期负担、函数末尾批量内存回收,性能与安全全面超越Rust。当前生态尚小,但内核、架构与开发体验已实现碾压式领先。(239字)
224 3
|
3月前
|
JSON JavaScript 前端开发
在TypeScript和JavaScript如何使用MetaMessage?
MetaMessage 是一种跨语言数据交换协议,支持 TypeScript/JavaScript(通过装饰器自动类型转换)、JSONC 文本与紧凑二进制 wire 格式,兼顾可读性、精度(如 bigint 表示 int64)与性能,旨在替代 JSON、Protobuf 等传统序列化方案。
257 125
|
11月前
|
人工智能 算法 安全
AIGEO助力企业内容传播
AIGEO是一款低成本、高效率的内容优化工具,助力企业提升曝光与转化。适配多行业,支持AI收录推荐,精准匹配用户搜索意图,合规安全,推动小微企业数字化转型。(238字)
901 99
|
8月前
|
传感器 网络协议 算法
《多账号同源识别核心技术拆解:从行为指纹到身份锚定的实操逻辑》
本文聚焦同一用户多账号同源识别的核心技术路径,跳出传统单一标识校验思维,深度拆解行为、设备、网络、数据等多维度识别手段的实操逻辑。从行为基因图谱构建、硬件隐性特征聚合,到网络轨迹指纹链打造、交互惯性图谱搭建,再到跨账号数据锚点联动,系统梳理各层级核心技术的落地思路,重点提炼隐性特征萃取、多维度协同校准等关键方法,规避标识篡改、IP切换、行为伪装等识别痛点。通过构建多维度特征融合校准体系,平衡识别精度与隐私合规,形成“全链路特征协同-置信度分级决策-误判动态修正”的闭环逻辑,为复杂场景下多账号精准识别提供兼具深度与实操性的技术参考,助力搭建抗干扰、高精准的同源账号识别体系。
718 11
|
8月前
|
人工智能 数据可视化 API
给大模型装“眼睛”,让DeepSeek可以读网页,数眼智能上线网页解析API!
AI虽强大,却难直接读取网页。该链接阅读器通过智能提取、并行处理与结构化格式化,结合“数眼智能阅读器”精准识别主内容,让AI真正“看懂”网页,实现从链接到深度分析的自动化闭环,打通AI理解网络世界的最后一公里。
1164 0
|
3月前
|
机器学习/深度学习 人工智能 前端开发
2026 年 AI 对话转 Word 工具分析:Pandoc、Typora、DeepShare 怎么选?
本文对比Pandoc、Typora与DeepShare三大AI对话转Word工具:Pandoc适合技术用户批量转换,需前置整理;Typora侧重Markdown编辑后导出,适合人工润色;DeepShare专为AI网页优化,一键导出公式、表格、Canvas等复杂内容,省去复制粘贴与格式修复,是学生、教师及职场人士高效交付的首选方案。
2026 年 AI 对话转 Word 工具分析:Pandoc、Typora、DeepShare 怎么选?
|
4月前
|
人工智能 弹性计算 Java
2026年阿里云新用户和老用户活动解析:新用户抢购、新老同享新购续费同价、热门实例折扣等活动介绍
2026年阿里云为新用户和老用户推出多项优惠活动:新用户可限时抢购轻量应用服务器,2核2G配置仅需38元/年,2核4G配置9.9元/月起;新老用户同享99元/年和199元/年长效特惠云服务器,续费同价;新用户购第九代实例享6.4折。此外,还有迁云与出海补贴、百炼平台按量达标返券、大促节点新客户专享满减券等多重优惠。用户可根据自身需求和场景选择合适的云上方案,实现降本增效。
|
4月前
|
监控 网络协议 Java
实测分享|安心联JT/T808车载监控系统单机支撑5万车辆高并发接入实战
本文基于普通i5办公主机(16GB内存),通过ZGC调优、轻量连接池与异步IO架构,实测单机稳定支撑5万JT/T 808终端长连接,峰值TPS 3356,平均延迟328ms,验证了低成本硬件实现高并发车载监控的可行性,为中小车队提供可复用的高性能单机方案。
|
4月前
|
人工智能 IDE 开发工具
重构研发基础设施:AI编程全流程落地的价值与路径
作为常年泡在代码里的开发者,想必大家都有过这样的体验:用AI插件补几行代码很快,但一到实际项目,环境配置、多任务并行、代码审查这些环节还是得靠人工一点点磨;不同的AI编程能力各有优势,切换适配却十分繁琐;团队协作时,Git操作和AI能力始终无法无缝融合。直到开源AI编程技术实现全流程落地,才发现其核心不是“写代码更快”,而是让AI深度融入研发全流程,把开发者从重复劳动中解放出来,真正实现研发模式的升级。
|
5月前
|
Arthas Java 测试技术
Maven 依赖冲突解决
本文深入剖析Java开发中Maven依赖冲突的根源与解决方案。首先解析Maven依赖调解规则(最短路径优先和声明优先)及JVM类加载机制,揭示冲突本质。随后介绍全链路排查工具链,包括Maven命令行、IDEA插件和线上诊断工具Arthas。重点提出7大解决方案,按优先级排序:1)dependencyManagement统一版本管理;2)直接声明目标版本;3)精准排除冲突依赖;4)调整依赖声明顺序;5)可选依赖标记;6)合理设置scope;7)类加载器隔离。
925 5