【Qtデバイスの高速起動】Part4: ハードウェアについて
April 26, 2017 by 鈴木 佑 | Comments
この記事は The Qt Blog の Fast-Booting Qt Devices, Part 4: Hardware Matters を翻訳したものです。
執筆: Risto Avila, 2016年8月30日
みなさんこんにちは!
これまで Qt デバイスの高速起動に関して 1.5 秒でブートします、Qt アプリケーションの最適化、システム全体の最適化 の3つ記事を書きました。今回はハードウェアの選択、特に同じ CPU が載っていてもアーキテクチャの違いによって高速起動に与える影響が大きいことを説明したいと思います。この比較のために、同じ NXP i.MX6 Quadcore CPU を搭載した2つのボードを用意しました。1つはソフトウェア開発向けのボードで、もう片方は製品にも使えるようなシステム・オン・モジュールのボードです。
それではちょっとしたバトルを開催しましょう!
左側は NXP SABRE i.MX6 Quad Development Board です:
- NXP i.MX 6 Quadcore プロセッサ、1GHz で動作
- 1GB DDR3 RAM
- 8GB eMMC
右側は Toradex Apalis i.MX 6 Computer on Module です:
- NXP i.MX 6 Quadcore プロセッサ、1GHz で動作
- 1GB DDR3 RAM
- 4GB eMMC
両者はまったく同じ設定のカーネル、ブートローダー、Qt のクラスタのデモが動いています。
https://www.youtube.com/watch?v=V-a6KO7SK2g&feature=youtu.be
Toradex の Computer on Module の勝ちは明らかで、起動時間の差は 19%(294ms) もありました。これまで紹介してきた NXP SABRE では起動から最初の Qt Quick のフレームの表示までに 1560 ms というとてもよい結果でしたが、Toradex の方がさらに速く、1266 ms で起動しました。
この違いはどこからきたのでしょう?
- ボード自体の起動が Toradex モジュールの方が速い
- カーネルがより早い段階で eMMC にアクセスできることが起動時間の短縮につながっている
というわけで、組み込みデバイスの設計時には、ハードウェアの選択も慎重に行ってください。もし死ぬほど起動時間を高速化する必要があるのであれば、高速なメモリとメモリバスと最適化されたブートローダーとカーネルと、ロードするすべてのライブラリをサクッと読み込めるパワフルなチップを選択すべきでしょう。それ以降はソフトウェアの設計次第です。いくらハードウェアを最適化しても、ソフトウェアの設計によってはすべてが無駄になってしまいます。詳細は以前のブログ記事を参照してください。
もっと詳しい話を聞きたい方は、10月18日から3日間サンフランシスコで行われる Qt World Summit の fast-boot of Qt based devices という私のセッションに是非ご参加ください。みなさんとの高速起動の議論を楽しみにしています。
※訳注:これは2016年のイベントになります。以下のセッションの動画をご覧ください。
https://www.youtube.com/watch?v=f94V7FuYhu0
Blog Topics:
Comments
Subscribe to our newsletter
Subscribe Newsletter
Try Qt 6.5 Now!
Download the latest release here: www.qt.io/download.
Qt 6.5 is the latest Long-Term-Support release with all you need for C++ cross-platform app development.
Explore Qt World
Check our Qt demos and case studies in the virtual Qt World
We're Hiring
Check out all our open positions here and follow us on Instagram to see what it's like to be #QtPeople.
Näytä tämä julkaisu Instagramissa.Henkilön Qt (@theqtcompany) jakama julkaisu