[過去ログ] 関数型プログラミング言語Haskell Part33 (1002レス)
前次1-
抽出解除 レス栞

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
201
(1): デフォルトの名無しさん [sage] 2020/04/12(日)22:42
Haskell で競プロ辛い・・・
200000個の整数読み込んで処理するような問題だとMLEになりがちだ
本当にそんなに使ってるのかよ・・・疑わしいなぁ

ランタイムがとりあえずあるだけ使おうとして、足りなくなったらもう要らない空間を探して、そこに上書きするようにしてるの?
だとすると、とりあえずあるだけ使おう期間の段階で上限ぶっちぎってるってことかね
もしかして

GHC「記憶域ください」
競プロシステム「あなたは上限なのでもうあげません」
GHC「仕方ないな、じゃあガベージコレクションしてなんとかやりくりしよう」

ではなくて

GHC「記憶域ください」
競プロシステム「どうぞどうぞ」
GHC「どうも」
競プロシステム「はいそれは毒まんじゅうです。今のでMLEです」
GHC「えっ!!!!」

こうなんじゃないか?
ソースコードで「メモリ使用はは150MB以内で巧くやりくりしろ」とかって制限の指示できないんですか?
207
(1): デフォルトの名無しさん [sage] 2020/04/13(月)12:33 ID:tr0y4100(1/2)
>>201
とりあえずローカルでプロファイル取って実行してみると
スペースリークや大量のGCの原因が推定できるはず
(「Haskell プロファイラ」とかでぐぐって)
未評価のサンクが大量に積み上がっているとか、
イミュータブルな連結リストの使い方が悪くて
大量の一時リストを作ってしまっているとか
あたりじゃないかと想像してみる
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.035s