21

GitHub - devMEremenko/XcodeBenchmark: XcodeBenchmark measures the compilation ti...

 3 years ago
source link: https://github.com/devMEremenko/XcodeBenchmark
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

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.

Xcode 12

Device CPU RAM SSD HDD Xcode macOS Time(sec) Mac Pro 2019 Xeon 2.5 GHz 28-core 96 4TB

12.2 11.0.1 90 Mac mini 2020 Apple M1 8-core 16 1TB

12.2 11.0 116 MacBook Pro 13" 2020 Apple M1 8-core 16 1TB

12.2 11.0 117 MacBook Air 13" 2020 Apple M1 8c (8c GPU) 16 512

12.2 11.0.1 128 Mac mini 2020 Apple M1 8-core 8 256

12.2 11.0.1 130 MacBook Air 13" 2020 Apple M1 8c (7c GPU) 8 256

12.2 11.0.1 137 iMac 27" 2019 i9 3.6 GHz 8-core 64 2TB

12.1 11.0.1 145 iMac 27" 2020 i9 3.6 GHz 10-core 128 1TB

12.2 11.0.1 146 iMac Pro 27" 2017 Xeon 3.2 GHz 8-Core 32 1TB

12.2 10.15.7 158 iMac 27" 2019 i9 3.6 GHz 8-core 40 512

12.2 11.0.1 163 MacBook Pro 16" 2019 i9 2.4 GHz 8-core 32 512

12.2 11.0.1 176 Mac mini 2018 i7 3.2 GHz 6-core 32 512

12.2 11.0.1 192 MacBook Pro 16" 2019 i9 2.3 GHz 8-core 32 1TB

12.2 11.0.1 221 Mac mini 2018 i7 3.2 GHz 6-core 16 1TB

12.0 10.15.5 228 iMac 27" 2017 i7 4.2 GHz 4-core 16 1TB

12.2 11.0.1 246 MacBook Pro 16" 2019 i7 2.6 GHz 6-core 16 512

12.2 11.0.1 250 MacBook Pro 13" 2020 i5 2.0 GHz 4-core 16 1TB

12.2 11.0.1 265 MacBook Pro 15" 2017 i7 2.8 GHz 4-core 16 256

12.2 11.0.1 282 MacBook Pro 15" 2015 i7 2.2 GHz 4-core 16 256

12.1 11.0.1 324 MacBook Pro 15" 2015 i7 2.2 GHz 4-core 16 256

12.1 10.15.5 334 MacBook Pro 15" 2014 i7 2.5 GHz 4-core 16 256

12.2 10.15.7 343 MacBook Pro 15" 2013 i7 2.3 GHz 4-core 16 512

12.2 10.15.7 374 iMac 27" 2011 i7 3.4 GHz 4-core 16 250

12.1 10.15.7 378 MacBook Pro 13" 2017 i5 2.3 GHz 2-core 16 256

12.2 11.0.1 448 MacBook Pro 13" 2016 i5 2.9 GHz 2-core 8 256

12.2 11.0.1 518 MacBook Pro 13" 2016 i5 2.0 GHz 2-core 8 256

12.2 11.0.1 574 MacBook Pro 13" 2015 i5 2.7 Ghz 2-core 8 512

12.2 10.15.7 597 MacBook Air 13" 2015 i7 2.2 Ghz 2-core 8 256

12.0 10.15.7 610 MacBook Air 13" 2020 i3 1.1 GHz 2-core 8 256

12.2 11.0.1 700 iMac 21.5" 2017 i5 3.0 GHz 4-core 16

1TB 12.2 11.0.1 725 MacBook Air 2014 i5 1.4 GHz 2-core 4 128

12.2 11.0.1 894

Xcode 11

Device CPU RAM SSD HDD Xcode macOS Time(sec) 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 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 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 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

Custom Hardware - Xcode 12

Device CPU RAM SSD HDD Xcode macOS Time(sec) Comments Hackintosh i9-10850K 3.6 Ghz 10-core 64 1TB

12.2 10.15.7 113

Hackintosh i9-10900k 3.7 Ghz 10-core 64 512 6TB 12.2 11.0.1 122

