スマホの性能が上がったって言うけど、パソコンとはこんなに差があるよ~素数で検証~
パソコンやスマホの性能を測るにはベンチマークを行います。
他の端末と性能を数値で比較できるので、とても参考になります。
でも、その数値って、どれだけすごいのか、どれだけショボイのかわかりませんよね?
スマホとパソコンは同じ条件で同じベンチマークを測るのが難しいです。
(iPhoneでAndroidアプリが使えないイメージ)
そこで、どんな端末でも共通のブラウザで動作するJavascriptを利用して簡単な計算を行い、速度を体感してみようと思います。
素数を計算するスピードで比較しようと思います。
■素数計測 -------------------------------
-----------------------------------------------
[使い方]
Startボタンを押すと経過時間と素数を順番に表示します。
Stopボタンを押すと計算を終了します。
一度ストップすると、再開はできず、最初から計算が始まります。
[素数の求め方]
・自然数を2から順番に素数であるかをチェックします。
・2~チェックしたい数値までの値で割って、余りがゼロの数値があれば素数でない、とします。
例)
5が素数でるか確認する
5÷2 = 2 ... 1
5÷3 = 1 ... 2
5÷4 = 1 ... 1
- > 素数である
4が素数であるか確認する
4÷2 = 2 ... 0
- > 素数ではない
同じ時間でどこまで計算できるかで比較するもよし、
同じ数値まで計算するのにどれくらいかかるかで比較してもよし、です。
注意として、経過時間など厳密な値ではありませんので、
あくまで参考程度にしてください。
あと、精度が悪いので、数秒だけで判断するよりも、数十秒は動かしてみるとよいとお思います。
[その他]
偶数は明らかに素数でないから自然数を全てチェックする必要がない、
直前の素数を記憶しておけば、割り算チェックの数が減らせるじゃないか、
さらにはもっと数学的な応用は多々あります。
ただ、今回は表示速度がどんどん落ちていくのを体感したいので、
シンプルなロジックにしました。
パソコンとスマホで表示速度の違いを比べてみてください。
ちなみに私の環境で1分間実行してみました。
PC(VAIO Z) | 12011 |
iPhone 4s | 3271 |
Nexus 7 | 5437 |
高性能と言われているタブレットはiPhoneとさほど変わらず。
一方でパソコンは文字通り桁違いですね。