mainframer
mainframer copied to clipboard
Share your performance results
Great project! The first idea that came to my mind is: how much time I will save? Please, publish a simple comparison in the readme. Let's say "a project that takes 2 minutes to be assebled on my computer, takes 1 minute to be built in a server with 4 cores and 4 GB's". Or... close this issue if you think that it doesn't have sense :-)
Thanks for the work!
It would also be cool if you could include profiling around (un)archiving/moving the files around. Cheers!
I just share my performance comparisions here, maybe someone will find it helpful. We are using a AWS EC2 instance (t2.xlarge) to build the project in the cloud, works like a charm.
MacBook Pro 13 2015 (i5-5257U, 8GB) -> 02:03
Workstation (i7 [email protected], 16GB) -> 00:20
c4.2xlarge (8 cores, 32 GB) -> 00:23
c4.xlarge (4 cores, 16 GB) -> 00:30
t2.xlarge (4 cores, 7.5 GB) -> 00:30
CPU is always maxed out during builds, but only 3GB of RAM are used.
Nice! Btw, @crysxd please try v1.1.0 we've just released, should save you some time on transferring files between remote and local machines!
Great comparison, thanks @crysxd !
Probably we should mention in the readme that better CPU most likely is better than better RAM.
@artem-zinnatullin Already using v1.1.0, version v1.0.2 was not usable for cloud builds because of the big upload, rsync is perfect for this. I really can recommend using AWS for this.
@crysxd ok!
@ming13 I think we can just put a link to this issue into README so users could check results of others and add theirs, not sure we're that good in benchmarking to give precise performance comparison tables or something like this.
Local: MacBook Pro 15" - Mid 2015 - 2,5 GHz i7 - 16 GB Ram: ~43 Sec
Remote: Intel Core i7-6700K 4000 1151 BOX SSD 240GB 440/535 Z410 SA3 SDK 2x 16GB 2133-15 CRU 21 sec
Thanks for collaborating! :·)
Local: (depends on hardware) Clean 180-360 sec Incremental 40-180 sec
Remote: Clean 50 sec Remote 30 sec
Local: Macbook Pro 13" - Early 2015 - 2.7 GHz Intel Core i5 - 8 GB 1867 MHz DDR3 RAM ~3 mins
Remote: Desktop - 32GB ram - Intel Core I7 6700K - SSD 512GS Samsung 960 Pro Mainframer Docker Container (Android build tools on Ubuntu)- Allowed 4 cores and 12 GB RAM ~ 40 secs
❤️
MacBook Pro 13 2015 (i5-5257U, 8GB) -> 02:03 Workstation (i7 [email protected], 16GB) -> 00:20
c4.2xlarge (8 cores, 32 GB) -> 00:23 c4.xlarge (4 cores, 16 GB) -> 00:30 t2.xlarge (4 cores, 7.5 GB) -> 00:30
Can someone explain why builds with only 7.5gb ram are so much faster than on the Mac with the same amount?
@PaulWoitaschek I would say that after a certain RAM threshold it matters very little. Compiling is mostly a CPU-intensive operation, especially DEX step for Android projects. Plus be aware that the build machine usually does the single thing — the build itself, when the laptop also runs DE, IDE, browser and so on. That’s all adds up and, well, you see the results yourself.
@PaulWoitaschek your MacBook has only 2 cores (+ 2 hyperthreaded) with little low level caches, you should not compare this to 4 native cores on a server CPU. RAM does not matter at all, you just have to have enough to keep everything in memory while compiling. From a certain point on (e.g. 6 GB for a project), more RAM does not bring any benefits.
This project is fantastic. Now I can sit on my couch with my crappy 2015 macbook and do actual programming instead of watching my mac getting too warm 👍
Oh my god! You are save my nerves! Before (macbook pro late 2012 i5 8G ram): 2-3 minutes After (hackintosh i7 3770 16G ram): 15-20 seconds! This is awesome!
This tool might have just saved my MBP from choking. Thank you!
Normal builds: 20-25 secs Clean builds: 50 secs
On a t2.large EC2 instance, with a lot of kapt (AutoValue and data-binding)!