コミュニティアイコン プチコン 非公式コミュニティ トピック

アバター
あまさとしおん ◆mzDKTVUAtwqE
2019/3/19 15:25
情報交換
<不具合?>PUSH命令でOut of memory
以前から気づいていたのですが、また沸いたのでこの機会に何かご存知の方がいれば情報をください。
「うちも起きた!」も歓迎です。

<不具合?の概要>
・数万要素以上の配列に
・PUSH命令を使ったとき
・FREEMEMが明らかにあるのに
・『Out of memory』が発生する
です。

コメント

アバター
あまさとしおん 2019/3/19 15:26 ◆mzDKTVUAtwqE
注:
RMG_IMEは同じプロジェクトで作業しているだけなので、問題のプログラムとは無関係です。
画像圧縮の解凍で発生して困っています。
アバター
あまさとしおん 2019/3/19 15:29 ◆mzDKTVUAtwqE
エラーの上に出ている数字は、

(配列ARを使った処理)
?FREEMEM,LEN(AR)
AR=NEWARRAY()
?FREEMEM,LEN(AR)

の結果です。

なぜか AR=NEWARRAY() のような記述でメモリが開放されない謎現象があり
こちらも困っています。
2枚目の添付画像はPOPで1要素ずつ消したのでメモリが回復しています
アバター
あまさとしおん 2019/3/19 19:20 ◆mzDKTVUAtwqE
問題の発生するプログラムを別のプロジェクトフォルダにコピーして実行するとエラーが出なくなった。
再現性の無さが検証を阻む…
アバター
あまさとしおん 2019/3/20 15:21 ◆mzDKTVUAtwqE
一応、問題が出るプログラムを社長さんに渡しましたが、フォルダ移動したら問題が消えたしまったので、調査には時間が掛かりそうです。
アバター
姫草ゆうり 2019/3/21 16:29 ◆s3WAgRa4Kkiw
PUSHするときの内部処理でメモリ使うから足りないって言われるのかな。
あと、FREEMEMで得られる値って正確に教えてくれなかったような。
アバター
あまさとしおん 2019/3/21 16:31 ◆mzDKTVUAtwqE
FREEMEMの値がおおざっぱなのかなーという気はしますねぇ
アバター
姫草ゆうり 2019/3/21 16:32 ◆s3WAgRa4Kkiw
半年前くらいの個人メモ

配列Aのサイズがひとつ増える毎に8バイト、そのほかに40バイト、メモリを使っている。配列A%やA$の場合はサイズがひとつ増えるたびに4バイト、そのほかに40バイト、メモリを使っている。
アバター
あまさとしおん 2019/3/21 16:45 ◆mzDKTVUAtwqE
要素数に比例する分とは別に、変数名ごとに40バイトを消費してるって感じかな
アバター
姫草ゆうり 2019/3/21 17:34 ◆s3WAgRa4Kkiw
40+(8×サイズ)
40+(4×サイズ)
うーん、サイズ63536程度の配列ひとつならメモリも全然余裕がありますよね。
あと、小さなサイズの配列はFREEMEMの値に反映されないっていうのがあります。
私が知ってるのはそのくらいかな。
アバター
こういち 2023/3/29 0:19 ◆ou0jbJnEJ0Kb
断片化だ…
こめのこしとこ(断片化恐怖症)
アバター
あまさとしおん 2023/3/29 11:22 ◆mzDKTVUAtwqE
そういえばプチコン4だと「連続空きメモリ」という取得が追加されたの、これ対策なのかな(3号にもください感)

コメントを書く

  • こちらは「プチコン3号」「プチコンBIG」など、プチコンシリーズに関する話題を扱ったコミュニティです
  • プチコンシリーズにまったく関係ない書き込みはご遠慮下さい。削除の対象となります
  • こちらにはその他のゲームや雑談のコミュニティはなく、作る予定もありません (ひとりで管理できないため)。ごめんなさい
  • ユーザー登録なしで書き込みができます
  • 秘密の合い言葉は成りすましの防止 (トリップ機能)、書き込みの編集時の本人認証に使用します
  • 秘密の合い言葉に他人に推測されやすい言葉、他サービスと同じパスワードは入力しないでください。
  • 書き込むと、投稿時に入力したお名前と秘密の暗号が記憶され、ログイン状態になります

- WEB PATIO -