-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Use local parity-dapps-glue instead of crate published at crates.io #8983
Conversation
Does this only affect master? |
@5chdn We still need to wait for the CI to complete to know whether this is the cause of the problem. (And this change fixes a dependency issue regardless whether it's the cause of the CI failures.) If so, then I think it's due to cargo/rust update, specifically, a problem for querying doctest dep versions. It probably affects every build using Rust 1.27. (But there's still a chance that this may not be what caused the CI failures and I might be wrong here.) |
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.
Now that I think about it, I believe it actually fixes the build w/o cargo clean
, because IIUC cargo caches git dependencies in $HOME/.cargo/registry
which cargo clean
doesn't remove (rust-lang/cargo#3289). And switching to path dependency invalidates this cache.
Ah right. Then I guess this needs to wait for cache cleanup right now. I'm going to reset to HEAD^. |
I figured out this might not be the cache issue. I cleared up |
Are there any more benefits to use panic=abort rather than binary size? I found out that it is introduced in #3423, and we had around 2mb binary gains, which, given our current binary size, doesn't look significant any more. It looks like we're one of the main project that suffers from the panic strategy error (searching google about this shows mostly parity repo on the front page). Would we consider to drop panic=abort? I also noticed that lto optimization is disabled for cc @arkpar |
Local testing worked for me. I'm going to push the commit that disables panic=abort and enable lto optimization, just to see how it works. Looks like this also has positive effect in incremental build. |
This is really strange, what command is failing? Is it |
@ordian I ran My opinion on this is that panic=abort is probably not mature enough on Rust yet. While aborting saves some binary size and compile time, unwinding allows possibly more control for how the program panics (ref https://users.rust-lang.org/t/panic-unwind-vs-abort/9928). There're also other projects, like ripgrep (BurntSushi/ripgrep@d5c0454) took the same reversion. |
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.
The problem is ./test.sh
works fine for me, so I'm not sure what the right solution is.
|
||
[profile.release] | ||
debug = false | ||
lto = false |
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.
I'm afraid with lto enabled build machines can ran out of memory.
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.
according to the documentation lto = false
is the default for [profile.release]
, so this changes nothing
…8983) * Use local parity-dapps-glue instead of crate published at crates.io * Disable panic=abort and enable lto optimization
…8983) * Use local parity-dapps-glue instead of crate published at crates.io * Disable panic=abort and enable lto optimization
…rp_sync_on_light_client * 'master' of https://github.com/paritytech/parity: Fix deadlock in blockchain. (openethereum#8977) snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 (openethereum#8984) Use local parity-dapps-glue instead of crate published at crates.io (openethereum#8983)
* master: Refactor evm Instruction to be a c-like enum (#8914) Fix deadlock in blockchain. (#8977) snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 (#8984) Use local parity-dapps-glue instead of crate published at crates.io (#8983) parity: omit redundant last imported block number in light sync informant (#8962) Disable hardware-wallets on platforms that don't support `libusb` (#8464) Bump error-chain and quick_error versions (#8972)
* master: Refactor evm Instruction to be a c-like enum (#8914) Fix deadlock in blockchain. (#8977) snap: downgrade rust to revision 1.26.2, ref snapcraft/+bug/1778530 (#8984) Use local parity-dapps-glue instead of crate published at crates.io (#8983) parity: omit redundant last imported block number in light sync informant (#8962) Disable hardware-wallets on platforms that don't support `libusb` (#8464) Bump error-chain and quick_error versions (#8972)
Too late for the discussion, but |
@arkpar I think unwinding shouldn't impact runtime speed in any significant way, because it only affects the code generated when a panic actually happened (which won't do in normal execution). Can you be more specific on how you tested it's 5% faster? |
Import 1m blocks from a file. |
I'd benchmark compilation times as well |
Just FYI, to revert to panic=abort we also need to revert this PR #8999. I don't have really strong opinion on this, but it will mean that all |
Database has to be resistant to power loss anyway. |
Reading this comment (rust-lang/rfcs#1765 (comment)), for runtime performance, the difference would only be the landing pads (but it can still result in reasonable performance gain). |
Reading this story (https://www.reddit.com/r/rust/comments/55ns2m/safe_and_efficient_bidirectional_trees/) it looks like landing pads are inserted together with No matter whether we choose to use |
No description provided.