コラム6 パフォーマンスに関する考察 【珠玉のプログラミング】
要点
- コンピュータシステムのデザインレベル
- 問題定義
- システム構造
- アルゴリズムとデータ構造
- コードチューニング
- システムソフトウェア
- ハードウェア
- パフォーマンスチューニングするときは、どのデザインレベルで考えるべきか検討するべし
- 異なるデザインレベルのチューニングは掛け算で効いてくる
- どのレベルを考えているときも、全体象は見失わないように
問題への回答
1 ~ 4
省略。
5
人材にかかる時間やお金(学習や採用活動など)、稟議を通すのにかかる時間、設備投資のお金、検証にかかる時間・お金、消費エネルギーなどなど。
6
Appelの例のように、近似計算でも充分に有用な場合もある。
7
交通事故の怪我でいうと、まず交通事故自体を減らすか、怪我の程度を軽くするか、大きな怪我でも治せるようにするか、といった問題定義のレベルがある。 そこから、事故を起こしにくい法整備かなどの法律のレベル、事故が起きにくい・起きても大事になりにくい道路設計かなどのデザインのレベル、事故が起きてもドライバーが怪我をしにくい車体構造かなどの乗り物のレベル、大きな怪我でも治療できるかといった医療技術のレベル、難しい手術もこなせるかといった医師のレベル、大怪我でも治癒できる身体かという本人のレベルなどが考えられる。
珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造
- 作者:ジョン・ベントリー
- 発売日: 2014/02/28
- メディア: 単行本(ソフトカバー)