修訂二:重新設計較少的連線
在此修訂中,範例應用程式會重新設計,以消除不必要的連線。
警告
此應用程式的範例也提供刻意不佳的效能,以說明程式碼變更的可能效能改善。 請勿在應用程式中使用此程式碼範例;僅供說明之用。
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 );
剩餘的問題
修訂二中的變更重新設計了應用程式,讓每個更新只能進行一個連線。 應用程式仍包含下列效能問題:
- 應用程式仍會序列化並交談。
- 應用程式仍具有大量設計;此設計中有許多傳送不需要任何作業。
- 傳送仍然只有 3 個位元組,這是資料流程不佳的。
關鍵效能計量
下列效能計量會以來回時程表示, (RTT) 、Goodput 和通訊協定額外負荷。 如需這些詞彙的說明,請參閱 網路術語 主題。
此版本反映下列效能計量:
- 儲存格時間 — 1*RTT
- Goodput — 4 個位元組/RTT
- 通訊協定額外負荷 — 96.8%
相關主題