-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Multi-jobs build #2678
Multi-jobs build #2678
Conversation
I don't think this is ok, as it appears to unconditionally use non-portable constructs, basically assuming that all the world is Linux. Separately, whether someone wants to build in parallel and with how many jobs is a decision for the user. Sometimes people don't want to stress the machine and would prefer to just let it run a bit longer, and sometimes people want even more jobs than cores, since the point is having something to do during IO. I find that building rtl_433 is quite fast, compared to modern bloatware (like cmake). You didn't post any times, which could be useful in assessing what the real issues are. I did a test, on NetBSD 10 amd64, with an 8-core CPU (9th gen i7), and:
I would suggest instead having the script accept -jN and pass it on. This avoids both the the portability issue and the overriding-preference issue, and lets you call it how you like. |
This is very true indeed, I really like your argument passing proposal so I changed the behavior to actually parse input of the script and pass the number of jobs from Side note, in the initial solution if |
Maybe, but I don't think it's ok to have things fail because you're not on the author's OS. But thanks for adjusting and I'll have a look. |
Looks ok to me. I pushed the 'allow workflow' button. |
There is a catch: The A recommended way to build is e.g. |
I've shuffled the scripts away to We should check that we have clear build instructions in all places (recommending Ninja maybe) and no mentions of the do_build.sh. |
I suppose it means this PR doesn't make sense anymore? Felt like |
Maybe but the other side of the coin is that the normal approach with cmake is
and if that doesn't work better to address that. It is good that CI and user things are being cleaned up though. |
The major benefit of not using wrapper scripts is good tool integration. IDEs should be able to discover and build this project with (visual) configuration hints and test integration. |
Closing this PR according to the discussion's conclusion. |
Hello! I made this minor modification locally, in order to parallelize the build using the number of cores available on the machine it is run on.