今日も3時半起き。老化か?夜更かしの反対はなんて言うんだろう(挨拶)。
enchantMOONの動作の遅さを数値化できないかと考えた。OSに近い部分は公開されていないので、比較対象と同じ方法での計測アプリを仕込むことが難しい。とりあえずブラウザは動くので、同じネットワークから回線速度計測をすると差異が出るのではないかということで、計測してみた。
自宅回線のWAN側はADSLで、下記の通りである。
伝送方式 | ADSL回線状態遷移 | ADSLリンクアップ |
オペレーションモード | G.992.1 Annex.C(DBM) |
下り方向 | 上り方向 | |||
回線状態 | ADSLリンク速度 | 9696 kbps | 1088 kbps | |
SNR | 10.0 dB | - | ||
インタリーブディレイ | 8 msec | 8 msec | ||
回線警報 | ADSLレイヤ | FEC(エラー訂正数) | 506 | 1654 |
CRC(エラー数) | 225 | 91 | ||
ATMレイヤ | HEC(ヘッダエラー数) | 90 | 23 | |
送受信フレーム数 | 1934808 | 1604324 |
各機ともLANは全て11gの接続としている。
無線(802.11n/g/b) |
|
---|
各機のブラウザのUAは下記の通り。UAの調査にはUser Agent String.Comを使用した。スクリーンショットはそれぞれクリックで拡大する。
Android系の3台はいずれもAppleWebkitで、Build No.を見るとenchantMOONとThinkPad TabletとAT3S0は同じ。これは、ブラウザに限れば早い遅いは単純にハードウェア性能差ということになる。
一方、W520(Window8)とSurface RTは同じIE10でTriden6.0。W520のIEはタッチアプリではなくデスクトップ側のものを使用した。
計測は一度失敗した。最初BNRの画像読込み版を使っていくつかの端末で10回ずつ計測を済ませたところで、enchantMOONと残り端末の計測をしようとした。しかし、enchantMOONのブラウザでは画面遷移が発生するところでenchantMOONの次ページに飛んでしまう。画像処理の遅さが明確に出るのでBNRの画像読込み版を使いたかったのだが、肝心のenchantMOONで動作しないのでは仕方がない。BNRは断念した。
enchantMOONでも使えるサイトということで探したところ、画面遷移が発生しないRapidnetを見つけた。測定ボタンを一度押すだけで下り・上りを計測するので使いやすい。
結果は下記表の通りである。各機とも設定はいつも通りのまま変更せず。バックグラウンドのアプリを止めていない。enchantMOONからAT3S0まで5台をローテーションで計測し、母数は少ないが各20回ずつ実施した。
平均・標準偏差・中央値・最頻値・分散の各統計値は、EXCELの関数を使用した。
同じ回線を使っているにも関わらず、他の4台と速度に違いが出ている。特にenchantMOONとW520では下り・上りともに大きな差がある。
それよりも、今回は特に下りでenchantMOONの分散が大きいことに目が行く。分散ではW520と3桁、Surface RTと2桁の差がある。他のAndroid2台(ThinkPad Tablet、AT3S0)とも1桁の違いが出ている。
母数が少ないが、明らかにenchantMOONの動作にはムラがある。OSに近い部分でデータ取得・情報取得できないため原因は特定できないが、下記が候補となるだろう。
候補1を潰すためには無線LANルータのそばで計測をする必要があり、別途やってみたい。本当はムラだけでなく、遅さの原因を突き止めたいのだが。
今日のところの結論(仮)としては、「enchantMOONの動作の遅さの一つとして、Webブラウザの処理(レンダリング・回線速度)が挙げられ、同一条件で計測した対象機と大きな差がある」 というところである。遅さの原因は確定しないが、遅いという点は感覚的なものではなく実測値として判明した。
ブラウザ以外の遅さを測る方法はあるんだろうか?せめてAndroid同士で同じアプリが使えれば、測ることができるのだが。
オレがMOONBlockを使ったプログラミングに進まないのは、enchantMOONが遅くて気が進まないというのはある。