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

Benchmark encryption & combination (TypeScript via WASM bindings) and partial decryption (Python bindings) #11

Closed
Tracked by #76
cygnusv opened this issue Nov 4, 2022 · 4 comments
Assignees

Comments

@cygnusv
Copy link
Member

cygnusv commented Nov 4, 2022

No description provided.

@piotr-roslaniec
Copy link

piotr-roslaniec commented Nov 7, 2022

Initial benchmark
Out of date - Please see WASM and Python benchmarks below.

  • No changes to existing TPKE benchmarks
  • Running benchmarks in wasi rather than in the browser. Because of that, these results are not indicative of performance in the browser.
  • Raw results
  • TLDR of the results: WASM is ~5x slower than Rust implementation
  • More detailed benchmarks are coming after proper WASM bindings are shipped WASM bindings #10 Done

@piotr-roslaniec
Copy link

piotr-roslaniec commented Nov 17, 2022

WASM bindings benchmark

  • Results available here
  • WASM in the browser is 14x slower than Rust on desktop
  • The worst-case scenario performance-wise is where we use 128 shares: Time to combine these shares is in the ballpark of a few seconds (2.2s in the benchmark)
  • TLDR: Combining 128 shares takes up to ~2-3s in the browser

Relevant PR: #17

@piotr-roslaniec piotr-roslaniec self-assigned this Nov 17, 2022
@piotr-roslaniec
Copy link

piotr-roslaniec commented Nov 18, 2022

Python bindings benchmark

  • Results available here
  • Notice: The code used in the benchmark doesn't perform public verification yet. See this question about "simple vs fast" decryption if it impacts how verification is performed. Edit: After some light reading of the Ferveo source code I concluded that it's not necessary to benchmark this verification.
  • TLDR: Partial decryption of 128 shares takes up to 25 ms in Python

Relevant PR: #18

@piotr-roslaniec
Copy link

Benchmarks are done. Please reopen should we need to update the benchmark suite.

@arjunhassard arjunhassard moved this to Completed in v7.0.0 (TACo) Feb 13, 2023
@arjunhassard arjunhassard moved this from Completed to Completed in v7.0.0 (TACo) Jan 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Completed
Development

No branches or pull requests

2 participants