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

Feature/js/parallelize matrix build #211

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

Conversation

julianneswinoga
Copy link
Member

Linking is a single-threaded task it does not effectively utilize multicore processors. By changing matrix_build.py to instead create N projects which each will build a solution in parallel we can avoid the single-core linking bottleneck. This scales very well with the number of processors. Building mksgenlv21:

Host old time new time
Personal server (N=40) 30m23s 6m29s
Laptop (N=8) 14m10s 6m54s

Our current GitHub Actions workflow only runs on dual core machines (N=2), so the speedup is marginal (but tangible) but this prepares us well for if we want to run the build process on a more powerful CI.

env old time new time
mksgenlv21 14m47s 9m55s
mksgenlv2 18m10s 10m9s
mksgenlv1 4m30s 3m13s
esp32 3m32s 3m3s
ramps 15m26s 9m55s

andre-stefanov
andre-stefanov previously approved these changes Dec 13, 2022
@julianneswinoga julianneswinoga force-pushed the feature/js/parallelize-matrix-build branch from 2edb3b2 to b228950 Compare December 14, 2022 16:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants