XcodeBenchmark contains a large codebase to measure the compilation time in Xcode.
You are probably familiar with the following question:
"Should I buy an i5, i7, or even i9 processor for iOS/macOS development?".
XcodeBenchmark is initially created for Max Tech YouTube channel to compare the performance of new iMacs 2020.
I believe the results will help developers to make the right cost/performance trade-off decision when choosing their next Mac.
| Device | CPU | RAM | SSD | HDD | Xcode | macOS | Time(sec) |
|---|---|---|---|---|---|---|---|
| MacBook Pro 13" 2020 | Apple M1 8-core | 16 | 1TB | 12.2 | 11.0 | 133 | |
| iMac 27" 2020 | i9 3.6 GHz 10-core | 64 | 512 | 11.6 | 10.15.6 | 217 | |
| iMac Pro 27" 2017 | Xeon 3.0 GHz 10-core | 64 | 1TB | 11.7 | 10.15.6 | 222 | |
| iMac 27" 2020 | i7 3.8 GHz 8-core | 64 | 512 | 11.6 | 10.15.6 | 229 | |
| iMac 27" 2020 | i7 3.8 GHz 8-core | 32 | 512 | 11.6 | 10.15.6 | 229 | |
| MacBook Pro 16" 2019 | i7 2.6 GHz 6-core | 16 | 512 | 12.2 | 11.0.1 | 250 | |
| iMac 27" 2019 | i9 3.6 GHz 8-core | 64 | 2TB | 11.6 | 10.15.6 | 252 | |
| iMac Pro 27" 2017 | Xeon 3.2 GHz 8-core | 32 | 1TB | 11.6 | 10.15.6 | 263 | |
| Mac Mini 2018 | i7 3.2 GHz 6-core | 16 | 512 | 11.7 | 10.15.5 | 300 | |
| Ryzentosh | R5 3600 3.6 Ghz 6-core | 16 | 1TB | 11.7 | 10.15.6 | 312 | |
| MacBook Pro 16" 2019 | i9 2.3 GHz 8-core | 32 | 2TB | 11.6 | 10.15.6 | 328 | |
| MacBook Pro 16" 2019 | i7 2.6 GHz 6-core | 16 | 512 | 11.6 | 10.15.6 | 353 | |
| Mac Mini 2018 | i5-8500B 3.0 GHz 6-core | 8 | 512 | 11.7 | 10.15.6 | 383 | |
| Hackintosh | i5-8400 2.8 Ghz 6-core | 32 | 512 | 11.6 | 10.15.6 | 409 | |
| iMac 27" 2017 | i7 4.2 GHz 4-core | 48 | 2TB | 11.7 | 10.15.6 | 411 | |
| iMac 21.5" 2017 | i7-7700 3.6 GHz 4-core | 16 | 1TB | 11.7 | 10.16.6 | 419 | |
| MacBook Pro 15" 2018 | i7 2.6 GHz 6-core | 16 | 512 | 11.6 | 10.15.6 | 440 | |
| Mac Pro 2013 | E5-1650 v2 3.5 GHz 6-core | 32 | 1TB | 11.7 | 10.15.6 | 518 | |
| MacBook Pro 15" 2017 | i7 2.9 GHz 4-core | 16 | 512 | 11.6 | 10.15.6 | 583 | |
| MacBook Pro 15" 2015 | i7 2.2 GHz 4-core | 16 | 265 | 11.7 | 10.15.6 | 594 | |
| MacBook Pro 15" 2016 | i7 2.7 GHz 4-core | 16 | 1TB | 11.7 | 10.15.6 | 642 | |
| Mac Mini 2014 | i5 2.6 GHz 2-core | 8 | 1TB | 11.7 | 10.15.6 | 1193 |
- Download and install Xcode.
- Open Xcode and install
additional tools(Xcode should suggest it automatically). - Download and unarchive XcodeBenchmark project.
- Disconnect the network cable and turn off WiFi.
- Make sure to disable all software running at startup
- Go to
System Preferences->Users and Groups->User->Login Items. - Empty the list.
- Go to
- Update
Energy Saversettings- Go to
System Preferences->Energy Saver->Turn display offand set 15 min.
- Go to
- Reboot and cool down your Mac.
- Connect to the power adapter if you use MacBook.
- Open the
Terminalapp. - Write
cdand drag & dropXcodeBenchmarkfolder to theTerminalapp to formcd path/to/xcode-benchmark. - Run
sh benchmark.shinTerminal. - When
XcodeBenchmarkhas completed you will see this information. - Upload your results, see Contribution section.
Q: What's inside?
A framework that includes 42 popular CocoaPods libraries and 70+ dependencies in total.
Q: What do the results mean?
- First of all, the project is huge. Most projects are of a much smaller size.
- The results show relative performance in Xcode, compared to other Macs running under similar conditions.
Q: Why is CocoaPods not excluded from git-repo?
- The project is also used by non-programmers. Let's keep it simple.
- Preferred: Submit a pull request and add a row to the
Scoresection. - Open an issue and include all info to fill the
Scoresection if you cannot submit a pull request.
Make sure:
- All steps are performed
Timecolumn is still sorted after insertion.- You are added to the end of the Contributors list.
- Attach a screenshot with a compilation time. Example.
- The content in cells is centered. You can use this tool to edit a table.
- File -> Paste table data
- Select all cells -> Right click -> Text align -> Center
