Effect界隈では、FTCQueueという「関数を効率的に保存する構造」が使われることがあるのだけど、Haskellでは何もしなければデフォルト遅延評価なのだけど、僕の書いたPNGデコーダーで画像を展開後もメモリが開放されないという問題が生じていて、でそのへんがあやしいなと思って、!(bang)を3ヶ所につけて、積極評価を強制したところ、ちゃんとメモリが開放された。
サンクのままで、GCされないみたいな話だったのかな。 Extensible
Effect界隈では、FTCQueueという「関数を効率的に保存する構造」が使われることがあるのだけど、Haskellでは何もしなければデフォルト遅延評価なのだけど、僕の書いたPNGデコーダーで画像を展開後もメモリが開放されないという問題が生じていて、でそのへんがあやしいなと思って、!(bang)を3ヶ所につけて、積極評価を強制したところ、ちゃんとメモリが開放された。
サンクのままで、GCされないみたいな話だったのかな。 Extensible
No replies yet.