インターフェース・バス規格
機器との間で小さなデータを1つずつ何千回もやり取りするプログラムを速くする方法として、最も効果的なものはどれか。
- A帯域が2倍の世代の接続に変えるだけにする
- Bデータをまとめて大きな塊にし、やり取りの回数を減らす
- C1回ごとのデータをさらに小さく分ける
答えと解説を見る
正解:B. データをまとめて大きな塊にし、やり取りの回数を減らす
小さなやり取りでは、1回ごとに遅延とソフトウェアの処理の手間がかかり、帯域はほとんど使われていません。データをまとめて1回で送れば、遅延を払う回数が減り、帯域も有効に使えます。ストレージやネットワークでは、複数の要求を待ち行列にためて一度に渡す、割り込みをまとめる、といった同じ考え方の工夫が広く使われています。
- A. 小さなデータでは遅延が支配的なので、効果は小さいです。
- B. 正しい。遅延を払う回数が減ります。
- C. 回数が増えて、さらに遅くなります。