備忘録:Termuxで、Pixel3のUnixBench

じゃんくはっく
じゃんくはっく

Pixel3が来たんでUnixBenchとっておきます!

あ〜、ごみジャンクなPixel3が到着したのね!

ぴー
ぴー
じゃんくはっく
じゃんくはっく

・・・いちいち、ジャンク〜と言うのね!w

ごみ、よりいいでしょ?w

ぴー
ぴー

はい、ジャンクなPixel3が到着しました。メルカリは面白いですね。値下げ文化みたいなのがあって、売り手と買い手のせめぎ合いです。今回、自分はそういうのには参加せず、8500円まで値下げされていた状態で発見しました。さらに、買い手が7500円でどうか?と打診中に、8500円でゲットしたという感じです。ヤフオクはそういうのがないので、なんか新鮮に感じましたが、売り手は慣れないと「まーた、値下げかよ!」みたいな感じになるのかなと。Pixel3は発売価格9.5万円ですからね!

なぜ、今頃Pixel3なんかゲットしたの?

え〜っとw。目的は root化した状態の termux で遊びたかったからです。UmidigiF2はこのブログが動作しているので、あれこれできないのです。

で、どうせなら、Umidigi F2 よりも速そうで Androidリファレンス機のPixelシリーズが良いな! という感じです。Pixelという機種は、知らない人もいるかもしれませんが Google から発売されている機種で、AndroidOSの最新版が最初にリリースされます。つい最近も、Android11がリリースされましたよね!なので、いち早くandroidOSの最新にアップデートできます。

アプリ開発者とPixel

 アプリ開発者は、1年に1回9月ごろにAndroidOSのアップデートがあるので、情報調査など春頃から準備しています。9月には新しいOSが出るから、それにアプリを対応させるんです。これは慣例作業なので、大概アプリ開発やってる人や会社は、Pixelシリーズを持っています。iOSもこの時期にOSアップデートがあり、アプリ開発者は新年度〜秋にかけて大忙しです。iosとandroidの両方のアプリが扱っているので結構大変ですが、一番面白い時期でもあります。

 また、秋〜春にかけては新しいOSが実装した新機能にアプリをどう対応させるのか、またその機能を実装するのか?など様々な検討が繰り広げられています。つまり、1年中あれこれやることが嫌でもあるわけです。

まずはAntutu8 でベンチマーク

Antutuの情報はたくさんあるんですが、意図的にPixel3で OS10とOS11でベンチマークした結果はほぼ無いと思うので、載せておきます。なお、Antutuは何も意識しないと常駐するのでOS初期化後に入れて計測したら速攻、消したほうがいいです。そのうち、この指標も違うものがスタンダードになると思うのですが、今は antutuスコアがピンときますよね。

約、25マン〜27マンで今ではミドルクラスの上位というスコアです。計測の誤差なのか、少しAndroid11で計測したときの方が速くなっていますね。Kernel周りの影響か、チューニングを変えて来たのかそのあたりは不明です。

計測時のKernelバージョンは以下となります。

Termux入れて、設定

termuxを入れて、アプリが良い状態で動作するよう以下の設定をやっておきます。

・Wakelockを有効にしておく。

画面右の状態にしておきます。wakelockとは何か知りたい人は以下を参照してね。Termuxは、wakelockしておくか、しないか選択できるようになっています。

デバイスの起動状態を維持する

https://developer.android.com/training/scheduling/wakelock?hl=ja

・電池の最適化をしない 設定にしておく

この表現、紛らわしいですよね! つまり、標準ではシステム関連のプリイン・アプリの一部以外、つまりストアから入れたアプリは、最適化していて電池消費を抑える仕組みです。これを意図的に、「最適化しない」状態にしておきます。

UnixBenchiを計測!

結果から。どちらも1回限りの結果ですので計測誤差の範囲かと思います。

・Pixel3 Android10の場合
 CPU:Snapdragon 845
 Hardware : Qualcomm Technologies, Inc SDM845

シングル:546.9
8CPU:1396.4

・Pixel3 Android11の場合

シングル:520.0
8CPU:1343.3

・Pixel3 Android11 再計測

シングル:590.1
8CPU:1732.6

UmidigiF2や、Redmi Note 9S より速いですね。比較のため、スコアを載せておきます。

・UmidigiF2 Android10の場合
 CPU MediaTek Helio P70
 Hardware : MT6771V/CT

