Raspberry Pi 32-bit OSと64-bit OSの違いは?
Raspberry Pi 32-bit OSと64-bit OSの違いは?
2021年10月28日
Raspberry Pi 32-bit OS と 64-bit OS の違いは?
Raspberry Pi で利用可能な OS は、64-bit の CPU を利用している場合、64-bit 版と 32-bit 版を選ぶ事ができます。同じ種類の OS でも両方の選択ができる場合、通常は 64-bit 版の OS を選ぶのが普通ですが、性能の差はどの程度あるのか検証してみました。
絶対的な性能は 64-bit の方が良い!
最初に書いてしまうと、絶対的な性能というか性能差を追求してしまうと、64-bit 版の方が有利です。 そもそも、64-bit 版の CPU を開発する理由がそこにあるからです。従って、ベンチマークテストなどで比べると結果は見えています。
今回検証したいのは、性能の差ではなくて、普段使いでどの程度の差があるのかという事です。 例えば、Raspberry Pi OS は 32-bit 版ですが、Raspberry Pi で利用するには色々モジュールが予めインストールされていて便利です。
わざわざ Ubuntu などの 64-bit OS を選ぶ必要がどの程度あるのか知りたいところです。この記事では、Web 開発で利用することを考えた場合にどの程度差があるのかを検証するのを目的にしています。
方法は、依然性能評価に利用した、Vue で開発したフロントエンドの UI の公開用イメージを作成する時間で比較しました。
最初に書いてしまうと、絶対的な性能というか性能差を追求してしまうと、64-bit 版の方が有利です。 そもそも、64-bit 版の CPU を開発する理由がそこにあるからです。従って、ベンチマークテストなどで比べると結果は見えています。
今回検証したいのは、性能の差ではなくて、普段使いでどの程度の差があるのかという事です。 例えば、Raspberry Pi OS は 32-bit 版ですが、Raspberry Pi で利用するには色々モジュールが予めインストールされていて便利です。
わざわざ Ubuntu などの 64-bit OS を選ぶ必要がどの程度あるのか知りたいところです。この記事では、Web 開発で利用することを考えた場合にどの程度差があるのかを検証するのを目的にしています。
方法は、依然性能評価に利用した、Vue で開発したフロントエンドの UI の公開用イメージを作成する時間で比較しました。
検証方法は?
検証方法はシンプルです。Ubuntu の 64-bit 版のサーバー OS と、32-bit 版のサーバー OS で比べます。 同じような OS ですので、基本的に差は、32-bit の処理系と 64-bit の処理系の差を比較しやすいからです。
サーバーを選んだのは、デスクトップの GUI などの影響を避けるためです。基本的に、別の PC から SSH でリモートアクセスして、公開用のイメージの作成時間を比較します。
比較に必要な設定は以下の通りです:
- curl
- Git
- NodeJS (node + npm)
- Vue CLI
curl は、NodeJS の LTS 版の、Ver.14.x をインストールするのに利用します。また、Git は GitHub からソースパッケージを取得するためにインストールしています。サーバー OS なので予め SSH はインストールされています。
検証は、コマンドラインから公開用のイメージを作成する際に、「time」コマンドを利用して実行時間を測定します。
検証方法はシンプルです。Ubuntu の 64-bit 版のサーバー OS と、32-bit 版のサーバー OS で比べます。 同じような OS ですので、基本的に差は、32-bit の処理系と 64-bit の処理系の差を比較しやすいからです。
サーバーを選んだのは、デスクトップの GUI などの影響を避けるためです。基本的に、別の PC から SSH でリモートアクセスして、公開用のイメージの作成時間を比較します。
比較に必要な設定は以下の通りです:
- curl
- Git
- NodeJS (node + npm)
- Vue CLI
curl は、NodeJS の LTS 版の、Ver.14.x をインストールするのに利用します。また、Git は GitHub からソースパッケージを取得するためにインストールしています。サーバー OS なので予め SSH はインストールされています。
検証は、コマンドラインから公開用のイメージを作成する際に、「time」コマンドを利用して実行時間を測定します。
検証結果は?
実験は、Raspberry Pi 4 (8GB memory / 16GB storage)で行いました。
別の PC から SSH でリモートアクセスして処理時間を測定しました。
- Ubuntu Server OS 20.04 (32-bit / 64-bit)
- Node: v14.18.1
- NPM: 6.14.15
- Vue cli: 4.5.15
32-bit 64-bit 1 84.56 51.45 2 32.25 32.74 3 29.63 33.96 4 29.27 32.88 5 29.85 32.54
1回目の処理時間が他の場合に比べて時間がかかっていますが、これは、1回目の実行の場合、キャッシュミスが多く発生するためだと考えられます。2回目以降は一部のプログラムなどがキャッシュに残っているため処理時間が短くなるものと考えられます。
結果は、32-bit OS の方が、イメージの作成時間は短くなっています。意外ですね!この差の明確な理由はちょっと現時点ではわかりません。
実験は、Raspberry Pi 4 (8GB memory / 16GB storage)で行いました。
別の PC から SSH でリモートアクセスして処理時間を測定しました。
- Ubuntu Server OS 20.04 (32-bit / 64-bit)
- Node: v14.18.1
- NPM: 6.14.15
- Vue cli: 4.5.15
32-bit | 64-bit | |
---|---|---|
1 | 84.56 | 51.45 |
2 | 32.25 | 32.74 |
3 | 29.63 | 33.96 |
4 | 29.27 | 32.88 |
5 | 29.85 | 32.54 |
1回目の処理時間が他の場合に比べて時間がかかっていますが、これは、1回目の実行の場合、キャッシュミスが多く発生するためだと考えられます。2回目以降は一部のプログラムなどがキャッシュに残っているため処理時間が短くなるものと考えられます。
結果は、32-bit OS の方が、イメージの作成時間は短くなっています。意外ですね!この差の明確な理由はちょっと現時点ではわかりません。
どちらの OS を選ぶか?
実際に使用する上では、利用する目的で選ぶのが良いと思います。Raspberry Pi を利用して、GPIO やセンサーを接続して特別な機能の「箱」を作ったりする場合には、Raspberry Pi OS の方が向いています。これは、必要なデバイスドライバなどが予めインストールされていて、必要なプログラムだけを作れば良い状態になっているからです。
デスクトップ代わりに使う場合は、基本は使い慣れた Linux の配布パッケージがあればそれを選択するのが良いと思います。特別な理由がなければ、32-bit と 64-bit の両方が選択できる場合は、64-bit を選ぶのが無難です。ただ、以前の記事で紹介していますが、インテルの CPU 向けにコンパイルされたアプリを実行したい場合、そのアプリが 32-bit のアプリなのか 64-bit のアプリかで選ぶのが良いと言えます。
また、Raspberry Pi OS 向けにリリースされているパッケージも多く、Anydesk などは、Raspberry Pi OS の向けのパッケージがありますが、ARM64 版は現時点ではサポートされていません。
実際に使用する上では、利用する目的で選ぶのが良いと思います。Raspberry Pi を利用して、GPIO やセンサーを接続して特別な機能の「箱」を作ったりする場合には、Raspberry Pi OS の方が向いています。これは、必要なデバイスドライバなどが予めインストールされていて、必要なプログラムだけを作れば良い状態になっているからです。
デスクトップ代わりに使う場合は、基本は使い慣れた Linux の配布パッケージがあればそれを選択するのが良いと思います。特別な理由がなければ、32-bit と 64-bit の両方が選択できる場合は、64-bit を選ぶのが無難です。ただ、以前の記事で紹介していますが、インテルの CPU 向けにコンパイルされたアプリを実行したい場合、そのアプリが 32-bit のアプリなのか 64-bit のアプリかで選ぶのが良いと言えます。
また、Raspberry Pi OS 向けにリリースされているパッケージも多く、Anydesk などは、Raspberry Pi OS の向けのパッケージがありますが、ARM64 版は現時点ではサポートされていません。
まとめ
Raspberry Pi を使って、実際に利用するアプリで 32-bit OS と 64-bit OS でどの程度の性能差があるのかを実験してみました。
実際は、大きな差はありませんでした。むしろ 32-bit OS の方が速かったと言うのが結果でした。
一般的には、64-bit の CPU には 64-bit の OS を使う方が無難です。要は、64-bit CPU を効率的に使うために設計されているということです。ただ、実際のアプリの処理時間には大きなさは出ていないようです。
これを考えると、実際に使いたい OS を使うのが一番と言うのが結論です。
Raspberry Pi を使って、実際に利用するアプリで 32-bit OS と 64-bit OS でどの程度の性能差があるのかを実験してみました。
実際は、大きな差はありませんでした。むしろ 32-bit OS の方が速かったと言うのが結果でした。
一般的には、64-bit の CPU には 64-bit の OS を使う方が無難です。要は、64-bit CPU を効率的に使うために設計されているということです。ただ、実際のアプリの処理時間には大きなさは出ていないようです。
これを考えると、実際に使いたい OS を使うのが一番と言うのが結論です。
コメント
コメントを投稿