Search Unity

Euhm ... Whaaaaat ?!

Discussion in 'Unity Build Automation' started by DiscoFever, Aug 5, 2015.

  1. DiscoFever

    DiscoFever

    Joined:
    Nov 16, 2014
    Posts:
    286
    I mean; really ?! I get faster with my 386SX2.

    Can someone explain why ?
    Thanks !

    Capture d’écran 2015-08-05 à 19.09.54.png
     
  2. David-Berger

    David-Berger

    Unity Technologies

    Joined:
    Jul 16, 2014
    Posts:
    745
    Cloud build has usually a few minutes(!) of overhead per build your local build won't.

    To have a definite answer i would need to have a look at your project but:
    • Each build needs to checkout the project first. The checkout of your repro can take a long time depending on your hosting solution.
    • It then depends if it needs to build the library cache first or not. It usually has to import a fair number of assets the first time to build the library cache.
    • It also depends if you use mono or il2cpp
    Most builds would be 2-3x as long as a local build (mostly due to checkout, etc.) but this is independent of the size of your project. The first import of a project will be slightly longer when using Library Caching as it builds the Library first. This however, should improve the build speed after the first successful build. The build time itself is something we work on too, especially when using IL2CPP, but we haven't rolled out fixes yet. The checkout speed is essential too as we checkout each project every build, there is a source code caching option available for huge projects in the Enterprise plan. I don't know your hosting solution but Github and Bitbucket for example usually has a pretty decent connection, but it's also worth having a look at the status page for certain events - http://status.bitbucket.org/ if your recognise a very high build time.

    In general the power of Unity Cloud Build is in distributed and parallel builds, so you will gain most of the power if you build all platforms for several test purposes in parallel. A Build for Android Google Store, Amazon store, a test version and release version and different iOS versions at the same time in parallel. This helps you to integrate a continues build pipeline which enables your developers to be not blocked while waiting for local builds.

    If you have many restarts the build time also increases. The same for hung builds or failed builds, so the average build time has many different factors.

    I hope that helps to understand how UCB work under the hood and where your bottlenecks can be! :)
     
    zetaFairlight and Patico like this.
  3. Patico

    Patico

    Joined:
    May 21, 2013
    Posts:
    886
    @David, thank you for this detailed explanation - it bring to light how everything works!