は色々な最適化が施されておりそれ故に複雑になってきています。プログラムが遅いという事象だけから原因を突き止めるのは本当に難しいです。だからこそボトルネックを疑う為の材料が多く必要なのです。知識がないと高価な やメモリを買い足すことしか出来なくなります。
本書はこういった基本的な知識を埋める所から章が始まります。今までなんとなくしか理解していなかった の内部を、図解で細かく説明してくれています。OS 上でメモリがどの様に管理されているのか、OS はファイルシステムをどの様に扱っているのか等を、誰でも分かる(であろう)レベルで書いてあります。
こういった書籍の多くは、難しい用語を並べて読者を振り切ってしまう事が多いのですが、本書では始めの数章を使って知識を固め、徐々に知識レベルを上げていってくれているお陰で挫折する方も少ないのでと思います。
ちなみに僕が特にワクワクしたのは第8章の「ストレージデバイス」について書かれている章でした。検証コードを使ってシーケンシャル/ランダムアクセスを の両方で試し、read/write がサイズの変化によってどのくらい性能に影響が出るかを実験しています。まだ読んだだけで試していないので、後で実際に試してみようと思っています。
この他にも本書では検証コードを使った実験が沢山あります。「これこんな事やったらどうなるんだろ」と思っていた実験も自分でソースをコンパイルして試せる様になっています。おそらく読者が実行する環境で結果も異なってくるでしょう。だからこそ実際に手を動かして得られた情報は貴重なのです。本書はこの様な知見の詰まったとても良い本だと思いました。
という順にしないといけない訳です。以下の様に修正して正しく動作する様になりました。