重複の可能性:
Haskell データ型のメモリ フットプリント
組み合わせ問題を解くとき、私はしばしば解をビット文字列として表します。1010100010110111000110... わかりました。
[Int]
ビット文字列にを使用するとInt
、数値が実際にどれほど大きくても ( とInt
は対照的に制限されているためInteger
)、常に同じ量のメモリを消費すると考えました。コンピューターはビット表現のみを記憶し、String
は私の知る限り、さらに多くのスペースを取ります。
私の考えは、データ型を使用することでした
data Bits = Empty | Zero Bits | One Bits deriving (Eq,Ord,Show)
Empty
しかし、コンストラクターZero
とOne
比較して、コンストラクターはどのくらいのメモリを使用しInt
ますか?