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

[UST-190] [Frontend/Backend] Research and Improve the speed of generating proof #549

Open
FoodChain1028 opened this issue Oct 23, 2024 · 1 comment
Assignees
Labels
test test improvements

Comments

@FoodChain1028
Copy link
Collaborator

FoodChain1028 commented Oct 23, 2024

Description

目前進行每個動作的速度太慢了,因此想要研究可以如何可以加快產生 Proof 的速度。

但是目前沒有辦法開出一個很詳細的處理方法,可能要研究過後才能開出一個完整的 issue

主要的 Bottleneck

@vivianjeng 討論過 & 研究前後端速度慢可能的問題,Vivian 用 social-tw 原本的 template (create-unirep-app) 初步看過,發現 bottleneck 主要可能發生在「前端 Synchornizer 在與後端 anondb 同步時」和「後端處理 UserState Transition 時」。

Attest

  • Prover duration: 1542 ms (epoch key proof)
  • Relay duration: 853 ms
  • Wait for tx duration: 7 ms
  • Wait for sync duration: 2023 ms 👈🏻
    ===================================
    Total duration of attesting: 4510 ms

UserState Transition (UST)

  • Prover duration: 3699 ms (UST proof)
  • Relay duration: 8799 ms
  • Tx took 8621 ms (included) 👈🏻
    ===================================
    Total duration of UST: 15249 ms

下一步

  1. 接下來需要去看 social-tw 裡面主要的 bottleneck 會是誰。
  2. 如果發現真的 bottleneck 發生在 synchronizer 的話,會需要去修改 unirep-core 裡面的 synchronizer.
@github-actions github-actions bot added the test test improvements label Oct 23, 2024
@FoodChain1028 FoodChain1028 changed the title [UST 190] Research and Improve the speed of generating proof [UST-190] Research and Improve the speed of generating proof Oct 23, 2024
@cc03668 cc03668 changed the title [UST-190] Research and Improve the speed of generating proof [UST-190] [Frontend/Backend] Research and Improve the speed of generating proof Oct 24, 2024
@FoodChain1028
Copy link
Collaborator Author

  1. 實驗之後發現速度在調整 pollRate 後並沒有太大的改變。

  2. 速度慢的原因是因為 userStateTransition 中的 waitForTransaction 等了非常久,跟 @vivianjeng 討論後,感覺如果要 UX 變得更好,應該要思考如何把 waitForTransaction 不要 block 住 user 的使用(在 wait 的同時還是可以去 comment、按讚等),也許不需要在 userStateTransition 中等這筆交易完成。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
test test improvements
Projects
None yet
Development

No branches or pull requests

1 participant