ComNifty内部処理時間の推測
[ Back | Home | ASAHIネット会員Home Page一覧 | ASAHIネットHome Page ]


ComNiftyを高速化するパッチ前後の受信性能を測定した下記のデータから,ComNiftyの内部処理の状況を大まかに推測してみました。この推測は,私のPB2400c/400の測定結果からのもので,マシンが違えば状況も違います。





この推測では,まずComNiftyの内部処理を下記に分類して考えます。厳密には,これほど単純でないと思いますが,大まかにはこの様な傾向があると思われます。


上記の様な処理内容に分解できるという仮定で,パッチ前後で色々なウインドウ行数で受信性能を測定した結果から各処理の処理時間を概算したのが下記のグラフです。このグラフでは,6行表示(ノーマルのComNiftyでSucha 9pのときの最小行数)の場合を示しています。

処理時間を「2KB受信当たり」としたのは,ComNiftyが1回のイベントループの実行で処理できる最大のデータ量が2KB(2048バイト)のためです。ComNiftyは,負荷が大きくComNiftyの性能が限界に達している場合には,1回のイベントループの実行で2KBのデータを処理します。

ただし,パッチで改造したComNiftyでB/W(モノクロ表示)の場合には,23000バイト/秒の転送速度(シリアルポートの限界)であり,ComNiftyの性能に余裕があります。「余裕」というのがこの余裕分を示します。実際には,この余裕がある場合にはイベントループ1回当たりの処理量が2KBより小さくなり,その結果処理効率が低下するため「データ依存処理」+「行数依存処理」がグラフよりも大きくなって,「余裕」で示した部分までを占めていはずです。





下記のグラフは,上のグラフを処理種別毎の比率を示す様にしたものです。




以上の推測の結果から,下記の様なことが言えます。



[ Back | Home | ASAHIネット会員Home Page一覧 | ASAHIネットHome Page ]