Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to m2 resource class for osx builds #15499

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

r0qs
Copy link
Member

@r0qs r0qs commented Oct 10, 2024

M2 pro is now available in CircleCI (see: https://discuss.circleci.com/t/announcing-m2-pro-medium-m2-pro-large-general-availability/52095). Switching to it bring some improvement to our building time for osx builds while may not increase that much in terms of cost:

Model CPU RAM Credits/Min
M1 Medium 4 6 GB 150
M2 Pro Medium 4 8 GB 180
M1 Large 8 12 GB 250
M2 Pro Large 8 16 GB 330

source: https://circleci.com/pricing/price-list/

From ~12m 53s using m1 on develop branch: https://app.circleci.com/pipelines/github/ethereum/solidity/36393/workflows/af589beb-dce2-4adf-a4b7-cc2226c283d6/jobs/1661285 to ~11m 41s with m2 in this branch: https://app.circleci.com/pipelines/github/ethereum/solidity/36404/workflows/1d1c077a-ed8d-45e2-b6b7-39fa79273ceb/jobs/1661847 (with 5 CPUs).

This PR also increases the number of threads for better resource utilization, which reduces the build time to ~10m 13s (https://app.circleci.com/pipelines/github/ethereum/solidity/36408/workflows/bf6134e6-6213-4905-9f1c-94c8360f87ab/jobs/1662046)

@r0qs r0qs requested a review from clonker October 10, 2024 16:20
clonker
clonker previously approved these changes Oct 10, 2024
.circleci/config.yml Outdated Show resolved Hide resolved
@cameel
Copy link
Member

cameel commented Oct 11, 2024

The variance of running time in CI is quite large. 12 vs 11 min can very well just be a fluke, unless it's consistent over multiple runs.

@cameel
Copy link
Member

cameel commented Oct 11, 2024

Overall, I'd make sure that there really is a benefit to this, because macOS and Windows runs alone have always been the majority our CI cost, despite there being only a handful of them. They're relatively expensive. The impact of making them 20% more expensive on every PR may be substantial if it does not go with a corresponding decrease in running time.

@r0qs r0qs force-pushed the switch-to-m2-resource-class branch from c1159bc to 5bd15b6 Compare October 11, 2024 13:09
@r0qs
Copy link
Member Author

r0qs commented Oct 11, 2024

Overall, I'd make sure that there really is a benefit to this, because macOS and Windows runs alone have always been the majority our CI cost, despite there being only a handful of them. They're relatively expensive. The impact of making them 20% more expensive on every PR may be substantial if it does not go with a corresponding decrease in running time.

Indeed. The rationale is that since M2 processors are faster than M1, and the cost is billed per minute, switching could be worthwhile. However, further evaluation is indeed needed to confirm this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants