スマホを冷蔵庫に入れて冷え冷え状態でベンチマークしたらどうなる?

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

冷蔵庫に入れて冷やしてベンチ測ると、どうなるんだろう?

なんかググると、スマホは冷蔵庫に入れちゃだめ!ってあるよ。

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

冷蔵庫は約10度くらいなんで、寒冷地の温度とそう変わらないよね?

まぁ、気の済むまで実験してくださいw

ぴー
ぴー

以前、Pixel3のベンチマークを計り直したとき、良いスコアが出たので「温度?」が関係しているのかなと思ったんですよね。今回は、冷蔵庫にPixel3をぶっこんでUnixBenchを計測してみたいと思います。

まず結果から

スマホはどの程度低温に弱いのか実験!

https://www.yamareco.com/modules/yamanote/detail.php?nid=1497

先人がやはりいました。この方は冷凍して実験したようです。人柱ですね!なので、冷蔵庫くらいでは問題なさそうなんじゃないかと思います。

スマホはこんな感じで冷蔵庫に入っています。猫カンがあるのは突っ込まないでね! まず、結果からご報告です。

・Pixel3 Android11 冷蔵庫に入れて計測

シングル:583.3
8CPU:1833.7

なんと過去最高です!

今回は、CPU温度の他、バッテリー温度もグラフ化しました。ベンチマーク中はこのように上昇しました。冷やした状態からだと、CPU温度は過去最高87度まで上昇したようですね。

 冷やせば速く動作するってことは実験からわかったので、筐体を分解してファンを取り付けて運用するのはアリかもしれません。

詳細ベンチを・・

詳細についてはこちらに貼り付けておきます。

========================================================================
   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=)
   13:07:43 up 4 days,  3:18,  load average: 0.22, 0.20, 0.18; runlevel 

------------------------------------------------------------------------
Benchmark Run: Thu Oct 08 2020 13:07:43 - 13:35:50
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       29344957.6 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     6364.3 MWIPS (10.0 s, 7 samples)
Execl Throughput                                353.6 lps   (29.9 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        448563.7 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          177698.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1080251.9 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1151314.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  53273.4 lps   (10.0 s, 7 samples)
Process Creation                               1031.2 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   1522.3 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    599.3 lpm   (60.1 s, 2 samples)
System Call Overhead                        1186164.4 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   29344957.6   2514.6
Double-Precision Whetstone                       55.0       6364.3   1157.1
Execl Throughput                                 43.0        353.6     82.2
File Copy 1024 bufsize 2000 maxblocks          3960.0     448563.7   1132.7
File Copy 256 bufsize 500 maxblocks            1655.0     177698.8   1073.7
File Copy 4096 bufsize 8000 maxblocks          5800.0    1080251.9   1862.5
Pipe Throughput                               12440.0    1151314.0    925.5
Pipe-based Context Switching                   4000.0      53273.4    133.2
Process Creation                                126.0       1031.2     81.8
Shell Scripts (1 concurrent)                     42.4       1522.3    359.0
Shell Scripts (8 concurrent)                      6.0        599.3    998.9
System Call Overhead                          15000.0    1186164.4    790.8
                                                                   ========
System Benchmarks Index Score                                         583.3

------------------------------------------------------------------------
Benchmark Run: Thu Oct 08 2020 13:35:50 - 14:04:03
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables      133676583.1 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    32433.5 MWIPS (10.2 s, 7 samples)
Execl Throughput                               1466.7 lps   (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        672443.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          202034.3 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks       1920062.6 KBps  (30.0 s, 2 samples)
Pipe Throughput                             4980247.5 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                 324913.7 lps   (10.0 s, 7 samples)
Process Creation                              12358.3 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   5728.2 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    698.4 lpm   (60.4 s, 2 samples)
System Call Overhead                        2734159.8 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0  133676583.1  11454.7
Double-Precision Whetstone                       55.0      32433.5   5897.0
Execl Throughput                                 43.0       1466.7    341.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     672443.5   1698.1
File Copy 256 bufsize 500 maxblocks            1655.0     202034.3   1220.8
File Copy 4096 bufsize 8000 maxblocks          5800.0    1920062.6   3310.5
Pipe Throughput                               12440.0    4980247.5   4003.4
Pipe-based Context Switching                   4000.0     324913.7    812.3
Process Creation                                126.0      12358.3    980.8
Shell Scripts (1 concurrent)                     42.4       5728.2   1351.0
Shell Scripts (8 concurrent)                      6.0        698.4   1164.1
System Call Overhead                          15000.0    2734159.8   1822.8
                                                                   ========
System Benchmarks Index Score                                        1833.7

ソースコード

計測に使ったソースです。

#!/data/data/com.termux/files/usr/bin/python3
# coding: utf-8

import requests
import time
api_key='Write API Key'

def sender():
    # CPU Temp
    f = open("/sys/class/thermal/thermal_zone0/temp","r")
    t = f.read()
    f.close()
    cpu_temp = float(t) / 1000
    # Battery Temp
    f = open("/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qcom,qpnp-smb2/power_supply/battery/temp","r")
    t2 = f.read()
    f.close()
    battery_temp = float(t2) / 10
    # USB Temp
    f = open("/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qcom,qpnp-smb2/power_supply/usb/temp","r")
    t3 = f.read()
    f.close()
    usb_temp = float(t3) / 10
    # BMS Temp
    f = open("/sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/power_supply/bms/temp","r")
    t4 = f.read()
    f.close()
    bms_temp = float(t4) / 10

    payload = {'api_key': api_key, 'field1': float(cpu_temp), 'field2': float(battery_temp), 'field3': float(usb_temp), 'field4': float(bms_temp)}
    print("CPU Temp is:%s"%cpu_temp, end=' ')
    print("Battery_temp Temp is:%s"%battery_temp, end=' ')
    print("USB_temp Temp is:%s"%usb_temp, end=' ')
    print("BMS_temp Temp is:%s"%bms_temp, end=' ')
    r = requests.get('http://api.thingspeak.com/update', params=payload)
    print("Result: ", r.text)
    time.sleep(1.0)

def main():
    sender()

if __name__ == '__main__':
  main()

まとめ

今回、なんとなくわかったのは以下となります。

・冷蔵庫に入れれば冷えてベンチマークは良い結果となる。
・UnixBenchは過去最高、マルチで1800を超えた!
・バッテリー温度は、13.5度くらいまで下がった
・ベンチ中はCPU温度は87度まで上昇した!
・今の所、壊れていない。壊れてもいい人以外、真似しないように。
・スマホサーバとするなら、分解してヒートシンク+ファンをつけるのが良さそう。

あとがき

WiFiアクセスポイントを冷蔵庫付近まで持ってきて電波強度を最強にして夏場は過ごすのもありかもしれません。まぁ、もう暑い季節はすぎてしまったのでやるなら来年、2021年度の夏ですかね!

 あと、root化していると、オーバークロックもできるようですがまだ試していません。

著者にメッセージ

コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。

間違いのご指摘など、コメントじゃなくて、個人的にやりとりしたい場合はこちらからどうぞ。お返事が遅くなるときもありますが、ご了承を。