Производительность 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, поэтому вы можете полностью использовать вашу причудливую спецификацию оборудования.
Android Studio не использует всю мощь моего компьютера при сборке.