NLEstation 2020 i9 3.6 GHz 8-core 64 1TB

12.2 10.15.7 129

Hackintosh i7-10700K 3.8 Ghz 8-core 32 1TB

12.2 10.15.7 130

Hackintosh AMD 3800x 4.2 Ghz 8-core 64 1TB

12.2 10.15.6 137

Ryzentosh R9 3900 3.8 Ghz 12-core 32 512

12.1 10.15.4 161

Ryzentosh R5 3600 3.6 Ghz 6-core 16 512

12.3 10.15.7 175

Hackintosh i5-9400 2.9 Ghz 6-core 32 512 2TB 12.1 10.15.7 191

Hackintosh i3-10100 3.6 Ghz 4-core 32 1TB

12.1 10.15.7 233

Hackintosh i7-4770K 3.5 Ghz 4-core 16 2TB 8TB 12.2 10.15.7 276

QEMU VM Xeon 1.8 Ghz 4-core 8 32

12.2 10.15.7 775

Custom Hardware - Xcode 11

Device CPU RAM SSD HDD Xcode macOS Time(sec) Comments Hackintosh i5-8400 2.8 Ghz 6-core 32 512

11.6 10.15.6 409

Ryzentosh R5 3600 3.6 Ghz 6-core 16 1TB

11.7 10.15.6 312

Set up

  • Download and install Xcode.
  • Open Xcode and install additional tools (Xcode should suggest it automatically).
  • Download and unarchive XcodeBenchmark project.

Before each test

  1. Disconnect the network cable and turn off WiFi.
  2. Make sure to disable all software running at startup
    • Go to System Preferences -> Users and Groups -> User -> Login Items.
    • Empty the list.
  3. Update Energy Saver settings
    • Go to System Preferences -> Energy Saver -> Turn display off and set 15 min.
  4. Reboot and cool down your Mac.
  5. Connect to the power adapter if you use MacBook.

Running a test

  1. Open the Terminal app.
  2. Write cd and drag & drop XcodeBenchmark folder to the Terminal app to form cd path/to/xcode-benchmark.
  3. Run sh benchmark.sh in Terminal.
  4. When XcodeBenchmark has completed you will see this information.
  5. Upload your results, see Contribution section.

Q: What's inside?

A framework that includes 42 popular CocoaPods libraries and 70+ dependencies in total.

Language files blank comment code C/C++ Header 2785 58618 143659 215644 C++ 750 24771 30788 182663 Objective C 882 27797 23183 148244 Swift 1122 21821 35225 113945 C 390 15064 23319 84119 Objective C++ 69 2980 2026 15561 Markdown 61 4865 1 15131 XML 144 1022 10 13047 Bourne Shell 3 244 209 1321 JSON 22 1 0 1114 Pascal 2 87 185 180 YAML 1 0 0 5 SUM: 6231 157270 258605 790974

Q: What do the results mean?

  1. First of all, the project is huge. Most projects are of a much smaller size.
  2. 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.

YouTubers and bloggers

You are free to use these results in your videos and articles as well as to run XcodeBenchmark to compare Macs. Please make sure to add the link to this repository.

Contribution

  • If you have any non-Apple hardware components - submit your results to the Custom Hardware table.
  • Preferred: Submit a pull request and add a row to the Score section.
  • Open an issue and include all info in the following format:
|        Device        |           CPU           | RAM | SSD | HDD | Xcode |  macOS  | Time(sec) |    Comments    |
|:--------------------:|:-----------------------:|:---:|:---:|:---:|:-----:|:-------:|:---------:|----------------|
|     Mac Pro 2019     |  Xeon 2.5 GHz 28-core   |  96 | 4TB |     |  12.2 | 11.0.1  |    90     |                |
| MacBook Air 13" 2020 |  Apple M1 8c (8c GPU)   |  16 | 512 |     |  12.2 | 11.0.1  |    128    |                |
|     Mac Mini 2018    |    i7 3.2 GHz 6-core    |  16 | 512 |     |  11.7 | 10.15.5 |    300    |                |

Make sure:

  • All steps are performed
  • Time column 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

Contributors


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK