EDIT: see 2nd post about virtualbox questions.
I'm just curious what people are using to build android, aosp or other, and how it's working out for them. When ICS first came out, JBQ noted how much longer it would take to build than GB. So feel free to post details about what and how you build/mod/theme/decompile. If you have something outrageous, then please post pictures or screenshots.
I'm using an i7-2600k with 16gb of ram, running ubuntu 12.04. Building ICS/JB from scratch takes about 30 mins. It's a little faster if there aren't too many changes. I have an SSD and a raid 0 hdd too, but I don't think it changes the build time much.
sent from my transformer
I recently started playing around with virtualbox, and the performance hit is shockingly bad!
I tried compiling other non-Android projects, such as clamav, and it builds at a decent speed. I can see all the processors are engaged and busy.
When I try to build aosp or an aosp-based rom, things go really slowly. It seems as if virtualbox is using less than 25% of the available computing power on my machine.
I am building in a shared folder, but I wouldn't think that would slow it down since I don't see the disk spinning out of control. It's like there is some virtual throttle that is set way low. Any hints?
I guess I'm looking for either that building in virtualbox is really, really, slow; or that it can be built, almost as fast as the native host.
OK, I figured out a few things- it builds much, much, much faster when the aosp source is on the actual vdi disk image. I was being "lazy" and just mounting the repo through a vboxsf share. Apparently, this slows things down incredibly. On the host, I can build a jb rom in about 33 minutes, but on the guest with the repo mounted through a share, it would take over 8 hours, and I think I even stopped it before it finished.
I copied over the repo to the guest "hdd" and it worked at the same "speed" as the host. There is a little overhead, but at least the build output is scrolling along fast enough that it I can't read it and it starts to resemble the Matrix. On a quad core host cpu with hyperthreading and a guest with 7 cores, the build time is 44 min, which I estimate is an extra 17% for overhead.
I wanted to put a list together to compare results of build times (PLEASE, no fan boys here!). The more info you can list, the better visibility is into the amount of time it takes. I'll start with my machine, what I built and how long it took.
The important parts are processor, ram, operating system, what android os you built, any tweaks you used, and if you have a ssd hdd. And, of course total time! I will list mine in a format for easy reading:
-Sony vaio vgn-nr110
-2gb of ram at 533mhz (upgraded )
-Intel pentium dual core t2310 processor
-running ubuntu at the time. I want to say it was version 10.04(been a while)
-no ssd. Regular laptop hdd
-built cm7 for Optimus s
-used the -j4 flag on make
=approx 4-6 hours (was cleaning while it ran because I knew it would take some time)
Mine was a full build/compile from scratch. Please state whether yours is or isn't, and if you used any special tweaks, etc. Do not include sync time in the total time as that is dependent on the Internet connection and not the machine itself (most people won't, but wanted to have it in here just in case)
My purpose behind this is to get a good idea of what type of system specs perform best with building android roms. If there are any tweaks or tricks that anyone would like to contribute, that would be great too! Please try to stick to the format that I have listed for my machine to make it easier for everyone to read.
As a treat: I will have more results for everyone in a week or two on a new machine.
Amd X2, 2 gb ram, 1tb hdd... Build time 4-5 hours, for cm9 for sprint sgs2, and 3-4 hours cm7
Sent from my SPH-D710 using xda premium
Asus i5 normal HDD 8GB ram
cm9= 65 - 75 min _ simple mka bacon no -j
Cna = 75 - 90 min _ simple mka squish no -j
Aokp = 65-75 min _ simple mka bacon no -j
I try to not have anything else open not even file browser or chrome (usually it will add twenty to forty extra minutes if it's on) although these are my best estimate numbers, time results vary. I use cache and restart Ubuntu before building to let it take the lead over everything else. Building while the PC has been active for over a day seems to always take longer. Aokp has been the record holder for me. Slightly quicker than cm9.
Tcp!? Where you been hiding buddy?
We got you a cake for your birthday but it rusted. We made it out of old Android parts and waited to yell surprise but you never showed. Is you okay? Brb I gotta tweet that I found you on xda! Lol B) good to see you Partna...
Sent from my SPH-D710 using Tapatalk 2
Phenom II X6 2.7GHz, 4 GB RAM, dual 640GB Western Digital Caviar Black in RAID 0.
CM7 for LS670: 18 minutes, 38 seconds. Compile options: make -j12 bacon
Cannibal Open Touch recovery for LS670: 59 seconds. Compile options: make -j12 recoveryimage
HydroKernel for LS670/VM670: 1 minute, 13 seconds. Compile options: make -j12
CM10 for Nexus 7: 48 minutes. Compile options: make -j12 otapackage
Yes it is very important to not have any other programs open (I've even crashed my machine trying to do stuff while compiling with -j12), they will take up more RAM and more CPU time.
Thanks for the responses so far. I hope this can become a list that more people can use as a reference to tweaking their machine for building purposes. I haven't seen any sort of list around and when I do read about the amount of time it takes, I usually see an answer like "it takes however long it takes" which leads to no progress. And at the very least I believe it's cool to see what other's results are.
Sent from my Super Galaxy'd SPH-D710
- Acer 5315
- Intel Celeron M 1,86 Ghz processor
- 1GB Ram
- 80GB HDD
on Ubuntu 10.04 it takes half an hour to compile a kernel with make command without any flag.
I will compile CM7 or ICS when i have free time just for fun to see the amount of time it takes, i guess it will take 22-24 hours
I am planning to change my laptop, this thread will be a good reference for me.
Core i3 2120 3.3ghz
Gigabyte Z68 mobo
8gb 1600 ram
Ubuntu 12 installed on a 100gb partition with 8gb swap on a Seagate Green (5900rpm) 1Tb DRIVE takes about 90 minutes to build CM9 for my Sensation.
I ordered a 120Gb OCZ Agility 3 SSD from tiger for $85 hopefully that will cut the time down significantly.
Sent from my Sensation using xda premium
AMD 3GHZ FX8120 Bulldozer Black Edition ;
16GB (1600) DDR3 ;
7200rpm 1TB HDD ;
Not Sure about the Motherboard without checking.
Linux Mint 13 ( 64 Bit )
EDIT: New build times.
aosp android-4.1.1_r4 ; removed previous out directory
full_panda-eng ; make -j12 49m6.429s
reboot
full_stingray-eng ; make -j16 32m47.270s
It came in around 38 minutes on a intial build of ICS time using make -j16.
Lately It's a little longer and I've been unable to get some fresh times because I don't have great cooling and it kept overheating and resetting because of hot whether.
It can be clocked to 5GHz with proper cooling and an SSD would bring the time down, I think, but given some reported times I am more than happy with that as it means I don't have to think twice about (re)building a rom.
In testing however I think this processor did fairly poor especially when up against similar Intel and looking at the couple of Intel times here I'd say they're the ones to go with.
Notes:
I always restart before building, I found it vital to restart after a repo sync as there seems to be a memoy leak in either repo or python, I don't know whether that has been fixed yet.
Incidentally I did Start a build on an Ubuntu VM which had 3 CPU Cores assigned and 4GB Ram, It was still going after 2 Days!
trevd said:
AMD 3GHZ FX8120 Bulldozer Black Edition ;
16GB (1600) DDR3 ;
7200rpm 1TB HDD ;
Not Sure about the Motherboard without checking.
Linux Mint 13 ( 64 Bit )
Incidentally I did Start a build on an Ubuntu VM which had 3 CPU Cores assigned and 4GB Ram, It was still going after 2 Days!
Click to expand...
Click to collapse
that doesnt seem right! lol.. really? not 2 whole days?
justlovejoy said:
that doesnt seem right! lol.. really? not 2 whole days?
Click to expand...
Click to collapse
Yep, You read it right lol. I went out for the weekend and when I came back it was still going I forget to add it was a dynamically sizing virtual disk which probably will account for it.
trevd said:
Yep, You read it right lol. I went out for the weekend and when I came back it was still going I forget to add it was a dynamically sizing virtual disk which probably will account for it.
Click to expand...
Click to collapse
That was with virtual machine right? Have u tried using ccache on an install of ubuntu yet?
Sent from my Super Galaxy'd SPH-D710
basketthis said:
That was with virtual machine right? Have u tried using ccache on an install of ubuntu yet?
Sent from my Super Galaxy'd SPH-D710
Click to expand...
Click to collapse
Yeah, like I put the Ubuntu VM ( Virtual Machine ). That's the day I learned to build on proper hardware, I tried the VM because I was on a later Ubuntu at the time and had run into a couple of issues so I wanted to follow google's aosp instructions to the letter and rule any versioning issues out..... schrooting is a much eaiser way of using a previous disto versions binaries, this is a great article on how build android using schroot. Good If you've ever get an urge for a cupcake or a donut one day
I do use ccache, but thanks for asking. Set in the bash profile so I never forget . Not looked into whether it should be cleared down at any point, I am on a 500GB partition though so I've not hit any limits yet.
trevd said:
Yeah, like I put the Ubuntu VM ( Virtual Machine ). That's the day I learned to build on proper hardware, I tried the VM because I was on a later Ubuntu at the time and had run into a couple of issues so I wanted to follow google's aosp instructions to the letter and rule any versioning issues out..... schrooting is a much eaiser way of using a previous disto versions binaries, this is a great article on how build android using schroot. Good If you've ever get an urge for a cupcake or a donut one day
I do use ccache, but thanks for asking. Set in the bash profile so I never forget . Not looked into whether it should be cleared down at any point, I am on a 500GB partition though so I've not hit any limits yet.
Click to expand...
Click to collapse
Setting up a box with the same processor. I expected to see better than 30 min builds for ICS. I will see what I come up with.
I am guessing that you were on windows and that's why you chose to go with virtual machine?
I have also read that different file systems read i/o faster/slower than others. Reference
Sent from my Super Galaxy'd SPH-D710
basketthis said:
Setting up a box with the same processor. I expected to see better than 30 min builds for ICS. I will see what I come up with.
I am guessing that you were on windows and that's why you chose to go with virtual machine?
I have also read that different file systems read i/o faster/slower than others. Reference
Sent from my Super Galaxy'd SPH-D710
Click to expand...
Click to collapse
Maybe on JellyBean, On ICS i'm not so sure about, From my very casual observations JB seems to be use a lot less ram in it build process, ICS always just touched swap from a start of about 15GB .
Like I mentioned earlier, from the reviews I read the processor is out perfomed by similar intels and a bit a flop apparently. ( I reads these reviews long after I had bought the processor ). Although I'm happy enough with it. Also I've only got a generic kernel installed so there's probably some AMD optimization to be had there if I really wanted to get into it.
I wasn't on windows at the time. I was just young, foolish It was when I was just getting started with building the sources and really didn't know any better....I still am foolish, just not as young.
Right, I'll be back in ( just over ) 30 mins :laugh: I've got a full_grouper-eng to compile.
Thanks for the link, Phoronix are a really useful resource, It's one I stumble upon now and again but always forget the name of it when I want to remember.
Using virtual box on my laptop at the time I was solo boot on windows, longest cm9 ever took was about 3 hours with dynamically resizing and was using two cores with less than 2 GB ram. Still, many things differ, I shut the whole thing down so only virtual box was running. I noticed lag when I would go web browsing so figured, why waste ram and disk space.
Sent from my SPH-D710 using Tapatalk 2
trevd said:
Maybe on JellyBean, On ICS i'm not so sure about, From my very casual observations JB seems to be use a lot less ram in it build process, ICS always just touched swap from a start of about 15GB .
Like I mentioned earlier, from the reviews I read the processor is out perfomed by similar intels and a bit a flop apparently. ( I reads these reviews long after I had bought the processor ). Although I'm happy enough with it. Also I've only got a generic kernel installed so there's probably some AMD optimization to be had there if I really wanted to get into it.
I wasn't on windows at the time. I was just young, foolish It was when I was just getting started with building the sources and really didn't know any better....I still am foolish, just not as young.
Right, I'll be back in ( just over ) 30 mins :laugh: I've got a full_grouper-eng to compile.
Thanks for the link, Phoronix are a really useful resource, It's one I stumble upon now and again but always forget the name of it when I want to remember.
Click to expand...
Click to collapse
Build a kernel
There are fx flags and optimizations....
Edit: If on ubuntu/Linux, you may want to check that your os is recognizing more than 3gb of ram also. I've been reading that anything newer than ubuntu 10.10 or Linux kernel 2.3.something are having issues with recognizing more than approx 3gb of ram. Also, there are issues with 10.04 and optimizations of ssd drives.
Also, I think it was 10.04 that is recognized as the better ubuntu version for building android. It is possible to use a newer (3.0+) kernel and back port it to the older ubuntu. This seems to give the best results...
Putting this info here for reference and to have it in a central location.
Lol, I've read many reviews. I am trying my hardest to keep any opinions out of here and keep it geared toward facts. It appears that Linux is better at multi-threading and we should expect to see gains when building a custom kernel (non-generic) and other things to come in the future. Whereas windows will need much more tweaking. Although I don't know why you would use windows to build android anyway....
Sent from my Super Galaxy'd SPH-D710
Takes about 20m on my pc, i7-2600K, 12GB, 7.2K HDD
real 20m14.526s
user 74m51.913s
sys 4m53.774s
^full-eng from clobber, same for other targets.
cdesai said:
Takes about 20m on my pc, i7-2600K, 12GB, 7.2K HDD
real 20m14.526s
user 74m51.913s
sys 4m53.774s
^full-eng from clobber, same for other targets.
Click to expand...
Click to collapse
I really must be missing a trick here and clearly haven't spent enough time on my considering the finer details of my hardware / kernel configuration.
basketthis said:
Build a kernel
There are fx flags and optimizations....
.....
Edit: If on ubuntu/Linux, you may want to check that your os is recognizing more than 3gb of ram also. I've been reading that anything newer than ubuntu 10.10 or Linux kernel 2.3.something are having issues with recognizing more than approx 3gb of ram
...
Lol, I've read many reviews. I am trying my hardest to keep any opinions out of here and keep it geared toward facts. It appears that Linux is better at multi-threading and we should expect to see gains when building a custom kernel (non-generic)
Sent from my Super Galaxy'd SPH-D710
Click to expand...
Click to collapse
Current Config is Linux Mint 13 x64 which is based off Ubuntu 12.04 with 3.2.0.26 kernel the Ram is Present and correct, However I have come across the 3GB Ram Limit previously so I am familiar with it. I think I must have been I had an 11.04 32bit on my machine.
PAE Extensions is the feature which needs enabling to get your full quota of ram on 32bit. Here's is an Ubuntu Help Page which gives a good explaination if any one is interested
I think there is some research followed by a rebuild on my horizon Thanks for the suggestions and the thread It's proving educational. I'll let you know how I get on, at the very least post some new build times
EDIT / UPDATE
I did some research and made some tentative first steps with my Kernel Configuration.
I decided to get on the mainline and build a 3.6-rc1. I removed a number of options I know to be redundant In my case, e.g Laptop Support, Intel Support etc
My research did throw up this Gentoo Wiki With Some useful "copy/pasta" compiler optimization, they also have a more in depth guide here.
After building this new kernel and clobbering my aosp tree I did
full_grouper-eng for JRO03L and a
make -j10 which resulted in
real 49m32.493s
user 312m45.481s
sys 17m55.599s
While this is still high, it's a step in the right direction, The times are around the same length I was getting for a full_panda with -j12 previously. I'll do a direct comparison also, Kinda Makes sense
I got quiet a lot of room for Improvement and many options, Only Clock at 2.8Ghz at the Moment.
AMD Provide an FX Bulldozer Specific GCC Toolchain which Is going to be employed when the I Rebuild the Kernel again
I Plan to tweak a bit, test a bit and see If I can get the performance some where close and hopefully learn some tricks along the way If all else fails I'll Surmerge the lot in a fishtank full of cooking oil and clock it to 5GHz
UPDATE 2
Following on from the Build Above -
Full_panda-userdebug make -j16
real 32m16.986s
user 196m34.933s
sys 13m9.521s
full-eng
aosp jellybean
fx-8120, 8gb ram, 8gb swap
make -j16
real: 34m2.641s
EDIT: about to test some tweaks! will update.
Machine: Dell Inspiron 1565
Processor: Intel Core 2 Duo 2.0GHz
Hard Drive: 320GB HDD
RAM: 4GB
OS: Ubuntu 11.04
Current Build Time: 2 1/2 +
Build: CM10 PA Source
Just added ccache. We will see on the next build if I shave some time.
I'm going to looking into building my own pc. I want this pc to be able to quickly build roms. I may also want it for gaming later on. Was just wondering if anyone has any good advice on what to get? What kinda processor, ram, etc, etc? I'll probably have a pretty good amount of spending money, so any advice on building a computer that will help me build ROM's quickly? Currently I just have a laptop that takes ~7 hours to compile roms. Thanks
Check out some CPU Benchmarks on phoronix. More cores = better.
RAM you will never have enough!
Also an SSD should speed up things.
I'd advice a linux based system. So Onboard-graphics should be ok.
andrewnelson23 said:
I'm going to looking into building my own pc. I want this pc to be able to quickly build roms. I may also want it for gaming later on. Was just wondering if anyone has any good advice on what to get? What kinda processor, ram, etc, etc? I'll probably have a pretty good amount of spending money, so any advice on building a computer that will help me build ROM's quickly? Currently I just have a laptop that takes ~7 hours to compile roms. Thanks
Click to expand...
Click to collapse
Easy. Get dual boot computer. (One for Linux and another for windows. Compiling and gaming, respectively.) Get the best processor possible. 8 cores max I think. 16 gb ram should be enough. For gaming, I use a GT-500 from NIVIDIA. It can run all call of duty games and most AC games. BF4 can be run I think. (64 bit processor of course.)
Smack that thanks button If I helped!
Always make a nandroid backup before trying anything risky
Sent from my fabulous N7105 powered by Illusion ROM and Plasma Kernel.
Sent from dat small country called Singapore.
P.S. Quote my post for replies ASAP.
I have noticed over the last couple years that the resource usage of Chrome OS has continued to balloon beyond any common sense. I can't be the only one can I?
I have two fairly high performance Chromebooks. One, a Google Slate with the m3 and 8G of RAM and a Dell 7410 i5 with 16G RAM. When I first got the Slate, I could run Linux no problem with plenty of RAM to spare. It would startup with less than 3G in use. Now, it has become almost pointless. The Slate boots up to the Chrome OS desktop with less than 3G of free RAM so running Linux or anything that requires significant RAM just causes the OS to start allocating compressed ZRAM.
The Dell 7410 still performs reasonably well but only because it has 16G of physical RAM. Still, it now boots up with almost 8G of RAM in use before I launch a single thing!
Google seems to want power users to take ChromeOS seriously so they've added all kinds of great features like ARCVM and the ability to run multiple Linux VM's. Yet, they still seem to be developing the OS as though it's 10 years ago. Back then they could allocate all the system RAM as they chose because the Chrome browser was the only app the system could run.
Neither MacOS, Windows or various Linux distros go so far as to consume almost 50% of the memory on boot while operating on hardware with 16G or more RAM. What is Google thinking!? A good OS should prioritize resources for user applications and minimize resource consumption by the core OS.
I'm thinking about reflashing my Slate to make it useful again as there is no sign that Google is going to make ChromeOS lean again, anytime soon.
Arpman96 said:
I have noticed over the last couple years that the resource usage of Chrome OS has continued to balloon beyond any common sense. I can't be the only one can I?
I have two fairly high performance Chromebooks. One, a Google Slate with the m3 and 8G of RAM and a Dell 7410 i5 with 16G RAM. When I first got the Slate, I could run Linux no problem with plenty of RAM to spare. It would startup with less than 3G in use. Now, it has become almost pointless. The Slate boots up to the Chrome OS desktop with less than 3G of free RAM so running Linux or anything that requires significant RAM just causes the OS to start allocating compressed ZRAM.
The Dell 7410 still performs reasonably well but only because it has 16G of physical RAM. Still, it now boots up with almost 8G of RAM in use before I launch a single thing!
Google seems to want power users to take ChromeOS seriously so they've added all kinds of great features like ARCVM and the ability to run multiple Linux VM's. Yet, they still seem to be developing the OS as though it's 10 years ago. Back then they could allocate all the system RAM as they chose because the Chrome browser was the only app the system could run.
Neither MacOS, Windows or various Linux distros go so far as to consume almost 50% of the memory on boot while operating on hardware with 16G or more RAM. What is Google thinking!? A good OS should prioritize resources for user applications and minimize resource consumption by the core OS.
I'm thinking about reflashing my Slate to make it useful again as there is no sign that Google is going to make ChromeOS lean again, anytime soon.
Click to expand...
Click to collapse
I say "Ditch Google!" That's ridiculous. I've heard that maybe you can install Linux instead.
You are correct. It's always an option to go into "Developer Mode" on Chromebooks and flash with a new OS image. The new image can be a Linux distro provided it has the right drivers. You still have to go into Developer Mode on every reboot to get past the BIOS but it works. Still, there's just no good reason for this if Google approached OS resource management like any other good OS.
At this point the 8G Slate boots with 2.5G free! That is appalling. Do these Google kiddies have a clue? One has to wonder if there is anybody at Google overseeing the architecture or if there are just 100's of little silos uninterested in how their combined drains on system resources may effect the actual usefulness of the OS.
Arpman96 said:
You are correct. It's always an option to go into "Developer Mode" on Chromebooks and flash with a new OS image. The new image can be a Linux distro provided it has the right drivers. You still have to go into Developer Mode on every reboot to get past the BIOS but it works. Still, there's just no good reason for this if Google approached OS resource management like any other good OS.
At this point the 8G Slate boots with 2.5G free! That is appalling. Do these Google kiddies have a clue? One has to wonder if there is anybody at Google overseeing the architecture or if there are just 100's of little silos uninterested in how their combined drains on system resources may effect the actual usefulness of the OS.
Click to expand...
Click to collapse
Arpman96 said:
Still, there's just no good reason for this if Google approached OS resource management like any other good OS.
Click to expand...
Click to collapse
Well, I'm honestly not sure why you would expect Google, a huge corporation that makes money by harvesting people's data and advertising, to actually care about making a lean and usable OS. Instead it is chock-full of spy-ware.
Arpman96 said:
At this point the 8G Slate boots with 2.5G free!
Click to expand...
Click to collapse
Personally I will never buy a Google or Apple product. This just assures me that I'm not missing out on anything!