-
Notifications
You must be signed in to change notification settings - Fork 4
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
jamtis: implement dense/sparse view privacy changes #15
Conversation
49e2409
to
7d888fc
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just skimmed it for now. I recommend running comparative perf tests for scanning before/after this PR and adding them to the PR comments.
7d888fc
to
351d81c
Compare
Here's the results of
Ran on an AMD Ryzen 9 3900X 12-core CPU. So processing basic records from a remote scanner is ~128x slower (about what was predicted from Tevador's cycle estimates). |
One performance difference that works in the new changes favor, though, is that basic records are 9% smaller because the nominal address index is not transmitted. |
Results of `test_remote_scanner_client_scan_sp` performance test: ``` seraphis_lib (original) run #1 test_remote_scanner_client_scan_sp (23 calls) - OK: 13434 µs/call test_remote_scanner_client_scan_sp (23 calls) - OK: 13217 µs/call test_remote_scanner_client_scan_sp (23 calls) - OK: 14304 µs/call seraphis_lib (original) run #2 test_remote_scanner_client_scan_sp (23 calls) - OK: 13086 µs/call test_remote_scanner_client_scan_sp (23 calls) - OK: 13130 µs/call test_remote_scanner_client_scan_sp (23 calls) - OK: 14217 µs/call jamtis_fix_fr_privacy (new PR) run #1 test_remote_scanner_client_scan_sp (23 calls) - OK: 1738 ms/call test_remote_scanner_client_scan_sp (23 calls) - OK: 1738 ms/call test_remote_scanner_client_scan_sp (23 calls) - OK: 1739 ms/call jamtis_fix_fr_privacy (new PR) run #2 test_remote_scanner_client_scan_sp (23 calls) - OK: 1731 ms/call test_remote_scanner_client_scan_sp (23 calls) - OK: 1750 ms/call test_remote_scanner_client_scan_sp (23 calls) - OK: 1734 ms/call ``` Ran on an AMD Ryzen 9 3900X 12-core CPU. Processing basic records from a remote scanner is about 128x slower.
351d81c
to
3aa169b
Compare
If my math is right, the updated scanning for a scanner client is 1s per 10mill on-chain enotes (40k are scanned locally). 40k enotes transmitted for local scanning is at least 5-10MB so the overall cost is comparable with modern download speeds. |
Closing in favor of #26 |
Description of changes can be found here: https://gist.github.com/tevador/50160d160d24cfc6c52ae02eb3d17024?permalink_comment_id=4665372#gistcomment-4665372