シングルCPU・・・スコア406.2
8CPU・・・・・・スコア1312.3

・Redmi Note 9S Android10の場合
 CPU:Qualcomm Snapdragon 720G
 Hardware : Qualcomm Technologies, Inc SM7125

シングルCPU・・・スコア571.9
8CPU・・・・・・スコア1127.1

詳細は以下に載せておきます。インストール方法は、以下参照してね。

衝撃価格7500円でゲットしたRedmi Note 9SにLinux入れてUnixBenchを計測

・Android10の場合

$ cat /proc/cpuinfo | head
Processor	: AArch64 Processor rev 13 (aarch64)
processor	: 0
BogoMIPS	: 38.00
Features	: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer	: 0x51
CPU architecture: 8
CPU variant	: 0x7
CPU part	: 0x803
CPU revision	: 12

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost: Android
   OS: Android -- 4.9.210-g28c696160049-ab6386370 -- #0 SMP PREEMPT Fri Apr 10 23:00:22 UTC 2020
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap=, collate=)
   13:25:54 up  1:07,  load average: 6.94, 6.06, 4.72; runlevel 

------------------------------------------------------------------------
Benchmark Run: Fri Oct 02 2020 13:25:54 - 13:54:01
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       29151129.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6277.5 MWIPS (9.9 s, 7 samples)
Execl Throughput                                308.0 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        425891.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          167742.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1012005.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1057618.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  49668.9 lps   (10.0 s, 7 samples)
Process Creation                               1233.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1388.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    478.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        1024417.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   29151129.2   2498.0
Double-Precision Whetstone                       55.0       6277.5   1141.4
Execl Throughput                                 43.0        308.0     71.6
File Copy 1024 bufsize 2000 maxblocks          3960.0     425891.2   1075.5
File Copy 256 bufsize 500 maxblocks            1655.0     167742.2   1013.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    1012005.2   1744.8
Pipe Throughput                               12440.0    1057618.2    850.2
Pipe-based Context Switching                   4000.0      49668.9    124.2
Process Creation                                126.0       1233.6     97.9
Shell Scripts (1 concurrent)                     42.4       1388.6    327.5
Shell Scripts (8 concurrent)                      6.0        478.6    797.7
System Call Overhead                          15000.0    1024417.8    682.9
                                                                   ========
System Benchmarks Index Score                                         546.9

------------------------------------------------------------------------
Benchmark Run: Fri Oct 02 2020 13:54:01 - 14:22:44
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables       91224897.9 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    23800.2 MWIPS (9.6 s, 7 samples)
Execl Throughput                               1057.6 lps   (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        401385.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          139250.6 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1389559.4 KBps  (30.0 s, 2 samples)
Pipe Throughput                             3891494.8 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 249526.0 lps   (10.0 s, 7 samples)
Process Creation                              11033.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   4638.3 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    475.1 lpm   (60.7 s, 2 samples)
System Call Overhead                        3275443.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   91224897.9   7817.0
Double-Precision Whetstone                       55.0      23800.2   4327.3
Execl Throughput                                 43.0       1057.6    246.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     401385.2   1013.6
File Copy 256 bufsize 500 maxblocks            1655.0     139250.6    841.4
File Copy 4096 bufsize 8000 maxblocks          5800.0    1389559.4   2395.8
Pipe Throughput                               12440.0    3891494.8   3128.2
Pipe-based Context Switching                   4000.0     249526.0    623.8
Process Creation                                126.0      11033.1    875.6
Shell Scripts (1 concurrent)                     42.4       4638.3   1093.9
Shell Scripts (8 concurrent)                      6.0        475.1    791.9
System Call Overhead                          15000.0    3275443.3   2183.6
                                                                   ========
System Benchmarks Index Score                                        1396.4

・Android11の場合

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost: Android
   OS: Android -- 4.9.223-g5bded8e40b62-ab6647920 -- #0 SMP PREEMPT Thu Jul 2 03:22:48 UTC 2020
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap=, collate=)
   19:02:02 up 18 min,  load average: 2.42, 2.89, 2.08; runlevel 

