All Projects → devMEremenko → Xcodebenchmark

devMEremenko / Xcodebenchmark

Licence: mit
XcodeBenchmark measures the compilation time of a large codebase on iMac, MacBook, and Mac Pro

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Xcodebenchmark

Agimagepickercontroller
Stars: ✭ 424 (-42.39%)
Mutual labels:  xcode, cocoapods
Gedatsu
Gedatsu provide readable format about AutoLayout error console log
Stars: ✭ 464 (-36.96%)
Mutual labels:  xcode, cocoapods
Mylinearlayout
MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,PathLayout,GridLayout,LayoutSizeClass to build your App 自动布局 UIView UITab…
Stars: ✭ 4,152 (+464.13%)
Mutual labels:  xcode, cocoapods
Stepslider
StepSlider its custom implementation of slider such as UISlider for preset integer values.
Stars: ✭ 391 (-46.87%)
Mutual labels:  xcode, cocoapods
Swiftinstagram
Instagram API client written in Swift
Stars: ✭ 570 (-22.55%)
Mutual labels:  xcode, cocoapods
Gradientcircularprogress
Customizable progress indicator library in Swift
Stars: ✭ 407 (-44.7%)
Mutual labels:  xcode, cocoapods
Dnspageview
一个纯 Swift 的轻量级、灵活且易于使用的 pageView
Stars: ✭ 461 (-37.36%)
Mutual labels:  xcode, cocoapods
Tbuiautotest
Generating UI test label automatically for iOS.
Stars: ✭ 333 (-54.76%)
Mutual labels:  xcode, cocoapods
Xcake
🍰 Describe Xcode projects in a human readable format and (re)generate one on demand.
Stars: ✭ 549 (-25.41%)
Mutual labels:  xcode, cocoapods
Progresskit
Progress Views for Cocoa
Stars: ✭ 510 (-30.71%)
Mutual labels:  xcode, cocoapods
Iosdropdown
Drop Down Menu for iOS With Search And Other Awesome Customisation
Stars: ✭ 390 (-47.01%)
Mutual labels:  xcode, cocoapods
Monkeydev
CaptainHook Tweak、Logos Tweak and Command-line Tool、Patch iOS Apps, Without Jailbreak.
Stars: ✭ 5,492 (+646.2%)
Mutual labels:  xcode, cocoapods
Restofire
Restofire is a protocol oriented networking client for Alamofire
Stars: ✭ 377 (-48.78%)
Mutual labels:  xcode, cocoapods
Jyradarchart
an iOS open source Radar Chart implementation
Stars: ✭ 419 (-43.07%)
Mutual labels:  xcode, cocoapods
Swift5 Module Template
An opinionated starting point for awesome, reusable Swift 5 modules
Stars: ✭ 331 (-55.03%)
Mutual labels:  xcode, cocoapods
Uitextfield Navigation
🏄‍♂️ UITextField-Navigation makes it easier to navigate between UITextFields and UITextViews
Stars: ✭ 436 (-40.76%)
Mutual labels:  xcode, cocoapods
Maplebacon
🍁🥓 Lightweight and fast Swift library for image downloading, caching and transformations
Stars: ✭ 322 (-56.25%)
Mutual labels:  xcode, cocoapods
Snapkit
A Swift Autolayout DSL for iOS & OS X
Stars: ✭ 18,091 (+2358.02%)
Mutual labels:  xcode, cocoapods
Ttsegmentedcontrol
An elegant, animated and customizable segmented control for iOS created by Tapptitude
Stars: ✭ 471 (-36.01%)
Mutual labels:  xcode, cocoapods
Sidemenu
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.
Stars: ✭ 5,267 (+615.63%)
Mutual labels:  xcode, cocoapods

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.

FAQ

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].