【问题标题】:How to find the byte size of a table in Lua如何在 Lua 中查找表的字节大小
【发布时间】:2020-01-23 06:11:18
【问题描述】:

我正在编写一个日志聚合器,如果它达到最大字节大小,我想发送日志。那么Lua中有没有办法知道变量的大小(active_batch size)?

local batch = {
    flush_timeout
    retry_count
    batch_max_size
    batch_count

    batch_to_execute = {},
    active_batch = { entries = {}, count = 0, retries = 0 }
}

【问题讨论】:

  • 变量没有字节大小。一个对象可能,但 Lua 没有办法判断一个表可能代表多少字节。

标签: lua


【解决方案1】:

您只能拥有collectgarbage 使用的 LUA 总内存。 在这种情况下,我认为存储字符串 len 和它的总和会起作用。

【讨论】:

  • 一些笔记。 1 Lua 只为字符串分配一次内存。所以如果你有 N 个完全相同的字符串,Lua 只会创建它的一个副本。 2 存在 lua-getsize 模块,允许估计 Lua 对象大小
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-20
  • 1970-01-01
  • 2014-02-16
  • 2010-09-11
  • 1970-01-01
  • 2021-12-02
相关资源
最近更新 更多