跳到主要内容

与 xLua / toLua / SLua 对比

性质: 选型与分析材料,不是 ZLua 行为规范。 覆盖: xLua、toLua/tolua#、SLua 与 ZLua 四方对比。

本目录

文件内容
FEATURES.md特性与用法差异:类型访问、调用、C#→Lua、值类型、热更/生成、Editor/Player、侵入性、白名单
PERFORMANCE.mdLua↔C# 性能:Il2Cpp 四方实测 + 为何更快(zlua-benchmark
GC.mdGC 理论分析:热路径分配、ObjectRegistry/ByVal/Opaque、「零 GC」边界
BRIDGE.md桥接函数性能与二进制体积:生成粒度、stub 复用、四方案对照

对比对象

方案典型定位成熟度与 ZLua 关系
xLua热更友好、生成 Wrap + 反射兜底、生态成熟生产级同属「高性能原生绑定」路线;ZLua 目标减少 libxlua / C# Wrap 折返
toLua / tolua#导出包装类、传统 Lua 框架风格历史方案,维护较少均需从「预生成 Wrap」迁到 ZLua 懒绑定
SLua导出 + 自动绑定历史方案与 toLua 类似,配置驱动导出
ZLuaEditor Mono / Player Il2Cpp 双后端;Il2Cpp 内嵌、签名 stub 复用、语义贴近 C#Mono 与 Il2Cpp 均已完成(见 impl/MONO.mdimpl/IL2CPP.md本文档树的「被评估方」

ZLua 当前状态(诚实说明)

后端状态说明
Il2Cpp(Player)已完成规范与实现以 build-win64/.../libil2cpp/zlua 为准;性能对比应以 Player 为准
Mono(Editor)已完成与 Il2Cpp Lua 可见语义一致;实现为 Expression Emit
文档 / 生态建设中无 xLua 级社区与热更配套;迁移需自建测试矩阵

性能/GC 文档中的 ZLua 数字Il2Cpp Player;Mono Editor 不代表发布性能。

阅读顺序

  1. 选型或迁移前:先读 FEATURES.md 确认语义与工程差异。
  2. 性能是瓶颈:读 PERFORMANCE.md + GC.md,再决定是否 profiling。
  3. 包体 / 生成量:读 BRIDGE.md
  4. 实际迁移:见 guides/migration/

写作原则

  1. 特性/用法:对照表 + 迁移影响(链 guides/migration/)。
  2. 性能 / GC / 桥体积:以可复现基准为主;未测项标 待测
  3. 不贬低其它方案的适用场景;写清 ZLua 的取舍(侵入 libil2cpp、Unity 版本 merge、Lua 版本锁定等)。
  4. 倍数与 ns:以 PERFORMANCE.mdIl2Cpp 实测表 为准(公开仓库 zlua-benchmark)。

相关文档

文档内容
spec/00-OVERVIEW.mdZLua 产品目标与双运行时
guides/migration/README.md迁移指南索引
guides/TESTING.md双端回归测试
zlua-benchmark可复现性能基准与最新对比报告

对比文档随 ZLua 实现演进更新;冲突时 ZLua 行为以 spec/** 为准。