我有一个 Lua 函数,给定 n,生成从 1 到 n 的系列的所有排列,并将每个唯一系列以表格形式存储在容器表中。
这个生成的表的大小很快变得非常大(而且必然如此)。大约在我尝试 n = 11 的时候,脚本将运行几秒钟,然后出现“lua:内存不足”。我有 16gb 的物理 RAM,但是在 Windows 任务管理器中查看性能监视器可以让我看到运行时消耗的 ram,并且在脚本以内存错误结束之前它只达到了大约 20%。
我发现这篇文章看起来像是我需要前进的方向:记忆 Lua 中的一个进程
由于我使用 Lua.exe 运行我的脚本,我假设我受限于 Windows 为 Lua.exe 分配的内存量。我可以增加这个金额吗?我可以使用 C# 包装程序来简单地运行 Lua 脚本(想法是它将具有更高/更少限制的内存分配)?还是我看错了方向?