Kurt Guntheroth : Optimized C++

2026-07-17

概要

サブタイトルは、「最適化、高速化のためのプログラミングテクニック」

感想

要再読である。裏表紙にはC++11/C++14対応と書かれている。なお、2025 年現在、最新の C++ 規格は C++23 と呼ばれる。

「1章 最適化とは」では、最適化に関しての心構えが説かれている。「最適化しても大丈夫」という節を読むと私は安心する。

「2章 最適化に影響するマシンの振る舞い」では、いろいろな教訓がある。p.23 の文によっては、大量の計算を隠蔽する。文の形式はいかに高価かを示さない。というまとめは、 「文によっては、隠れて大量の計算をするものもある。文の形式が簡略だからといって、その処理内容も簡略であるとは限らない。」という意味だろう。 英語原文では cost という単語が使われていそうだが、日本語に訳すときに意味が通るようにするのは難しい。

「3章 性能を測定する」では、テストハーネスという用語が出てくる。ただ、本書ではテストハーネスの定義はなく、関数を何度も呼び出すテストハーネスを構築することだ。 という記述しかない。インターネットで調べると、 「ソフトウェアテストで用いられるテスト実行用のソフトウェアのこと。テスト対象モジュールを呼び出し、テストケースを適用して、実行を制御・監視し、テスト結果のレポートを行う。テストドライバやテストスタブなどで構成される。」 (https://www.itmedia.co.jp/im/articles/1111/07/news185.html) という記述がある。ハーネス(harness)とはもともと、馬を操るための轡や手綱など、馬具の一種を意味している。このように馬を制御するということから派生して、 ソフトウェアテストにおいては、テストに使われるプログラムやデータなどをまとめ、実行し、制御する環境を意味するようになったと思われる。

誤植

これは単語や文の誤りではなく、レイアウトの誤りである。

p.205 の上から1行目、C++ 11 適合実装は一般にティムソートやイントロソートのようなハイブリッドソートだ。となるべきところ、次のようになっている。

書誌情報

書名Optimized C++
著者Kurt Guntheroth
訳者黒川利明
発行日2017 年 2 月 22 日 初版第1刷
発行元オライリー・ジャパン
定価4000 円(本体)
サイズ??版
ISBN978-4-87411-792-8
その他川口市立図書館で借りて読む