Changes in the processor architecture for the Docker executor on CircleCI

2.0

#1

We are currently rolling out a new server type for the Docker executor on CircleCI. The new servers have a different CPU model than the previous servers. If you are caching any compiled binaries, this change can result in binaries compiled for the previous CPU model to not work once the migration is finished.

If you are seeing any unusual behaviour that could be related to the change in the CPU model, please try rerunning your Workflows without cache. Please see this doc on how to achieve that.

We encourage you to use the {{ arch }} variable in your cache keys to make sure the caches get invalidated automatically next time we make a change in the underlying servers.

Thank you for using CircleCI, and happy building!


Non-reproducable build-results
#2

Hi alexey,

Is it possible that those changes improves our builds on project I’m working on making its twice faster ?

We are running Symfony project test suite on a custom Docker we have built with PHPUnit. Builds were lasting 7min46 before 3min12 now!

Thanks for this nice present :slight_smile:
Any explanations of this crazy improvement ?
Bests,
Nicolas


#3

Hi Juste, thanks for commenting here.

In some cases the new infrastructure type can indeed deliver a performance increase. We are looking deeper into the change and will update this thread once we have more data. Thanks for your patience.


#4

Does this change affect remote docker and docker layer caching?


#5

No, these changes only affect the docker executor. Remote Docker and DLC are not affected.


#6

Hi Alexey,
Thanks for your quick reply. Any news on the impact of these changes since?

Best,
Nicolas


#7

After this change our RSpec suite is taking 10 minutes less to run! Amazing job!

When I run my suite with ruby and all dependencies installed on my machine we got similar results, but when We are running on a docker container we got similar results to what was Circle CI before this update (10 minutes more). Since you guys solved the puzzle, any chance you share with us what you did? I’m suspecting is something related to the docker volumes but I’m not sure. Our image is the same that is running at Circle CI 2.0, so probably is something we are doing at composer and not the image.

Thanks.