2014-09-11 5 views
2

Я на ноутбуке Intel i7 с 16 ГБ ОЗУ и SSD. Помимо указания параметра -j и включения CCACHE, есть ли какие-либо другие трюки, которые я могу использовать для ускорения времени компиляции AOSP? В настоящее время это на ~ 2 часа.Ускорение времени разработки Android (AOSP)

Я обнаружил, что -j12 имеет лучшую производительность, учитывая мой процессор.

ответ

0

AOSP build занимает ~ 2 часа для меня также, но только для времени fisrt. Следующие сборки берут от 10мин до 1 часа, зависит от того, какой модуль модифицирован (java сторона или cpp основных модулей). Если вы не изменяете код cpp, то компилятор берет кешированный скомпилированный код, а для компиляции кода java требуется не так много времени.

4

У меня есть два sugguestions:

1.) Установить/TMP вверх как псевдодиск

Вот большая ссылка о настройке каталога/TMP быть виртуальным диском в Ubuntu

http://cpiekarski.com/2013/01/02/speeding-up-aosp-builds/

Пожертвовав всего несколько МБ ОЗУ (~ 60 МБ) для каталога системы темпа (/ TMP) электронного диск может уменьшить время компиляции в любом месте от ~ 2% -10% в зависимости от общей пропускной способности системы (флористика r аппаратные спецификации).

Чтобы сделать это все, что вам нужно сделать, это добавить следующие строки в файл/и т.д./Fstab:

ramdisk /tmp tmpfs mode=1777,size=2g 

Где размер равен количеству оперативной памяти, который вы хотите использовать. В этом случае 2 гигабайта

2.) Своп Использование

Еще раз ссылка: http://ubuntuguide.net/optimize-the-usage-of-swap-to-speed-up-response-for-ubuntu

Там есть параметр swappiness контролирует тенденцию ядра, чтобы переместить процессы из физической памяти и на диск подкачки. Он колеблется от 0 до 100, а когда swappiness = 0, он сообщает ядру избегать перекоса процессов из физической памяти как можно дольше, когда swappiness = 100 он сообщает ядру агрессивно менять процессы из физической памяти и перемещать их в своп кэш.

Чтобы проверить коэффициент подкачки, откройте терминал и введите:

cat /proc/sys/vm/swappiness 

Временно изменить swappiness’ значение 10, используя следующую команду, и он будет возвращен в следующем перезапуске.

sudo sysctl vm.swappiness=10 

Чтобы навсегда изменить значение, откройте /etc/sysctl.conf в текстовом редакторе и измените значение vm.swappiness. Если это значение не существует добавить его в конце, например:

vm.swappiness=10 

Как уже упоминалось в других постах, делают -j и CCache также очень важны и полезны. Есть программа под названием schedtool, которая планирует процессы процессора. Они утверждают, что он хорошо работает для длительных неинтерактивных задач (т. Е. AOSP), но мне еще предстоит попробовать.

Приветствия и Счастливое Строительство

+0

Еще один хороший ресурс, который объясняет немного более тщательно Ramdisk: http://ubuntuguide.net/ubuntu-using-ramdisk-for-better-performance-and-fast-response –

+0

ли есть ли какая-нибудь точка уменьшения прибыли для использования ramdisk? Если у меня есть 20gb, чтобы избавиться, если на рабочий процесс не повлияли, нужно ли все это перейти на tmp или мне пригодится перемещение некоторого исходного дерева в ramdisk? – sbergeron