gpt4 book ai didi

lua - 访问 Lua 表字段是否比访问 cdata 字段更快?

转载 作者:行者123 更新时间:2023-12-02 07:57:30 25 4
gpt4 key购买 nike

假设我有一个 cdata 变量(FFI 查询的结果)。然后我将它的字段复制到 Lua 表中。哪个更快:访问 Lua 表的字段还是原始 cdata 变量的字段?

最佳答案

在禁用 JIT 的情况下,由于 LuaJIT 表 internal structure,表键查找速度要快得多和碰撞处理优化(例如布伦特的变化)。对于 cdata TGETS/TGETV 意味着元方法查找及其进一步执行。 Here是实现字段(即键)查找的方法。

在启用 JIT 的情况下,表槽和结构字段地址/偏移量都专门用于跟踪,前面有几个断言守卫。忽略此类断言失败(例如,由表重新分配导致槽地址失效),性能差异可以忽略不计。

我看到@mons-anderson 的不错的基准测试也证实了这一点。

关于lua - 访问 Lua 表字段是否比访问 cdata 字段更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61890009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com