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

Summary of current test-run #52

Closed
ineiti opened this issue Nov 15, 2023 · 1 comment
Closed

Summary of current test-run #52

ineiti opened this issue Nov 15, 2023 · 1 comment
Assignees

Comments

@ineiti
Copy link
Member

ineiti commented Nov 15, 2023

I'm using the benchmark BenchmarkIntegration_CustomVotesScenario in performance_test.go to test how much we need to speed things up. Here some preliminary results and thoughts:

  • According to state_of_smart_contract.md, there is only a single instance of any smart contract. So:
    • it will get slower the more elections are stored
    • the proxy will probably have to handle this and return only appropriate data structures
  • on my macbook I can get about 200 ballots stored, shuffled, and decrypted. More than that fails in the shuffling
  • just casting ballots shows a big slowdown: the 100th ballot takes 0.7s, the 200th 1.2s, the 300th 1.7s, the 400th 2.3s, the 999th 5.4s, so an increase in casting a new ballot of 0.5s per 100 existing ballots
  • The 100th ballot with 3 nodes takes 650ms, with 7 nodes it takes 720ms, so there is no big increase when the number of nodes increases

Probable issues to open (waiting on some more investigations):

  • speed up casting a ballot by a factor of 100: it should be below 1s for 5 elections and 10'000 votes each. -> Reducing time to cast a ballot #53
  • make shuffling work with 1'000 and 10'000 ballots
  • make sure the smart contract is smart enough that the proxy can correctly extract the different elections
  • verify the decryption is actually stored, too, and possibly even the results. Else it will take clients a lot of time to calculate the results

Once this works, the next steps are:

  • test all of this from the client side
  • using a real network with network delays
@ineiti ineiti added this to D-Voting Nov 15, 2023
@ineiti ineiti moved this to In Progress in D-Voting Nov 15, 2023
@ineiti ineiti self-assigned this Nov 15, 2023
@PascalinDe
Copy link
Member

closing this issue to clean up issues for transfer

@github-project-automation github-project-automation bot moved this from In Progress to Done in D-Voting Oct 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

2 participants