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

Investigate why time to complete 'zcbenchmark validatelargetx' has increased from z7 to z8 #1193

Closed
bitcartel opened this issue Aug 8, 2016 · 1 comment
Assignees
Labels
I-performance Problems and improvements with respect to performance

Comments

@bitcartel
Copy link
Contributor

bitcartel commented Aug 8, 2016

Per comments on Slack, time has increased 25-30% to complete test.
https://speed.z.cash/changes/?rev=95277e0311&exe=undefined&env=1

@bitcartel bitcartel added the I-performance Problems and improvements with respect to performance label Aug 8, 2016
@bitcartel bitcartel added this to the z9 Release - RPC, Audit tasks, Testing improvements milestone Aug 8, 2016
@bitcartel bitcartel self-assigned this Aug 8, 2016
@bitcartel
Copy link
Contributor Author

bitcartel commented Aug 8, 2016

Two issues identified so far:

  1. The test does not measure solely the verification of a single large transaction, but also the time to create (the same) CTransaction object thousands of times.
  2. The time to create a CTransaction object has increased slightly from z7 to z8 due to the need to compute both the serialization hash (used as an object identifier by equality operators) and the non-malleable txid.

Issue 1 is resolved by PR #1194, which shows a reduction in time to complete the verification phase of the test by 75%+, where the z7 and z8 benchmarks are the same i.e. non-malleable txids do not affect signature verification times.

Regarding issue 2, there may be optimizations possible, such as on-demand generation and cacheing of the txid, for situations like this test where CTransactions are created but there is no intention of asking it for its txid. This can be placed into a new ticket for further research.

@zkbot zkbot closed this as completed in 822b84b Aug 14, 2016
bitcartel added a commit to bitcartel/zcash that referenced this issue Aug 18, 2016
unncessarily create thousands of CTransaction objects.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-performance Problems and improvements with respect to performance
Projects
None yet
Development

No branches or pull requests

1 participant