(Zero 2 とか聞くと、太陽電池で動く (キカイダー)「ゼロ・ワン」兄さんが、後から出そうな気がする 昭和世代)
OSは64bit, 32bitとも、現状 最新の
"Linux xxxx 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux"
・メモリについて
メモリは、512 MBytesで、寂しい。
メモリが少ないので、32bit OSで使ったほうが、メモリは有効に使えるだろう。
下記のように、32bitOSは、少しはメモリ消費が少ない。
-- 起動直後
32bit$ free
total used free shared buff/cache available
Mem: 436980 52576 292200 968 92204 332684
Swap: 102396 0 102396
--
64bit$ free
total used free shared buff/cache available
Mem: 429400 74000 250340 924 105060 300872
Swap: 102396 0 102396
私の持論として…
アプリケーションの整数が32bit だとしても、64bit 環境だとデータのポインタは64bitとなる。
つまり、ポインタの配列の大きなものを作ると、かなりな無駄になる。
(ちなみに、私はLispが好きなので、ポインタ中心の生活をしている。)
基本的には、実メモリが4GBytes以内の機械では、32bit 環境がいいだろうと思う。
だがっ…
ARMは 32bit と64bit では、命令が違いすぎる。
その2者の性能の違いが、私、気になりますっ。(古来の言い回し)
・演算性能
dhrystone, Whetstone などをやってみる。(どれも5回試行の平均値)
64 bit | 32 bit | 64bit性能/32bit性能 | |
Dhrystone (Dhrystones per Second) cc -I. -O4 -DREG=register -DHZ=60 | 3,154,043 | 1,887,544 | 1.67 |
Whetstone Double (Whetstone KIPS) cc -funsafe-math-optimizations -O4 whetd.c -o whetd-c -lm | 4,505,928 | 3,597,883 | 1.25 |
Whetstone Single (Whetstone KIPS) | 4,202,898 cc -funsafe-math-optimizations -O4 whets.c -o whets-c -lm | 3,425,286 cc -mfpu=neon-vfpv4 -funsafe-math-optimizations -O4 whets.c -lm -o whet-neon | 1.23 |
なんとっ!!!!
64bit が、整数では 1.7倍ぐらい速いではないかっ。
これは、64bit で使わなければ…
32bit 環境でも、浮動小数点演算は64bit 演算の方が速いのが、2022年と言えようか…