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

Closed
wants to merge 1 commit into 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.

Copy link

This pull request is stale because it has been open for 14 days with no activity.
It will be closed in 7 days unless the stale label is removed.

@github-actions github-actions bot added the stale The issue/PR was marked as stale because it has been open for too long. label Oct 26, 2024
Copy link

github-actions bot commented Nov 3, 2024

This pull request was closed due to a lack of activity for 7 days after it was stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build system 🏗️ closed-due-inactivity stale The issue/PR was marked as stale because it has been open for too long.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants