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%;疑似並發/控制流未生效,程序在極短時間內結束)
目录
相关文章
|
4月前
|
缓存 Rust 安全
Nolang 硬核技术白皮书:全方位内核级超越 Rust(纯语言机制对比)
Nolang 是新一代无GC内存安全语言,首创“延迟所有权”模型:赋值直觉、零生命周期负担、函数末尾批量内存回收,性能与安全全面超越Rust。当前生态尚小,但内核、架构与开发体验已实现碾压式领先。(239字)
346 3
|
5月前
|
人工智能 安全 前端开发
来不及学 AI 就不用学了?——从 AI 到 Agent,再到 Harness Engineering 与 Loop Engineering :一条被产品化加速的技术演进线
本文是一份AI工程演进图谱,以「概念地图」形式梳理2022–2026年LLM→Agent→Harness→Loop的演进脉络,厘清OpenClaw、MCP、Skills等核心概念的关系,破除术语迷雾,强调Harness Engineering才是当前最值得投入的系统性工程能力。(239字)
677 1
|
4月前
|
人工智能 运维 文字识别
企业大模型本地化部署与数据安全实践:从 RAG 权限过滤到审计闭环
本文聚焦企业大模型本地化部署中的数据安全痛点,以RAG问答系统为例,详解权限过滤前置、元数据治理、审计闭环等关键实践,提供可落地的分层架构与FastAPI代码骨架,强调“模型看不见无权数据”才是安全底线。
670 0
|
4月前
|
人工智能 自然语言处理 数据可视化
2026企业AI办公工作流搭建全指南
本文深度剖析AI办公提效的四大核心场景:内容生产、会议沟通、任务管理、知识沉淀,并对比主流工具特点,结合管理者、HR、行政、销售等角色需求给出落地建议,附实操心得与FAQ,助职场人告别重复劳动,专注高价值决策。(239字)
|
4月前
|
存储 缓存 前端开发
亿级图片业务落地全方案:阿里云OSS+CDN+数据万象完整架构搭建、降本70%实战教程
在电商、自媒体、本地生活、社区UGC等数字化业务高速扩张的2026年,海量商品图、用户晒单、短视频截图、宣传物料持续爆发式增长,大量中小团队初期选择自建图片服务器,随着素材规模突破百万甚至亿级,存储成本、图片处理延迟、全国访问卡顿、内容安全等多重瓶颈集中爆发,严重影响业务稳定性与运营成本。以中型电商平台真实业务为例,业务上线半年图片总量从100万暴涨至2亿张,单张原图平均3MB,日均新增80万张素材,传统NFS+ImageMagick自建架构在流量高峰期全线崩溃,缩略图生成延迟飙升至2秒,存储、带宽、服务器月度总成本突破8万元,还频繁出现存储单点故障导致全站图片404访问异常,运维团队需要3人
387 0
|
10月前
|
存储 编解码 缓存
LZY Codec 全面碾压UTF-8,计算机发展史的伟大革命
LZY Codec针对中日韩文字实现体积直降1/3,无损且无需解压,相较传统压缩算法更具稳定高效优势。从存储到传输再到终端体验,全面降低数据中心与网络带宽成本,提升性能续航,是编码技术的革命性突破,堪称东亚语言数字化的“新标准”。(238字)
364 0
|
6月前
|
人工智能 机器人 测试技术
用 Bub 和飞书搭一个更懂群聊上下文的小机器人
手把手教你搭建 Bub:一个懂群聊上下文、无“班味”的轻量化 AI 助理。
579 1
用 Bub 和飞书搭一个更懂群聊上下文的小机器人
|
4月前
|
人工智能 缓存 IDE
Gemini CLI 免费配额缩减后的 6 种有效应对方案(2026)
2026 年 6 月 18 日,Gemini CLI 停止为免费的『用 Google 账号登录』通道处理请求,AI Pro 和 Ultra 登录也一并停掉。这个二进制没死:它仍是 Apache-2.0,仍在维护(v0.49.0),配上 API key 照样能跑。如果你正盯着『This client is no longer supported for Gemini Code Assist for individuals』发愁,那是认证问题,不是装坏了。修法就是别再用 Google 账号登录,改用一个开通了计费的 API key。2026 年 9 月还有第二堵墙等着你,届时不受限的 Standa
|
6月前
|
SQL 运维 监控
生产环境改了个配置,半小时后业务挂了——变更管理到底管什么
统计过去半年的P1/P2故障,接近4成是配置变更引发的。本文从一次连接池参数误改导致的生产事故出发,拆解最小可用的变更管理4个动作——分级、记录、通知、关联,不搞ITIL全套流程,先让变更可追溯、可关联、出了事能3分钟定位。
874 1
生产环境改了个配置,半小时后业务挂了——变更管理到底管什么
|
5月前
|
存储 缓存 API
文件存储:内部存储与外部存储
Android文件存储分内部与外部两类:内部存储(`filesDir`)私有安全、无需权限,适合小量敏感数据;外部存储含应用专属目录(`getExternalFilesDir`)和共享媒体(MediaStore),前者同样私有免权限,后者需适配分区存储。合理选用可避免权限错误、数据丢失或泄露。
754 0