------------------------------------------------------------------------
Benchmark Run: Fri Oct 02 2020 19:02:02 - 19:30:09
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       27896830.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6039.7 MWIPS (10.0 s, 7 samples)
Execl Throughput                                281.0 lps   (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        401241.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          139431.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1020201.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                              826721.2 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  48668.2 lps   (10.0 s, 7 samples)
Process Creation                               1540.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1008.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    514.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        1128058.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   27896830.6   2390.5
Double-Precision Whetstone                       55.0       6039.7   1098.1
Execl Throughput                                 43.0        281.0     65.4
File Copy 1024 bufsize 2000 maxblocks          3960.0     401241.9   1013.2
File Copy 256 bufsize 500 maxblocks            1655.0     139431.4    842.5
File Copy 4096 bufsize 8000 maxblocks          5800.0    1020201.2   1759.0
Pipe Throughput                               12440.0     826721.2    664.6
Pipe-based Context Switching                   4000.0      48668.2    121.7
Process Creation                                126.0       1540.1    122.2
Shell Scripts (1 concurrent)                     42.4       1008.3    237.8
Shell Scripts (8 concurrent)                      6.0        514.6    857.6
System Call Overhead                          15000.0    1128058.3    752.0
                                                                   ========
System Benchmarks Index Score                                         520.0

------------------------------------------------------------------------
Benchmark Run: Fri Oct 02 2020 19:30:09 - 19:58:33
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables       95077365.5 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    24278.9 MWIPS (10.0 s, 7 samples)
Execl Throughput                               1177.7 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        428589.2 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          124505.1 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1293287.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             3825103.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 299481.8 lps   (10.0 s, 7 samples)
Process Creation                              10720.9 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3892.1 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    386.7 lpm   (60.7 s, 2 samples)
System Call Overhead                        2499234.1 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   95077365.5   8147.2
Double-Precision Whetstone                       55.0      24278.9   4414.3
Execl Throughput                                 43.0       1177.7    273.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     428589.2   1082.3
File Copy 256 bufsize 500 maxblocks            1655.0     124505.1    752.3
File Copy 4096 bufsize 8000 maxblocks          5800.0    1293287.0   2229.8
Pipe Throughput                               12440.0    3825103.0   3074.8
Pipe-based Context Switching                   4000.0     299481.8    748.7
Process Creation                                126.0      10720.9    850.9
Shell Scripts (1 concurrent)                     42.4       3892.1    917.9
Shell Scripts (8 concurrent)                      6.0        386.7    644.6
System Call Overhead                          15000.0    2499234.1   1666.2
                                                                   ========
System Benchmarks Index Score                                        1343.3

追記:10/07

再度、ベンチマーク測っていたらもっと良いスコアが出た。気温とか関係あるのかな? 室温24度でちょっと肌寒くなってきたときに計測したもの。

・Pixel3 Android11 再計測

シングル:590.1
8CPU:1732.6

この時、CPUのクロックは以下となっていました。6881と、1766400と、2803200

# cat /sys/devices/platform/soc/soc:qcom,mincpubw/devfreq/soc:qcom,mincpubw/cur_freq
6881
# cat  /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
1766400
# cat  /sys/devices/system/cpu/cpufreq/policy/cpuinfo_cur_freq
policy0/ policy4/ 
# cat  /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_cur_freq
2803200

平常時には、この値は以下。762と、748800と、825600

# cat /sys/devices/platform/soc/soc:qcom,mincpubw/devfreq/soc:qcom,mincpubw/cur_freq
762
# cat  /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq
748800
# cat  /sys/devices/system/cpu/cpufreq/policy4/cpuinfo_cur_freq
825600

これが、良い値が出た時です。計測誤差の範囲を超えているのでメモっておきます。冷蔵庫とか冷凍庫とかに入れて計測したらもう少しよくなるのかも。

========================================================================
   BYTE UNIX Benchmarks (Version 5.1.3)

   System: localhost: Android
   OS: Android -- 4.9.223-g5bded8e40b62-ab6647920 -- #0 SMP PREEMPT Thu Jul 2 03:22:48 UTC 2020
   Machine: aarch64 (unknown)
   Language: en_US.utf8 (charmap=, collate=)
   05:38:19 up 2 days, 19:49,  load average: 0.50, 0.43, 0.44; runlevel 

------------------------------------------------------------------------
Benchmark Run: Wed Oct 07 2020 05:38:19 - 06:06:26
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       29316819.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6350.0 MWIPS (10.0 s, 7 samples)
Execl Throughput                                364.2 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        442024.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          190751.4 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1076696.0 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1154520.1 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  56229.7 lps   (10.0 s, 7 samples)
Process Creation                               1221.6 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1494.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    519.6 lpm   (60.1 s, 2 samples)
System Call Overhead                        1181160.9 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   29316819.1   2512.2
Double-Precision Whetstone                       55.0       6350.0   1154.6
Execl Throughput                                 43.0        364.2     84.7
File Copy 1024 bufsize 2000 maxblocks          3960.0     442024.5   1116.2
File Copy 256 bufsize 500 maxblocks            1655.0     190751.4   1152.6
File Copy 4096 bufsize 8000 maxblocks          5800.0    1076696.0   1856.4
Pipe Throughput                               12440.0    1154520.1    928.1
Pipe-based Context Switching                   4000.0      56229.7    140.6
Process Creation                                126.0       1221.6     97.0
Shell Scripts (1 concurrent)                     42.4       1494.6    352.5
Shell Scripts (8 concurrent)                      6.0        519.6    866.0
System Call Overhead                          15000.0    1181160.9    787.4
                                                                   ========
System Benchmarks Index Score                                         590.1

------------------------------------------------------------------------
Benchmark Run: Wed Oct 07 2020 06:06:26 - 06:34:46
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables      117327891.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    31178.6 MWIPS (10.1 s, 7 samples)
Execl Throughput                               1466.5 lps   (29.8 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        667533.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          204691.5 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1852436.2 KBps  (30.0 s, 2 samples)
Pipe Throughput                             5170382.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 181908.1 lps   (10.0 s, 7 samples)
Process Creation                              12532.5 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5742.0 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    734.3 lpm   (60.2 s, 2 samples)
System Call Overhead                        2722146.3 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  117327891.2  10053.8
Double-Precision Whetstone                       55.0      31178.6   5668.8
Execl Throughput                                 43.0       1466.5    341.0
File Copy 1024 bufsize 2000 maxblocks          3960.0     667533.5   1685.7
File Copy 256 bufsize 500 maxblocks            1655.0     204691.5   1236.8
File Copy 4096 bufsize 8000 maxblocks          5800.0    1852436.2   3193.9
Pipe Throughput                               12440.0    5170382.3   4156.3
Pipe-based Context Switching                   4000.0     181908.1    454.8
Process Creation                                126.0      12532.5    994.6
Shell Scripts (1 concurrent)                     42.4       5742.0   1354.2
Shell Scripts (8 concurrent)                      6.0        734.3   1223.8
System Call Overhead                          15000.0    2722146.3   1814.8
                                                                   ========
System Benchmarks Index Score                                        1732.6

まとめ

まとめるほどの記事ではないですが、要点を書いておきます。

・Pixel3は、シングル約550、マルチ8coreで1400くらいのUnixBenchスコア
・手持ちのスマホの中では一番速い
・antutuは、27マンくらいだが、GPUは使わないのでTermuxではもったいない
・今後、root化してtermuxで遊んでみようと思う
・再計測したら、1700超えていた。温度が関係しているくさい。

あとがき

あともう少しで、1400に届きそうでしたが2年前のハイエンドクラスなので検討していますよね。UnixBenchの結果にはグラフィックス性能が含まれないので、UmidigiF2や、Redmi Note 9S と比べてもさほど変わらない感じですね。

 安くて、CPU性能が高いのはいろいろ検討した結果、MediaTek Dimensity 1000+ がいいんじゃないかなーと。このチップは、vivo iqoo z1とかに乗っていて antutuは、CPUで18万、トータルで50万を超えています。

 これ、Termux上のUnixBenchだと2500は超えてきそうですよね!いつか、入手して確認してみたいなと思います。中古ではあまり出回っていないので、画面割れとかジャンクが出るまでは無理ですが。アリエクから新品で買っても3.4万くらいなんでさほど高くはないです。しかし遊びどきは、5Gが普及するあと1、2年後〜が中古市場に出回る時期かなと思います。

別の見方をすれば、あと1、2年すればUnixBench2000〜3000で動作するスマホが、5000円とか1万未満の中古で買えちゃうってことです!

 ARMチップが乗ったスマホの活用の夢が膨らみます!

あと、画面割れのPixel3ですがもし画面を修理するならアリエクで9500円くらいで部品は入りそうです。まぁ、しかしそれほどひどい割れでもないですから、このまま使うかなと。なんか、直したら負けな気がします。w