XPerf
语言Lua证据

lu-table-insert-hot — table.insert 与 t[i]=

主张

在这台机器上测量:主要热情况 table_insert 比例前/后约 ~4.74×(之后更快)。默认严重性保持 off。仅凭此填充 不要 升级到 error。

如何测量

  • 测试架构: packages/luaperf/examples/bench/evidence_lu001.lua
  • 协议: warm=3;取9轮的中位数;在适用的情况下进行垃圾回收/收集
  • 原始数据行: lu-table-insert-hot.jsonl

运行时(本证据文件)

FieldValue
时间2026-10-22 亚洲/上海(机器时钟;JSONL 时间戳为 UTC)
ToolchainLua 5.4.7
在 (index_assign) 之后的中位数2.029000 毫秒 (操作=200000,比率=1.000000)
插入表之前的中位数 (table_insert)9.620000 毫秒 (操作数=200000,比例=4.741252)
(hash_len_append) 之后的中位数3.926000 毫秒 (操作次数=200000,比例=1.000000)
插入表与长度之前的中位数 (table_insert_vs_len)9.620000 毫秒 (操作=200000,比例=2.450331)
(small_index) 之后的中位数3.814000 毫秒 (操作次数=100,比率=1.000000)
插入前的中位数 (small_insert)13.184000 毫秒 (操作=100,比率=3.456738)
主比率 前/后~4.74× (table_insert)

方向和绝对毫秒数对机器/工具链/选项敏感。在工具链或机器更改后,请重新运行测试套件。

与 lint 的对应

luaperf-lint lu-table-insert-hot 默认保持 关闭。建议升级:否。

限制

  • 微基准;不是应用程序配置文件。
  • 小 N 行可能接近计时器噪声;对于比率声明,建议使用热(非小)案例。
  • I/O 规则(print/echo/puts/writeln)丢弃到 /dev/null — 取决于环境。