Switch to m2 resource class for osx builds
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)
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.
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.
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.
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.
This pull request was closed due to a lack of activity for 7 days after it was stale.