Categories:
Search articles

Search for articles

Sorry, but we couldn't find any matches...

But perhaps we can interest you in one of our more popular articles?

How Mac Pro is saving you 40% of your Flutter build time

Dec 9, 2019

Written by Souvik Biswas

Normally the CI/CD pipelines run on a Mac mini in Codemagic. But if your team has a large project and it takes a lot of time to complete the whole pipeline, then check out their enterprise solution.

In their enterprise solution they provide a more powerful machine, Mac Pro for building, testing & deploying your apps.

This can decrease your build times by up to 50%.

Now, you can get 3 Mac Pro builds for free, for testing how fast the builds are, in these powerful machines, as compared to the normal Mac mini builds.

  • For running your pipeline on a Mac Pro instead of Mac mini, just head over to your project from the Applications dashboard.

  • Click on Start new build.

Project Settings
Project Settings
  • Select your workflow.

  • Then, click on Build with Mac Pro to run the build on a Mac Pro machine.

Build configurations
Build configurations

Comparison

To check how much faster Mac Pro is in reality, let's run some tests with some real projects.

First of all, I will be building the project named sign_in_flutter.

This project is available on GitHub here.

There are three workflows in this project:

  1. Default Workflow (builds for both Android and iOS platform)
  2. Android Workflow (build for only Android platform)
  3. iOS Workflow (builds for only iOS platform)

Let's start with building, testing and deploying the Default Workflow on both the machines.

Build comparison
Build comparison

The build on Mac mini took 11m 34s to finish, whereas on Mac Pro the build finished in just 6m 22s.

So, on Mac Pro the build was faster by about 45%

Now, let's see how it performs in case of parallel workflow builds.

This time I will be using a different project called counter_flutter, having two workflows:

  1. Android Workflow
  2. iOS Workflow

This project is available on GitHub here.

Android Workflow
Android Workflow
iOS Workflow
iOS Workflow

On Mac mini the Android Workflow took 3m 46s and the iOS Workflow took 1m 47s. As they were running in parallel, so the effective time for the build on Mac mini is 3m 46s.

Whereas on Mac Pro, the Android Workflow took only 2m 15s and the iOS Workflow took merely 1m 0s. And as they were running in parallel, so the effective time for the build on Mac Pro is just 2m 15s.

The Android Workflow was about 40% faster and the iOS Workflow was about 44% faster on Mac Pro.

Effectively, the concurrent build was 40% faster on Mac Pro.

So, if you want to run multiple parallel workflows with different configuration and different platform for each one of them, then also you will hugely benefit from the powerful Mac Pros.

Though the build times may vary due to various other factors of the build machine, but on an average, after running a number of tests, the Mac Pro builds are faster by about 45%.

Codemagic for business

If your team requires a more customized and secured environment for running your builds, checkout Codemagic's business solutions.

Their business solution provides the following benefits:

  • Access to Mac Pros for faster build times of up to 50% as compared to the Mac mini.
  • Dedicated machines for running your build in an isolated environment with increased security.
  • Private cloud with full control over network access.
  • Ability to run concurrent builds.
  • Dedicated support for maximized Codemagic experience.

You can contact them here, for a tailored CI/CD experience.


Souvik Biswas is a passionate Mobile App Developer (Android and Flutter). He has worked on a number of mobile apps throughout his journey. Loves open source contribution on GitHub. He is currently pursuing a B.Tech degree in Computer Science and Engineering from Indian Institute of Information Technology Kalyani. He also writes Flutter articles on Medium - Flutter Community.

How did you like this article?

Oops, your feedback wasn't sent

Latest articles

Show more posts