Types Lua中高效的自定义数据类型
我需要一个二维向量样的数据结构用于Lua。到目前为止,我已经找到了解决这个问题的几种方法:Types Lua中高效的自定义数据类型,types,lua,lua-userdata,Types,Lua,Lua Userdata,我需要一个二维向量样的数据结构用于Lua。到目前为止,我已经找到了解决这个问题的几种方法: 在纯Lua中定义数据类型的经典解决方案——缺点是对其进行的所有操作(如添加)都需要创建新的数据类型、设置元表等。x、y存储为字段,因此具有快速访问能力 C端的经典完整用户数据解决方案——它可能更快,仍然允许运算符,操作代码是C端的,但仍然每个操作都需要分配一个新对象。但是没有字段的可能性,因此需要使用自定义的_index/newindex函数来模拟Lua端可能较慢的x和y 混合方法,即我们定义一个Lua对
参见你知道吗?#1太慢了?@delnan,我知道优化Lua;)的两条黄金法则。此外,离开#1还受到其他原因(从C级部署结构等)的影响。能否将#1实现放在某个地方?LuaGems有一个数字数组和向量数据类型的配方,内置于C中,存储在
userdata
中。代码并没有那么复杂,大部分的复杂性是由于处理内务管理,能够将矩阵的行和列视为向量而不复制数据,等等。这是第16章,Lua的科学计算入门。可能值得一看。+1:哇,虽然它不是我可以使用的东西(不是所有的目标架构都支持),但这确实是一个非常有趣的链接,谢谢!