共用方式為


修訂二:重新設計較少的連線

在此修訂中,範例應用程式會重新設計,以消除不必要的連線。

警告

此應用程式的範例也提供刻意不佳的效能,以說明程式碼變更的可能效能改善。 請勿在應用程式中使用此程式碼範例;僅供說明之用。

 

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%

改善緩慢的應用程式

網路術語

基準版本:效能不佳的應用程式

修訂 1:清除明顯

修訂 3:壓縮區區塊轉送

未來的改善