私はLua関数を持っています。この関数は、nが与えられると、1からnまでの系列のすべての順列を生成し、各一意の系列をテーブル形式でコンテナーテーブル内に格納します。
この生成されたテーブルのサイズは非常に急速に大きくなります(そして必然的にそうなります)。n = 11を試してみると、スクリプトは数秒間実行されてから、「lua:メモリ不足」に失敗します。16GBの物理RAMがありますが、Windowsタスクマネージャーでパフォーマンスモニターを監視すると、実行時にRAMが消費されるのを監視でき、スクリプトがメモリエラーで終了するまでに最大で約20%しか取得できません。
私が向かわなければならない方向のように見えるこの投稿を見つけました:Luaのプロセスの記憶
私はLua.exeでスクリプトを実行しているので、WindowsがLua.exeに割り当てるメモリの量に制限されていると想定しています。この金額を増やすことはできますか?C#ラッパープログラムを使用して、Luaスクリプトを単純に実行できますか(メモリ割り当ての制限が高くなる/低くなるという考え)?それとも私は間違った方向を見ていますか?