スマートフォンの性能が上がっています。Snapdragon 845 搭載の Pixel 3 を手に入れたので、開発環境としてどのくらい使えるか再び試してみました。(前回の記事はこちらです)
また Android 上で一般アプリとして実行可能な Linux 環境 UserLAnd がリリースされているので、Termux と合わせてテストしました。どちらも root 不要です。
● 今回の結果 (Android + Termux)
・time = コンパイル時間。単位は秒。この値が小さい方が速い。
Cortex-A75 ベースとなった Snapdragon 845 は非常に速く、Desktop PC と比べても遜色ない速度でコンパイルが完了しています。普通に開発環境として使いたいレベル。
下記はスマートフォン以外のデバイスを含めた比較です。
・W10 + VMware = VMware Workstation 15 Player + Ubuntu 18.04
・W10 + WLS = Windows Subsystem for Linux + Ubuntu 18.04
前回同様 C++ ライブラリの Build を行っています。Build Target は Linux 向けで統一。実行はコマンドラインから行い、それぞれ 2回連続で走らせたうち速い方を採用しています。
Chromebook C720 は crouton + Ubuntu 18.04 です。Chromebook Flip C101PA は Android の Termux ではなく ChromeOS 公式の Linux 機能 (Debian stretch) を使用しています。
Windows PC の場合は WSL (Windows Subsystem for Linux) や VMware Workstation Player を利用しているので、若干オーバーヘッドがある点に注意してください。
どの程度オーバーヘッドがあるのか、WSL と VMware を比較してみた結果は下記のとおりです。直接 Linux を install するよりも効率は落ちており、また VirtualMachine 系よりも WSL の方が遅くなっていることがわかります。いずれも Windows 10 1809 と Ubuntu18.04。
Termux は利用できるパッケージに制限がありましたが、UserLAnd はほぼそのまま一般の Linux Distribution が利用できるようです。下記は Termux と UserLAnd + Ubuntu の速度比較です。
・UserLAnd = Ubuntu (18.04) + SSH
残念ながらビルド時間は UserLAnd の方が倍以上遅くなっています。ファイルシステムの違いが原因と思われますが、それでも Pixel 3 の速度は十分使える範囲です。
なお UserLAnd の場合、古いデバイスではカーネルの違いか正しく動かないものがありました。Pixel3, ZenFone AR, Nexus 5X で動作したものの、それ以外の Android 端末では使えませんでした。
Pixel 3 は手持ちの古い Note PC よりも快適そうなので、持ち歩ける PC としてまじめに使ってみたいと思います。
↓ Android Pie の画面分割機能を使った画面です。左側が UserLAnd (SSH) で右が Termux。普通に日本語環境の構築もできます。Ubuntu 以外にも Arch, Debian, Kali Linux が利用可能。VNC で GUI も使えるようです。


