web-dev-qa-db-ja.com

デュアルXeonはAndroid Studioのビルド時間を改善しますか?

私はAndroid開発者であり、多くの時間を待っているので、デュアルXeonセットアップを検討し始めました。

たとえば、3Dレンダリングソリューションの場合、コアを追加すると速度がほぼ直線的に向上することを知っているので、私の質問は-Android Studioのビルド時間は同じように減少しますか?直線的でない場合は次に、アップグレードを価値のあるものにするために、少なくとも顕著に?

ASがマルチコアをサポートしていることは知っていますが、外出してお金を使う前に、20コアすべてを4コアと同じように使用することを確認したかっただけです。

同じプロジェクトビルドでデュアルXeonとi7セットアップを比較した経験のある人から話を聞くのは素晴らしいことですが、どんな情報でも役に立ちます!

-

注意:

速度を向上させる他の方法を検討することをお勧めする前に-私がすべてについて試したことを保証します-高速SSD、十分なRAM、すべての可能なGradleおよびIDEオプション、いくつかの依存関係を抽象化しましたmultidex、最新のASバージョン、Instant run/JRebelなどを回避するためにのみ、リリースビルド用にビルドします。

8
Alexandre G

だから私はこれを難しい方法で見つけなければなりませんでした。私の場合、私のプロジェクトとハードウェアでは、すべてのコアを使用していませんでした。私が持っていたさまざまなハードウェアでいくつかの基本的なベンチマークを実行しましたが、それらを一粒の塩で取ります-要件とセットアップが結果に多大な影響を与える可能性があることを理解する必要があります。

テストの詳細

だからこれは私が持っていたハードウェアです:

  • i7 6700k(4コア)
  • i7 3770k(4コア)
  • 2 x Xeon E2650 v4(24コア)

すべてハイパースレッディングを使用してベースクロックで実行されます。そしてSSD:

  • サムスン840EVOベーシックSSD240GB
  • Mushkin ECO2 SSD 240GB
  • サムスンSM951NVMe SSD 250GB

各ドライブにはWindows10がインストールされていたので、プロセッサ速度とコンピュータ間でドライブを交換することによるドライブ速度の2つをテストしようとしました。

Xeonsと6700kにはDDR4Ramがあり、3770kにはDDR3がありました。

グラフを下から上に読む:

enter image description here

そのため、あまり科学的ではなかったこのプロセスでは、タスクを数回繰り返し、それらの平均を取りました。

クリーン後の再ビルド:ビルド->プロジェクトのクリーン、ビルド->プロジェクトの再ビルド

再構築:ビルド->プロジェクトの再構築

ビルド時に起動:再構築後の最初の起動時に起動してgradle時間を記録します

再度起動:ウォームgradleデーモンを変更せずに起動を続けます

1つのログを変更する:JavaのLog.v内の文字列を変更し、再構築します

インストール変更なし:実行ボタンを押してから画面を開くまでにかかる時間

シミュレーターの起動時間:上記の時間からGradleのビルド時間を引いた時間

私にとっての結論は次のとおりです。

  1. より高速なSSDdoは秒を短縮します
  2. 今のところ、最速のシングルコアCPUを使い続ける必要があります

それが誰かを助けることを願っています!

P.Sは同じハードウェア上でXcodeビルドのベンチマークを試みました-ほぼ同じ話

17
Alexandre G

同じハードウェアでAndroid Studio 3.1.4:Macbook Pro 2011、RAM 4Gb、SSD 240GB Samsung、Core i52.4Ghzの速度を測定しようとしました。このマシンに3つの異なるOSをインストールしました:Windows 10、MacOS Hight Sierra 10.13、Ubuntu18.04。MacOS/ Ubuntuでの平均ビルド時間(実行コマンド:gradlew clean build、gradlew clean assembleRelease)は、Windowsよりも約30%高速でした。

私の別の動作中のマシン:Core i5 3.0 Ghz 7400、RAM 16Gb、SSD250Gb。ビルド時間はWindows 10マシンで4.34分かかります。少し遅いプロセッサで同じプロジェクトですが、同じRAMとSSDで、Ubuntu 16.04を実行しているビルド時間は2倍速くなります!!結果にショックを受けましたが、それでも開発マシンとしてWindowsを選択しました。 Unixのようなシステムよりも快適で使いやすいキーボードとソフトウェアを使用できます。MacOSとUbuntuのどちらかを選択する必要があったとしても、Macはすべてのセットアップが非常に簡単で、Ubuntuは複雑すぎて通常の人には使用できません。君は。

2
yozhik

ビルド速度を上げるためのもう1つのオプションがあります。アプリをモジュール化すると、非同期でビルドされるため、各モジュールがCPUのコアを使用します。

後もう一つ。ライブラリに注意してください。たとえば、ほとんどの場合、Googleサポートライブラリ全体を必要としないか、未使用の部分を除外するか、必要なだけインポートします。

後もう一つ。 OSがビルド速度にどのように影響するかはわかりませんが、どういうわけか影響があると思います。 LinuxとWindowsを使用すると、プロジェクトのビルドがはるかに高速になります。