Results from running Xcode on a non-trivial open source project using various Macs
Switch branches/tags
Nothing to show
Clone or download
ashfurrow Merge pull request #78 from michael-mckenna/master
New Xcode 10 Section + New Timings
Latest commit a7c55dc Sep 14, 2018

Readme.md

Xcode Hardware Performance

These are the results from running Xcode 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.

Xcode 10

πŸ–₯ Computer Model CPU RAM Fresh Build Time Incremental Build Time Xcode Version Date & Commit Hash New Build System?
πŸ’» MacBook Pro
Retina, 15", Mid 2012
2.6 GHz i7-3720QM 16 GB 0:40 0:042 10.0 2018-09-13 (commit) βœ”οΈ

Xcode 9

πŸ–₯ Computer Model CPU RAM Fresh Build Time Incremental Build Time Xcode Version Date & Commit Hash New Build System?
πŸ’» MacBook Pro
Retina, 15", Mid 2018
2.2 GHz i7 32 GB 0:42 0:09 2018-05-19 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", 2018
2.9 GHz i9 32 GB 0:30 0:04 2018-05-19 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 13", Early 2015
2.7 GHz i5 8 GB 2:25 0:31 2018-05-19 (commit) ❌
πŸ’» MacBook Pro
Retina, 13", Early 2015
2.7 GHz i5 8 GB 1:12 0:18 2018-05-19 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", Mid 2018
2.9 GHz i9 32 GB 0:32 0:04 2018-05-19 (commit) βœ”οΈ
⌨️ Custom PC
Early 2018
i7-8700K 4.70+ GHz 32 GB 0:19 0:07 2018-03-11 (commit) βœ”οΈ
⌨️ Custom PC
Early 2016
i7-6700k 4.5 GHz 32 GB 0:23 0:07 9.4.1 2018-05-19 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 13", Mid 2018
2.7 GHz i7-8559U 16 GB 0:27 0:09 9.4.1 2018-05-19 (commit) βœ”οΈ
⌨️ Custom PC
Early 2018
i7-7700k 4.5 GHz 16 GB 0:35 0:05 2018-03-10 βœ”οΈ
⌨️ Custom PC
Early 2018
i7-8700K 4.70+ GHz 32 GB 0:36 0:07 2018-02-19 (commit) ❌
⌨️ Custom PC
Early 2018
i7-7700k 4.5 GHz 16 GB 0:48 0:07 2018-03-10 ❌
⌨️ Custom PC
Late 2015
i7-4790k 4.0 GHz 32 GB 0:40 0:07 2018-02-22 (commit) ❌
πŸ–₯ iMac Pro
10 Core, Late 2017
3 GHz Intel Xeon W 64 GB 0:41 0:07 2017-12-28 ❌
πŸ–₯ iMac Pro
18 Core, Late 2017
2.3 GHz Intel Xeon W 128 GB 0:47 0:07 2018-03-07 (commit) ❌
πŸ–₯ iMac 27"
5K 1TB SSD, Mid 2017
4,2 GHz i7 40 GB 0:49 0:08 2018-01-18 ❌
πŸ’» MacBook Pro
Retina, 15", 2017
2.9 GHz i7 16 GB 0:49 0:16 2017-10-09 βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", 2017
2.9 GHz i7 16 GB 0:50 0:15 2017-10-09 ❌
πŸ’» MacBook Pro
Retina, 15", 2016
2.9 GHz i7 16 GB 1:04 0:09 9.4.1 2018-07-18 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", 2016
2.9 GHz i7 16 GB 1:06 0:10 9.4.1 2018-07-18 (commit) ❌
πŸ’» MacBook Pro
Retina, 15", 2015
2.5 GHz i7 16 GB 0:51 0:09 9.2 2018-03-02 (commit) βœ”οΈ
πŸ–₯ MacPro Late 2013 2.7 GHz 12core Intel Xeon E5 64 GB 0:54 0:10 2018-03-07 (commit) ❌
πŸ–₯ iMac 27"
256GB SSD, Late 2013
3.2 GHz i5 24 GB 0:56 0:10 9.2 2018-03-02 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", Mid 2012
2.6 GHz i7-3720QM 16 GB 1:04 0:13 9.4.1 2018-05-19 (commit) βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", Late 2013
2.6 GHz i7 16 GB 1:09 0:12 2018-02-28 βœ”οΈ
πŸ’» MacBook Pro
Retina, 15", 2015
2.8 GHz i7 16 GB 1:17 0:12 2018-01-02 ❌
πŸ’» MacBook Pro
Retina, 15", 2015
2.5 GHz i7 16 GB 1:20 0:09 9.2 2018-03-02 (commit) ❌
πŸ–₯ iMac 27"
256GB SSD, Late 2013
3.2 GHz i5 24 GB 1:27 0:10 9.2 2018-03-02 (commit) ❌
⌨️ Custom Laptop
Mid 2018
i5-8250u 3.4 GHz 16 GB 1:58 0:10 9.3 2018-05-11 ❌
πŸ’» MacBook Pro
Retina, 13", 2014
2.6 GHz i5 8 GB 2:30 0:23 2018-01-04 ❌
Mac Mini
Mid 2012, 512 SSD
2.3 GHz Quad-Core i7 16 GB 1:32 0:18 2017-10-20 ❌
πŸ’» MacBook Pro
Retina, 15", 2017
2.8 GHz i7 16 GB 1:50 0:14 ❌
πŸ–₯ iMac 27"
120GB SSD, Mid 2010
2.93 GHz i7 8 GB 2:05 0:16 9.3 2018-03-21 ❌
πŸ’» MacBook
Retina, 15", Mid 2012
2.6 GHz i7 8 GB 2:26 0:23 ❌
πŸ’» MacBook Pro
13", Mid 2012
2.9 GHz i7 8 GB 2:30 0:23 ❌
Mac Pro
Flash Storage, Late 2013
3.7 GHz 4-Core Xeon E5 32 GB 1:15 0:10 9.4.1 2018-06-20 (commit) ❌
Mac Pro
Flash Storage, Late 2013
3.7 GHz 4-Core Xeon E5 32 GB 0:35 0:11 9.4.1 2018-06-20 (commit) βœ”οΈ
πŸ’» MacBook Pro
13", Mid-2017, 256GB SSD
2.3 GHz i5 (I5-7360U) 8 GB 01:42 0:12 9.2 2018-06-29 ❌
πŸ’» MacBook Pro
13", Mid-2017, 256GB SSD
2.3 GHz i5 (I5-7360U) 8 GB 01:12 0:12 9.2 2018-06-29 βœ”οΈ
Mac Mini,
Mid-2011, 128GB SSD
2.3 GHz i5 (I5-2415M) 8 GB 03:12 0:20 9.2 2018-07-04 ❌
Mac Mini,
Mid-2011, 128GB SSD
2.3 GHz i5 (I5-2415M) 8 GB 02:04 0:20 9.2 2018-07-04 βœ”οΈ

Xcode 8

πŸ–₯ Computer Model CPU RAM Fresh Build Time Incremental Build Time Date
πŸ–₯ iMac 5K
512GB Flash, 27", Late 2015
4.0 GHz 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
Retina, 12", Mid 2017
1.4 GHz i7 16 GB 1:49 0:16
πŸ’» 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 Pro
13", Late 2013 256 SSD
2.4 GHz i5 8 GB 2:17 0:23
πŸ’» 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. Unlike most iOS apps, the project is stable and not under active development, so it's a prime candidate for accurate-ish benchmarking.

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.

License

This work is licensed under a Creative Commons Attribution 4.0 International License.