関連エントリ
・ARM CPU 上の開発環境とコンパイル時間の比較
・AMD CPU Ryzen とコンパイル時間の比較 (2)
・AMD CPU Ryzen とコンパイル時間の比較
・ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較
・2955U vs N3150/J1900/Athlon5350 (コンパイル時間の比較)
・Raspberry Pi 2 で速くなったコンパイル時間の比較
・BayTrail vs Kabini (Celeron J1900 vs Athlon 5350)
・コンパイル時間の比較 BayTrail
・Atom vs Core i7
また Android 上で一般アプリとして実行可能な Linux 環境 UserLAnd がリリースされているので、Termux と合わせてテストしました。どちらも root 不要です。
● 今回の結果 (Android + Termux)
Device | SoC/CPU | RAM | Thread | time | 速度比 |
---|---|---|---|---|---|
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 32 | 4.2x |
Galaxy S6 Edge | Exynos 7420 | 3GB | 8/8 | 77 | 1.8x |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 111 | 1.2x |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 135 | 1.0x |
・time = コンパイル時間。単位は秒。この値が小さい方が速い。
Cortex-A75 ベースとなった Snapdragon 845 は非常に速く、Desktop PC と比べても遜色ない速度でコンパイルが完了しています。普通に開発環境として使いたいレベル。
下記はスマートフォン以外のデバイスを含めた比較です。
Device | SoC/CPU | RAM | Thread | time |
---|---|---|---|---|
Desktop W10+VMware | Ryzen 7 1800X | 32GB | 16/8 | 24 |
Desktop W10+VMware | Core i7-6700K | 32GB | 8/4 | 29 |
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 32 |
MacMini 2012 | Core i7-3615QM | 16GB | 8/4 | 43 |
Galaxy S6 Edge | Exynos 7420 | 3GB | 8/8 | 77 |
Desktop Linux | A10-7870K | 8GB | 4/2 | 82 |
Chromebook C101PA | RK3399 | 4GB | 6/6 | 87 |
MacBook Pro 2013 | Core i5-3210M | 8GB | 4/2 | 97 |
Desktop Linux | Celeron J1900 | 8GB | 4/4 | 108 |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 111 |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 135 |
Tegra Note 7 | Tegra 4 | 1GB | 4/4 | 148 |
Note W10+WSL | Atom x7-Z8700 | 4GB | 4/4 | 200 |
Chromebook C720 | Celeron 2955U | 4GB | 2/2 | 222 |
Nexus 9 | Tegra K1 | 2GB | 2/2 | 272 |
Nexus 7 2013 | Snapdragon S4 Pro | 2GB | 4/4 | 275 |
MeMO Pad 7 ME176C | Atom Z3745 | 1GB | 4/4 | 312 |
・W10 + VMware = VMware Workstation 15 Player + Ubuntu 18.04
・W10 + WLS = Windows Subsystem for Linux + Ubuntu 18.04
前回同様 C++ ライブラリの Build を行っています。Build Target は Linux 向けで統一。実行はコマンドラインから行い、それぞれ 2回連続で走らせたうち速い方を採用しています。
Chromebook C720 は crouton + Ubuntu 18.04 です。Chromebook Flip C101PA は Android の Termux ではなく ChromeOS 公式の Linux 機能 (Debian stretch) を使用しています。
Windows PC の場合は WSL (Windows Subsystem for Linux) や VMware Workstation Player を利用しているので、若干オーバーヘッドがある点に注意してください。
どの程度オーバーヘッドがあるのか、WSL と VMware を比較してみた結果は下記のとおりです。直接 Linux を install するよりも効率は落ちており、また VirtualMachine 系よりも WSL の方が遅くなっていることがわかります。いずれも Windows 10 1809 と Ubuntu18.04。
Device | CPU | RAM | Thread | time |
---|---|---|---|---|
Desktop W10+VMware | Ryzen 7 1800X | 32GB | 16/8 | 24 |
Desktop W10+WSL | Ryzen 7 1800X | 32GB | 16/8 | 27 |
Desktop W10+VMware | Core i7-6700K | 32GB | 8/4 | 29 |
Desktop W10+WSL | Core i7-6700K | 32GB | 8/4 | 39 |
Desktop Linux (Native) | A10-7870K | 8GB | 4/2 | 82 |
Desktop W10+VMWare | A10-7870K | 8GB | 4/2 | 86 |
Desktop W10+WSL | A10-7870K | 8GB | 4/2 | 104 |
MacBook Pro Palallels | Core i5-3210M | 8GB | 4/2 | 154 |
MacBook Pro W10+VMWare | Core i5-3210M | 8GB | 4/2 | 159 |
MacBook Pro W10+WSL | Core i5-3210M | 8GB | 4/2 | 189 |
Termux は利用できるパッケージに制限がありましたが、UserLAnd はほぼそのまま一般の Linux Distribution が利用できるようです。下記は Termux と UserLAnd + Ubuntu の速度比較です。
Device (Termux) | CPU | RAM | Thread | time |
---|---|---|---|---|
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 32 |
Galaxy S6 Edge | Exynos 7420 | 3GB | 8/8 | 77 |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 111 |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 135 |
Device (UserLAnd) | CPU | RAM | Thread | time |
Pixel 3 | Snapdragon 845 | 4GB | 8/8 | 78 |
ZenFone AR | Snapdragon 821 | 8GB | 4/4 | 221 |
Nexus 5X | Snapdragon 808 | 2GB | 6/6 | 361 |
・UserLAnd = Ubuntu (18.04) + SSH
残念ながらビルド時間は UserLAnd の方が倍以上遅くなっています。
なお UserLAnd の場合、古いデバイスではカーネルの違いか正しく動かないものがありました。Pixel3, ZenFone AR, Nexus 5X で動作したものの、それ以外の Android 端末では使えませんでした。
Pixel 3 は手持ちの古い Note PC よりも快適そうなので、持ち歩ける PC としてまじめに使ってみたいと思います。
↓ Android Pie の画面分割機能を使った画面です。左側が UserLAnd (SSH) で右が Termux。普通に日本語環境の構築もできます。Ubuntu 以外にも Arch, Debian, Kali Linux が利用可能。VNC で GUI も使えるようです。


