小编kun*_*iqs的帖子

Lua 5.1#运算符和字符串比较(性能)

为了这:

b = #{1,2,3}
c = 'deadbeef' == 'deadbabe'
Run Code Online (Sandbox Code Playgroud)

b是以O(n)还是O(1)计算的?在什么情况下?行为是否一致,或者像稀疏数组行为一样依赖于上下文?是字符串比较O(1)还是O(n)?我知道字符串是不可变的,Lua比较哈希值但是如果2个不同的字符串哈希到相同的值呢?请不要回答"不要担心低级行为,儿子".我对低级行为感兴趣.谢谢.

编辑

3)#的结果是存储在某个地方,还是每次我为同一个数组调用它时计算出来的?

comparison performance lua

3
推荐指数
1
解决办法
994
查看次数

Lua 5.x如何表示稀疏数组?

说,我有一个像这样的数组:

T = {1,2,[1000] = 3, [-1] = -1}
Run Code Online (Sandbox Code Playgroud)

我知道1和2将在连续数组部分中,-1将在哈希部分中.但我不知道3会在哪里.它将如何代表"内部"Lua.在2到3之间会有997个浪费的空间吗?3是否会被委托给哈希部分以提高效率?是否会有2个链接的连续表,一个从索引1开始,第二个从索引1000开始?

lua

2
推荐指数
1
解决办法
730
查看次数

标签 统计

lua ×2

comparison ×1

performance ×1