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

Don't clone env on each call of Expr::eval #740

Merged
merged 5 commits into from
May 3, 2024

Conversation

SethDusek
Copy link
Collaborator

@SethDusek SethDusek commented Apr 25, 2024

Somewhat related to #737. This leads to pretty major performance improvements across the board for scripts. The most extreme example is https://ergexplorer.com/transactions#e2a90dc0f3f12d6fdc8437d72ae8cf801c25a8b1734544539eb63907629e0b4b which goes from 700-800 seconds to validate down to 2.5s. Other transactions I've tested have less extreme improvements but still helpful for both signing/validation

Dependencies and rust-analyzer are broken on older rust version. Also bump hashbrown due to ahash's nightly features breaking on older versions
@coveralls
Copy link

coveralls commented Apr 27, 2024

Pull Request Test Coverage Report for Build 8915297620

Details

  • 15 of 16 (93.75%) changed or added relevant lines in 8 files are covered.
  • 33 unchanged lines in 17 files lost coverage.
  • Overall coverage increased (+0.04%) to 80.795%

Changes Missing Coverage Covered Lines Changed/Added Lines %
ergotree-ir/src/chain/ergo_box/register/value.rs 0 1 0.0%
Files with Coverage Reduction New Missed Lines %
ergotree-interpreter/src/sigma_protocol/prover.rs 1 78.43%
ergo-lib/src/chain/transaction.rs 1 60.0%
ergotree-ir/src/mir/avl_tree_data.rs 1 91.3%
ergo-chain-generation/src/chain_generation.rs 1 87.33%
ergotree-interpreter/src/eval/exponentiate.rs 1 81.82%
ergotree-ir/src/serialization/sigmaboolean.rs 1 81.63%
ergo-lib/src/wallet/tx_builder.rs 1 73.83%
ergo-lib/src/wallet/derivation_path.rs 1 79.17%
ergo-rest/src/api/peer_discovery_internals/non_chrome.rs 1 74.81%
ergo-lib/src/wallet/box_selector/simple.rs 1 78.1%
Totals Coverage Status
Change from base Build 7307508480: 0.04%
Covered Lines: 10585
Relevant Lines: 13101

💛 - Coveralls

@SethDusek SethDusek force-pushed the nocloneenv branch 3 times, most recently from bcb8903 to c26539c Compare May 1, 2024 19:33
@SethDusek SethDusek force-pushed the nocloneenv branch 5 times, most recently from 2c4aeb9 to 0b71a32 Compare May 1, 2024 20:38
@SethDusek SethDusek merged commit 4ae5d38 into ergoplatform:develop May 3, 2024
12 checks passed
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.

3 participants