関連エントリ
・ARM CPU 上の開発環境とコンパイル時間の比較
・AMD CPU Ryzen とコンパイル時間の比較 (2)
・AMD CPU Ryzen とコンパイル時間の比較
・ARM Cortex-A53 の浮動小数点演算速度とコンパイル時間の比較
・2955U vs N3150/J1900/Athlon5350 (コンパイル時間の比較)
・Raspberry Pi 2 で速くなったコンパイル時間の比較
・BayTrail vs Kabini (Celeron J1900 vs Athlon 5350)
・コンパイル時間の比較 BayTrail
・Atom vs Core i7
2018/12/30
2年間使った Apple Watch Series 2
Apple Watch S2 42mm を使って 2年 (と数ヶ月) 経ちました。watchOS も 5 になり当初から 2つ上がっています。今のところ一番利用している機能は Suica です。バッテリーは 2日に一度の充電ペースでしたが、最近充電頻度があがりました。
● バッテリーの持ち
バッテリーは使い方にもよりますが 42mm モデルの Watch OS 4 時でだいたい 3日使えます。3日といっても 24 x 3 = 72 時間フルに持続するわけではなく、朝充電器から外すと 3日目家に帰るまで持つ感覚です。およそ 12 x 5 の 60時間前後でしょうか。当初の 2年間は、2日に一度の充電ペースでも余裕を持って運用できていました。
ところがこの数ヶ月、秋に Watch OS 5 に更新したあたりから充電ペースが上がっています。2日目の余裕がほとんど無いので毎日充電するようになりました。Watch OS 5 で消費電力が増えたのか、もしくはバッテリーが劣化したせいかもしれません。
● Apple Pay の Suica と改札
1日に 8回改札を通過しており買い物にも利用しています。今では外出に欠かせない物となってますが、使い始めた当初は慣れずに自動改札で引っかかることが多々ありました。
(1) IC カードと比べて若干認識速度が遅い
(2) 手首でのタッチは指先でカードを持つよりも距離が遠い
(3) 認識結果のアラームが鳴るタイミングが不定
(4) いつの間にか自動ロックがかかっている事がある
(1)~(3) は比較的すぐ慣れましたが (4) は未だにあります。
Apple Pay 利用時はセキュリティのためパスコードによるロックが必須となっています。といっても身につけている間は常にロックが解除されており不便はありません。センサーが常時腕を認識しており、腕から外すと自動的にロックがかかる仕組みです。
非常に良くできているのですが、ベルトを緩めにしているせいか気が付かないうちにロックされていて、稀に改札で締め出しをくらうことがあります。袖口が時計と腕の隙間に入り込むのかもしれません。
● Suica の残高表示のずれ
watch OS 3~4 の頃、Suica の残高表示が正しく反映されない (変わらない) ことがありました。見た目だけの問題で、支払いは自体は正しく行われているため実害はありません。他にも通知に表示される支払い金額がつねに 1つ前のものだったり、改札の内外通知が逆転したこともあります。
どうやら Apple Watch 側の再起動で直るようです。watchOS 5 ではまだこの症状に遭遇していないので改善しているのかもしれません。
● スマートウォッチの操作
通知など情報を受けるには便利なスマートウォッチですが、操作面では少々難があります。小さいタッチ画面もそうですし、操作には両腕が必要です。荷物やつり革で片手が埋まっている場合は、片手でも操作できるスマートフォンを取り出した方が早いことになります。タイマーのように簡単なものは Siri によるボイスコマンドを利用するようになりました。
● ワークアウトの自動判定
watchOS 5 からワークアウトの自動判定ができるようになりました。ある一定時間負荷が持続すると通知が来るので、応えると時間を遡ってワークアウト期間とみなしてくれます。非常に便利なのですが、もしかしたら watchOS 5 で消費電力が増えた原因の一つかもしれません。自動判定の通知自体は設定で Off にすることができます。
設定→一般→ワークアウト→ワークアウトの開始を通知
関連エントリ
・Apple Watch S2 の CPU と浮動小数点演算
・Apple Pay を iPhone SE + Apple Watch S2 で使ってみた (2)
・Apple Pay を iPhone SE + Apple Watch S2 で使ってみた
・Apple Watch の CPU の種類と浮動小数点演算速度
● バッテリーの持ち
バッテリーは使い方にもよりますが 42mm モデルの Watch OS 4 時でだいたい 3日使えます。3日といっても 24 x 3 = 72 時間フルに持続するわけではなく、朝充電器から外すと 3日目家に帰るまで持つ感覚です。およそ 12 x 5 の 60時間前後でしょうか。当初の 2年間は、2日に一度の充電ペースでも余裕を持って運用できていました。
ところがこの数ヶ月、秋に Watch OS 5 に更新したあたりから充電ペースが上がっています。2日目の余裕がほとんど無いので毎日充電するようになりました。Watch OS 5 で消費電力が増えたのか、もしくはバッテリーが劣化したせいかもしれません。
● Apple Pay の Suica と改札
1日に 8回改札を通過しており買い物にも利用しています。今では外出に欠かせない物となってますが、使い始めた当初は慣れずに自動改札で引っかかることが多々ありました。
(1) IC カードと比べて若干認識速度が遅い
(2) 手首でのタッチは指先でカードを持つよりも距離が遠い
(3) 認識結果のアラームが鳴るタイミングが不定
(4) いつの間にか自動ロックがかかっている事がある
(1)~(3) は比較的すぐ慣れましたが (4) は未だにあります。
Apple Pay 利用時はセキュリティのためパスコードによるロックが必須となっています。といっても身につけている間は常にロックが解除されており不便はありません。センサーが常時腕を認識しており、腕から外すと自動的にロックがかかる仕組みです。
非常に良くできているのですが、ベルトを緩めにしているせいか気が付かないうちにロックされていて、稀に改札で締め出しをくらうことがあります。袖口が時計と腕の隙間に入り込むのかもしれません。
● Suica の残高表示のずれ
watch OS 3~4 の頃、Suica の残高表示が正しく反映されない (変わらない) ことがありました。見た目だけの問題で、支払いは自体は正しく行われているため実害はありません。他にも通知に表示される支払い金額がつねに 1つ前のものだったり、改札の内外通知が逆転したこともあります。
どうやら Apple Watch 側の再起動で直るようです。watchOS 5 ではまだこの症状に遭遇していないので改善しているのかもしれません。
● スマートウォッチの操作
通知など情報を受けるには便利なスマートウォッチですが、操作面では少々難があります。小さいタッチ画面もそうですし、操作には両腕が必要です。荷物やつり革で片手が埋まっている場合は、片手でも操作できるスマートフォンを取り出した方が早いことになります。タイマーのように簡単なものは Siri によるボイスコマンドを利用するようになりました。
● ワークアウトの自動判定
watchOS 5 からワークアウトの自動判定ができるようになりました。ある一定時間負荷が持続すると通知が来るので、応えると時間を遡ってワークアウト期間とみなしてくれます。非常に便利なのですが、もしかしたら watchOS 5 で消費電力が増えた原因の一つかもしれません。自動判定の通知自体は設定で Off にすることができます。
設定→一般→ワークアウト→ワークアウトの開始を通知
関連エントリ
・Apple Watch S2 の CPU と浮動小数点演算
・Apple Pay を iPhone SE + Apple Watch S2 で使ってみた (2)
・Apple Pay を iPhone SE + Apple Watch S2 で使ってみた
・Apple Watch の CPU の種類と浮動小数点演算速度