修订版 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 中的更改重新设计了应用程序,使每个更新仅连接一次。 应用程序仍包含以下性能问题:
- 应用程序仍处于序列化和无聊。
- 应用程序仍具有胖设计;有许多发送在此设计中不需要任何操作。
- 发送仍然只有 3 个字节,这是糟糕的流式处理。
关键性能指标
以下性能指标以往返时间 (RTT) 、良好输出和协议开销表示。 有关这些术语的说明,请参阅 网络术语 主题。
此版本反映以下性能指标:
- 单元格时间 — 1*RTT
- Goodput — 4 个字节/RTT
- 协议开销 — 96.8%
相关主题