Производительность Android Studio хорошо масштабируется с количеством ядер процессора

Например, AMD Ryzen 5 1600 имеет 6 (2 логических ядра на физическое) ядра с тактовой частотой: 3,2 ГГц, турбо скорость: 3,6 ГГц.

В отличие от Intel Core i5-7600 имеет 4 ядра с тактовой частотой: 3,5 ГГц, турбо скорость: 4,1 ГГц.

Мой опыт, Ryzen 1600 работает немного лучше, чем i5 7600 Я видел множество игровых тестов, где оба процессора работают по принципу "шея к горлу", а производительность Ryzen исключительно важна в случае рендеринга видео, кодирования, архивирования файлов и т. Д., В противном случае я не обнаружил существенной разницы. Даже в основном я обнаружил, что i5 7600 работает лучше.

В общем, вот мои вопросы....

  • Действительно ли количество ядер действительно имеет значение для студии Android?
  • Имеет ли значение более высокая тактовая частота для Android-студии?

8 ответов

У меня был этот вопрос в течение длительного времени, и я только что перешел с Intel i5-3570K @ 3,4 ГГц (4-ядерный) на AMD Ryzen 7 2700 @ 3,2 ГГц (8-ядерный). Позвольте мне поделиться своими результатами испытаний.

+--------------------------------+--------------------------+---------------------------+
|                                | Intel i5-3570K @ 3.4GHz  | AMD Ryzen 7 2700 @ 3.2GHz |
|                                | (4-core) 32GB DDR3 RAM   | (8-core) 32GB DDR4 RAM    |
+--------------------------------+--------------------------+---------------------------+
| Rebuild the debug version of   | 2m 15s                   | 1m 3s                     |
| an app after cleaning it.      |                          |                           |
+--------------------------------+--------------------------+---------------------------+
| Build, copy and FTP a release  | 5m 5s                    | 4m 5s                     |
| package after the above task   |                          |                           |
+--------------------------------+--------------------------+---------------------------+

Второе испытание в значительной степени поглощено уменьшением и запутыванием Proguard. Я выполнил все тесты в течение 24 часов непосредственно до и после обновления ПК с новой материнской платой, процессором и оперативной памятью. Два диска (SSD и HD) остались.

Благодаря Microsoft эмуляторы Android теперь могут работать на ПК с процессором AMD. Эмуляторы на этой машине Ryzen 7 невероятно быстрые. Холодная загрузка эмулятора Marshmallow 6.0 - API 23 занимает всего 14 секунд. Запуск любого приложения происходит мгновенно. Я серьезно сомневаюсь, что любые физические устройства Android могут превзойти эмуляторы.

Я надеялся увидеть эталонный тест, предназначенный для разработки программного обеспечения. Кажется, почти все тесты ориентированы на игры.

Две конфигурации:

Я считаю, что это зависит от структуры вашего проекта, особенно когда дело доходит до компиляции. Опция Gradle для включения параллельных сборок влияет только на время компиляции многомодульных проектов. Если у вас есть только монолитный модуль для всего вашего приложения, Gradle будет использовать только несколько ядер, если вообще.

См. https://docs.gradle.org/current/userguide/multi_project_builds.html для получения дополнительной информации о многопроектных сборках.

Еще одна вещь, которую следует учитывать при создании или покупке машины для разработки под Android: чипы Intel позволяют виртуализировать образ на базе Intel в эмуляторе. Это приводит к значительному увеличению скорости при тестировании вашего приложения по сравнению с эмуляцией образа на основе ARM или запуском эмулятора на чипе AMD.

По моему мнению, как человек, недавно построивший ПК для разработки и работающий довольно часто и интенсивно на Android Studio и Intellij (который в основном является Android Studio), ваш ЦП редко становится проблемой. Скорее я бы сказал, что это ваш объем памяти и время чтения / записи вашего диска. Откройте диспетчер задач или другой гаджет для мониторинга оборудования и запустите сборку, вы часто будете видеть процессор на 40-60%, чтение / запись диска максимально на 100% и что Android Studio, эмулятор (если вы его используете) и все среда выполнения Java разрушает вашу память.

Так что я бы сказал, что все зависит от личных предпочтений. Я уверен, что любой из них будет работать хорошо.

Ну, это было использование моего процессора после того, как я начал создавать проект. Так что я бы сказал, что он использует все ядра — просто не все время.

Но я также чувствую, что моя Android Studio ведет себя странно. Не уверен.

Может быть, немного старый поток, но вот мой опыт работы с I7 4710HQ (4 ядра /8 потоков) и Ryzen 1600 AF @3,9 ГГц: с загрузкой процессора I7 при компиляции проекта большую часть времени на 100% и медленнее, чем Ryzen, который также загружается на 100% во время компиляции. Таким образом, студия Android и в основном компилятор gradle используют все доступные ядра и потоки процессора во время компиляции.

Действительно ли количество ядер действительно имеет значение для студии Android?

При использовании Android Studio вычислительная мощность компьютера имеет большое значение, в этом случае, как вы уже упоминали, оба процессора находятся на равных, когда речь идет о вычислительной мощности, поэтому вы не заметите такой большой разницы при использовании Android Studio. На мой взгляд, i5 должен работать лучше.

Имеет ли значение более высокая тактовая частота для Android-студии?

Более высокая тактовая частота не обеспечивает высокую производительность, объем работы, выполненной за один такт, имеет значение.

если оба значения имеют значение, то почему Ryzen не так хорошо играет в играх, как i5, у которого всего 4 ядра.

Процессор Intel i5 не поддерживает гиперпоточность, но имеет 4 твердотельных ядра, а AMD Ryzen 5 1600(дизайн ядра в стиле 3+3) был построен с энергоэффективностью в качестве приоритета.

Возможно, немного старая ветка, но если вы используете Kotlin и работаете над проектом с одним модулем, компиляция сильно однопоточна из-за ограничений текущего Gradle. Я знаю многих разработчиков, жалующихся на то, что скорость компиляции ниже, чем у java. Для большого проекта использование нескольких модулей может значительно ускориться, поскольку это снижает вероятность перестроения всех модулей, если только в них не будут внесены изменения. Также различные модули могут быть скомпилированы в парреле, если включена опция паррелирования Gradle, поэтому вы можете полностью использовать вашу причудливую спецификацию оборудования.

Xeon (логика 48 ядер)

Android Studio не использует всю мощь моего компьютера при сборке.

Другие вопросы по тегам