Efficient C++

【 評価    】★★★★☆ Amazonレビュー

【 難易度 】★★★☆☆

【 ISBN    】4-89471-245-8

C++の高速化全般について良く纏まった本だと思います。購読対象者はC++を1年以上利用した人です。CよりC++のが速くなるというキャッチコピーが目を引きました。

主張としてはC++と同等な正確さ、強固さ、保守性をCに実装した場合、速度の優劣は無く、あるいはC++のが速くなるということです。本書を開かずとも読める位置に書いてあったのに、肝心の本文で殆ど説明されていないのはちょっと残念でした想像するに、例えば仮想関数をC言語C++で実装した場合、明らかに後者のほうが高速で安全なコードを作り出せるという意味ではなかったかと思われます。

代わりに述べられていたのはC++の落とし穴を知らずしてCと同等以上の速度は出ないということです。つまり、パフォーマンスを落とす実装例が実測データ付きで解説されています。

他の話題は以下の通りです。

  • 効率的なコンストラクタを書く
  • メモリのプール化 (これはC言語でも重要)
  • コンパイル時に生成される一時オブジェクトを意識する
  • 戻り値の最適化(RvO)を理解する
  • インライン関数に対する考察
  • STLの性質を理解し、正しく使う

測定データは一例であり、鵜呑みは良くないと思いますが、参考にはなります。

C++で高速化を学んできた人には物足りないかもしれませんが、最適化を話題にした本の中では評価の高い一冊です。

Leave a Reply

最初のコメントを頂けますか?

更新通知を受け取る »
avatar
wpDiscuz