![]() |
||||||||
|
||||||||
![]() |
AMD Athlon 64 2800+
ASUSTeK K8V SE DX
512MB DDR DIMM
NVIDIA GeForce FX 5200
Windows XP Professional SP1
cygwin 1.5.11-1
xorg-x11-base 6.8.0.0-1
X-Win32 6.0デモバージョン
WRQ Reflection X 12.0.2評価版
Cooperative Linux 0.6.2
Knoppix 3.4 20040517-20040820
500x500 rectangle | Char16 in 40-char line (k14) | Copy 500x500 from pixmap to window | PutImage 500x500 square | ShmPutImage 500x500 square | |
---|---|---|---|---|---|
Cygwin/X | 2000 reps @ 3.7091 msec (270.0/sec) | 400000 reps @ 0.0139 msec ( 72100.0/sec) | 1600 reps @ 4.0877 msec ( 245.0/sec) | 80 reps @ 99.0660 msec ( 10.1/sec) | 1200 reps @ 4.2127 msec ( 237.0/sec) |
X-Win32 | 30000 reps @ 0.1957 msec ( 5110.0/sec) | 120000 reps @ 0.0538 msec ( 18600.0/sec) | 320 reps @ 16.0175 msec ( 62.4/sec) | 8 reps @ 663.0741 msec ( 1.5/sec) | - |
Reflection X | 30000 reps @ 0.1950 msec ( 5130.0/sec) | 8000000 reps @ 0.0011 msec (945000.0/sec) | 320 reps @ 16.1303 msec ( 62.0/sec) | 28 reps @ 254.3465 msec ( 3.9/sec) | - |
500x500 rectangle | Char16 in 40-char line (k14) | Copy 500x500 from pixmap to window | PutImage 500x500 square | ShmPutImage 500x500 square | |
---|---|---|---|---|---|
Cygwin | 2000 reps @ 3.5264 msec 284.0/sec | 800000 reps @ 0.0103 msec 97400.0/sec | 1600 reps @ 3.9189 msec 255.0/sec | 12 reps @ 438.2211 msec 2.3/sec | - |
X-Win32 | 30000 reps @ 0.1895 msec 5280.0/sec | 120000 reps @ 0.0521 msec 19200.0/sec | 320 reps @ 15.5145 msec 64.5/sec | 20 reps @ 263.0146 msec 3.8/sec | - |
Reflection X | 30000 reps @ 0.1906 msec 5250.0/sec | 3200000 reps @ 0.0017 msec 573000.0/sec | 360 reps @ 1p.4839 msec 64.6/sec | 20 reps @ 260.7139 msec 3.8/sec | - |
RealVnc client | 3000 reps @ 1.8129 msec 552.0/sec | 800000 reps @ 0.0060 msec 167000.0/sec | 2000 reps @ 2.7148 msec 368.0/sec | 240 reps @ 23.8125 msec 42.0/sec | 2000 reps @ 2.8870 msec 346.0/sec ShmPut500x500 |
それぞれの結果をローカルのx11perfをCygwin/Xサーバーで実行した結果を 1として正規化する。
500x500 rectangle | Char16 in 40-char line (k14) | Copy 500x500 from pixmap to window | PutImage 500x500 square | ||
---|---|---|---|---|---|
Cygwin/X | 1 | 1 | 1 | 1 | |
X-Win32 | 18.92592593 | 0.257975035 | 0.254693878 | 0.148514851 | |
Reflection X | 19 | 13.10679612 | 0.253061224 | 0.386138614 | |
coLinux-Cygwin | 1.051851852 | 1.350901526 | 1.040816327 | 0.227722772 | |
coLinux-X-Win32 | 19.55555556 | 0.26629681 | 0.263265306 | 0.376237624 | |
coLinux-Reflection X | 19.44444444 | 7.947295423 | 0.263673469 | 0.376237624 | |
coLinux-RealVnc client | 2.044444444 | 2.316227462 | 1.502040816 | 4.158415842 |
全体的な特徴としてCygwin/Xはrect500が遅くcopypixwin500が早い。 Reflection Xはf14text16が早くX-Win32はf14text16が遅い。 VNCはputimage500が早く、shmput500が使える。
Lanの向こうのLinuxマシンからx11perfを飛ばすとReflection X・Cygwin/X共に putimage500で9.0/sec程度になる。このときの受信スループットが1Gbpsの7%に なっているのでputimage500は、ほぼネットワークの速度に依存すると思われる。
Cygwin/XでShadow GDI・Shadow DirectDraw・Shadow DirectDraw4 Non-Lockingの どれを使ってもスコアは測定誤差の範囲内だったのでShadow Bufferからの転送が ボトルネックになっているわけではない。
Netperfを使ってスループット測定した時のネットワーク使用率をタスクマネージャーで 見ると4%前後になる。 coLinuxでTAPを用いた時の限界スループットがおそらくこの程度。
Reflection Xはputimage500でほぼ帯域を使い切ってるのでReflection Xを 使ってる場合はTAPがボトルネックになっている可能性が。
Cygwin/Xは、ローカルではputimage500早いのに、coLinuxで実行すると遅い。
VNCはrect500やcopypixwin500でもそこそこ帯域を使うけれど、 f14text16やputimage500でもほとんど転送量が変わらない。
Netperfの測定結果によるとWindows→coLinuxのスループットが17.76Mbps、 coLinux→Windowsが35.93Mbps。
time dd if=/dev/cobd1 of=/dev/null ibs/1024 count=10000 してみると20秒ほどで転送が終わって5Mbytes/sec程度で40Mbps。 coLinuxとWindows間のデータ転送の限界がこの程度とすると、 TAP接続でほぼ限界速度がでている。
Contact me <zakki@peppermint.jp> | © 2001-2006 zakki. |
total: |