リビジョン 2: より少ない接続の再設計
このリビジョンでは、不要な接続を排除するために、サンプル アプリケーションが再設計されています。
警告
このアプリケーションの例では、コードの変更によって可能なパフォーマンスの向上を示すために、意図的にパフォーマンスが低下します。 このコード サンプルは、アプリケーションでは使用しないでください。これは説明のみを目的としています。
ComputeNext( Map );
bind( s, ... );
connect( s, ... );
for(int i=0 ; i < ROWS ; ++i)
for(int j=0 ; j < COLS ; ++j)
{
BYTE tmp[3];
tmp[0] = i;
tmp[1] = j;
tmp[2] = Map[i][j];
send( s, tmp, 3 );
recv( s, &byRet, 1 );
}
closesocket( s );
残りの問題
リビジョン 2 の変更により、更新ごとに 1 つの接続のみを行うためにアプリケーションが再設計されました。 アプリケーションには、引き続き次のパフォーマンスの問題が含まれています。
- アプリケーションは引き続きシリアル化され、チャットされます。
- アプリケーションはまだ脂肪のデザインを持っています。この設計では操作を必要としない送信が多数あります。
- 送信はまだ 3 バイトのみであり、ストリーミングが不十分です。
主要なパフォーマンス メトリック
次のパフォーマンス メトリックは、ラウンド トリップ時間 (RTT)、Goodput、およびプロトコルオーバーヘッドで表されます。 これらの用語の説明については、 ネットワーク用語 に関するトピックを参照してください。
このバージョンには、次のパフォーマンス メトリックが反映されています。
- セル時間 — 1*RTT
- Goodput — 4 バイト/RTT
- プロトコルオーバーヘッド — 96.8%
関連トピック