-
Notifications
You must be signed in to change notification settings - Fork 37.8k
Add instructions for parallel gitian builds. #10968
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
Conversation
utACK 36928b0 (that's awful, it only picks a single-core VM by default?) |
Yes by default, it's only a single-core VM. And gbuild defaults to "-j 2". |
doc/release-process.md
Outdated
@@ -111,16 +111,16 @@ The gbuild invocations below <b>DO NOT DO THIS</b> by default. | |||
### Build and sign Bitcoin Core for Linux, Windows, and OS X: | |||
|
|||
pushd ./gitian-builder | |||
./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml | |||
./bin/gbuild --num-make `nproc` --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a bit dangerous - in many cases, number of concurrent C++ compiles is limited by memory, not number of cores
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/bitcoin/bitcoin/blob/master/contrib/gitian-build.sh appears to use -j instead of --num-make. Is there a difference?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-j and --num-make are the same thing.
@laanwj what's a better way then? I do know that builds are much faster on my quad-core mbp when I run it with "--num-make 4"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could just provide the default of --num-make 2
here, which works with --memory 3000
Doubling one of the numbers means you have to double the other one too, at least for KVM, for LXC the memory limit is ignored which is why you didn't notice anything.
36928b0
to
393e776
Compare
@laanwj I made the fix you recommended. Change |
utACK 393e776 |
utACK 393e776 |
ping @coblee Could you make Marcos change so we can merge this? |
393e776
to
9483ffb
Compare
Done and pngcrush'd 2 other images. |
9483ffb
to
e93ff71
Compare
Looks like my compression was slightly more efficient. (I used Also, rewriting existing files in the git repo will keep the old versions around. Probably not worth trying to reduce the size... I reverted the change to the existing files and force pushed the commit to the litecoin repo. I hope this is ok. |
Sure, np |
ACK e93ff71 |
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
e93ff71 Add instructions for multi-processor gitian builds (Charlie Lee) Pull request description: This makes builds much faster if you have a multi-core machine. Tree-SHA512: edb64c691a31a8a2e6c45f87886912d429a3fd600ebc0de2b16d44efd9d38bb92fea33c5fed207ad684b75d3247218912cab67661466a5538d534845e0808c9f
This makes builds much faster if you have a multi-core machine.