Efficient C++ | さすらいびとの徒然漂流記

さすらいびとの徒然漂流記

ふらふら漂流するさすらいびとのように,色々な話題についてお気楽極楽,徒然なるままに…

もともと気になってはいたんだけど,「性能」「性能」とうるさい案件に就いたために遂に入手.


内容は,まあ,まともな感じでしたね.
それと,かなり多岐にわたって,それなりの深さで説明されていると言う印象.


まずは不要な一時オブジェクトを減らすことやインライン化,スレッドモデルでの違いについて述べられている.
更に,基本的にはまずはSTLなどを利用することやチューニングはきちんとした知識のある専門の技術者をアサインすべきなど踏まえたうえで,必要な箇所に必要なチューニングを施すべき(Paretoの法則など)であるとしている.
ただし,実装に関する細かいレベルのチューニングだけではなく,設計時にも考慮すべきことにも述べられているので,設計者も目を通しておくと良い感じ.
更に深いところではスケールに関してSMPアーキテクチャやシステムアーキテクチャに関してメモリキャッシュでの考慮についても説明が及んでいるので,C++がどのようにシステムとして落ちるのか理解するにはいいかも.


個々のチューニングでたびたび述べているのが,「性能のために拡張性を犠牲にしている」ということ.
これをうるさいぐらい言っているのはチューオタにもいい感じだね.


最近(?)のC++実装ではテンプレートプログラミングが活用されているが,時代の所為かTemplateExpressionなどの説明がないのは残念.
この辺は日本語の良書があるのかちょっと不明.



Efficient C++パフォーマンスプログラミングテクニック/ダブ ブルカ
¥3,780
Amazon.co.jp