-
Notifications
You must be signed in to change notification settings - Fork 993
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
Slow wallet performance for large wallets #1082
Comments
Unfortunately, this is unlikely to be a particular issue with a single fix. Each |
We could prolly easily solve that for the stratum implementation at least, I don't think it needs to do a full wallet refresh. |
Yes, agreed. A round of performance enhancements on UTXO retrieval will be good for the overall wallet experience, though wouldn't expect we'll get a wallet with 8000 outputs to completely refresh itself in sub-second time. We may want some feature to get UTXO deltas from block to block to allow for partial wallet refreshes instead of having to refresh every output every time |
I'll take a look, I'm around that code anyway (to do the cleanup of old unconfirmed). |
Wallet performance has been sufficiently improved (or it just got hard to get a large wallet) |
When wallet.dat contains lot of outputs, some operations take very long.
From testing our mozkomor miner we have wallet.dat that is about 10 MB in size (cca 500 000 testnet grins)
For example
grin wallet info
takes cca 1 minute to output results on my 6 core machine.
(Running on release, latest master)
With new/empty wallet, the response is near instantaneous.
Another place where you can observe this effect is in stratum server. When miner finds valid block and submits it to stratum server, there is cca 30 seconds delay before stratum server sends new job. Again with new/empty wallet, this is near instantaneous. My guess is that grin node is synchronously saving the newly mined block coinbase before assembling new candidate block for mining...
Let me know if we can provide anything additional to help pin this down.
The text was updated successfully, but these errors were encountered: