n月間ラムダノートの Vol.3, No.1 を読んだ

2022年5月29日 engineering

こんにちは、 @kz_morita です。 こちらの本 を購入したのですが、その際に送料が無料になるので n 月間ラムダノートも一緒に注文しました。 月間ラムダノート Vol.3, No.1 を読んでとても面白かったので感想とかを書いていきます。

内容

内容は以下のようなものでした。

  • #1 検索エンジンのしくみ
  • #2 「継続」の秘密
  • #3 CPU はいかにしてソフトウェアを高速に実行するのか

章ごとに感想などを書いていきます。

#1 検索エンジンのしくみ

こちらは、検索エンジンのしくみとして以下のような内容が触れられていました。

  • テキスト解析
  • 辞書引き
  • ポスティングリスト走査
  • ランキング

なかでも特にポスティングリストの走査について図解で詳しく書かれていました。

情報検索の分野は過去に興味があって学んでいた内容なのでとても面白かったです。

(このあたりの記事 です)

内容的にはこの本を買うそもそもの目的となった 検索システム ― 実務者のための開発改善ガイドブック の本に書かれていることの一部かなと思いますので、こちらを読むのが楽しみになりました。

#2 「継続」の秘密

こちらでは、プログラミングにおける継続について書かれていました。

どこかで聞いたことがある内容だなとおもったら、以前の n月刊ラムダノート Vol.1, No.1(2019) で触れられていたのに近い内容でした。

内容自体は、ruby のコードを使って継続の概念を紹介していくようなものでした。 普段から ruby を書いてなくても、シンプルで短いコードでなんとか読めたので助かりました。 コードを見て処理を追っていくことでどういった動きになるか理解が深まった気がします。

普段コードを書く際にあまり意識することがない内容だとは思いますが、既存の言語にある例外などの機構のおおもとになるような考え方で非常に面白かったです。

#3 CPU はいかにしてソフトウェアを高速に実行するのか

こちらの章では、CPU がどのようにしてソフトウェアを高速に処理しているのかという内容が書かれていました。

CPU 扱う命令の実行の密度を上げるために逐次実行から、パイプライン化し、スーパーパイプライン+スーパースカラで高速化するといった内容がかかれてました。

また、その際にデータ間の依存関係や、分岐命令によって CPU のレイテンシが発生するといったしくみが図でかなりわかりやすく書かれていて面白かったです。

分岐予測やアウトオーダー実行といったレイテンシを減らすための投機実行のしくみにも触れられていました。

個人的には後半 I/O 関連の割り込みハンドラの話などがでてきて、これ OS 自作入門でやったやつだとなって面白かったです。いろんな角度から学んだことが知識としてつながっていく体験がよかったです。

まとめ

これまでも何冊か n月間ラムダノート を読みましたが書いてある内容がどれも割とディープな内容でとても面白いです。 即効性のある知識ではないのかもしれませんが知的好奇心をくすぐられる内容が多くとても好きです。

より深い内容に入っていくよいきっかけとなる素敵な本だなと改めて思いました。

この記事をシェア