Workshop/MiracleHaskell/019-answer

回答(みんな)

回答(岡部)

まず、リストのメモリ構造については GHCのこと の代数的データ型の項目を参照のこと。

ヒープの形を比較してみる

ghc-vis を使ってヒープの形を比較してみた。

Stringのヒープ

単なるリスト構造。

ByteString(Lazy)のヒープ

2つのチャンクに分かれていて、チャンク同士の関係はリスト構造そのもの。 ただし、チャンクの中身は生のポインタで表現されている。