You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
These are the results from running Xcode 8 on a non-trivial open source project using various Macs. The goal is to give developers a relative idea of how each computer model compares to one another. Read the specifics and contributing sections for more info.
Once Xcode 9 is out of beta, we'll have to start over again. We're looking for ways to make this more reproducible and scientific, see #39.
🖥
Computer Model
CPU
RAM
Fresh Build Time
Incremental Build Time
Date
🖥
iMac 5K 512GB Flash, 27", Late 2015
4.0Ghz i7
32 GB
0:28
0:06
Mac Pro Flash Storage, Late 2013
3.5 GHz 6-Core Xeon E5
32 GB
0:30
0:05
💻
MacBook Pro Retina, 15", Mid 2015
2.8 GHz i7
16 GB
0:39
0:07
💻
MacBook Pro Retina, 15", Mid 2015
2.5 GHz i7
16 GB
0:42
0:09
💻
MacBook Pro Retina, 15", Mid 2012
2.3 GHz i7
16 GB
0:46
0:08
💻
MacBook Pro Retina, 15", Early 2013
2.4 GHz i7
8 GB
0:47
0:10
Mac Mini Mid 2012, 512 SSD
2.3GHz Quad-Core i7
16GB
0:50
0:09
💻
MacBook Pro Retina, 15", Mid 2014
2.2 GHz i7
16 GB
0:51
0:07
💻
MacBook Pro Retina, 15", Late 2013
2.3 GHz i7
16 GB
0:53
0:09
🖥
iMac HDD 1 TB, 27", Late 2012
3.4 GHz i7
8 GB
0:54
0:12
💻
MacBook Pro Touch Bar, 15", Late 2016
2.9 GHz i7
16 GB
0:54
0:17
💻
MacBook Pro 15", Early 2011
2.0 GHz i7
8 GB
1:00
0:13
💻
MacBook Pro 15" Early 2011, SSD
2.0 GHz i7
8 GB
1:01
0:10
💻
MacBook Pro Touch Bar, 15", Late 2016
2.9 GHz i7
16 GB
1:04
0:26
💻
MacBook Pro 13", Early 2015, 1TB SSD
3.1 Ghz i7
16 GB
1:25
0:09
💻
MacBook Pro Retina, 13", Early 2015
2.7 GHz i5
8 GB
1:35
0:11
💻
MacBook Pro 13”, Mid 2012 256 SSD
2.5 GHz i5
8 GB
2:08
0:19
💻
MacBook Air 13", Mid 2012, 512 SSD
2 Ghz i7
8 GB
2:10
0:11
💻
MacBook Retina, 12", Early 2016
1.2 GHz m5
8 GB
2:10
0:12
💻
MacBook Retina, 12", Early 2015
1.2 GHz M
8 GB
2:28
0:12
💻
MacBook Retina, 12", Early 2015
1.1 GHz M
8 GB
3:00
0:12
💻
MacBook Pro 13", Early 2011, 512 SSD
2.7 Ghz i7
8 GB
2:30
0:16
💻
MacBook Air 13", Mid 2013, 128 SSD
1.3 Ghz i5
4 GB
2:58
0:24
💻
MacBook Pro 13”, Mid 2010 512 SSD
2.4 GHz Intel Core 2 Duo
8 GB
3:01
0:24
🖥
iMac HDD 500 GB, 21.5", Mid 2010
3.06 GHz i3
12 GB
3:59
0:14
🖥
iMac HDD 1 TB, 21.5", Late 2012
2.7 GHz i5
8 GB
4:15
0:33
Specifications
For the test, I decided to use an app that I actually work on: eidolon.
For "fresh" builds, I cleaned the build folder (⌘⇧K) repeatedly until it worked with no permissions problems. Then I sat and waited for Xcode to index the project. I also made sure the simulator was closed, so these times include booting the simulator and launching the app. Then I hit ⌘R and start a timer, only ending it when the app had fully launched.
"Incremental" builds represent a more common use case: changing one file and recompiling with the simulator already running. I added print("hello!") to application(: didFinishLaunchingWithOptions:) and hit ⌘R, timing the time it took for the app to launch.
I repeated each test a few times and took their average times.
Contributing
It would be super-cool if we could perform the above tests on a variety of machines and consolidate the results here. You can follow the instructions to download the code and the project dependencies, and send a pull request adding your own results. I'd super-appreciate it! 🙇
Please note that this project is released with a Contributor Code of Conduct. By participating in this project, you agree to abide by [its terms](/Code of Conduct.md).