solidity icon indicating copy to clipboard operation
solidity copied to clipboard

Switch to m2 resource class for osx builds

Open r0qs opened this issue 1 year ago • 3 comments

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 avatar Oct 10 '24 15:10 r0qs

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 avatar Oct 11 '24 10:10 cameel

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.

cameel avatar Oct 11 '24 10:10 cameel

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.

r0qs avatar Oct 11 '24 13:10 r0qs

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[bot] avatar Oct 26 '24 12:10 github-actions[bot]

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

github-actions[bot] avatar Nov 03 '24 12:11 github-actions[bot]