pull down to refresh
Dude, thank you so much! Mind if I share it here? https://github.com/raspibolt/raspibolt/issues/1482
Can you help me understand further? Is CPU the bottleneck, not hard disk speed or bandwidth? Would connecting from an ethernet cable have helped? And lastly, is it due to UTXO set bloat, or simply due to larger blocks?
Sorry for all the questions, haha
reply
Feel free to share it with anyone, though note that it's right now only a confirmation that it can be reproduced. Next steps for me:
- Let it finish so that I can graph and analyze the full IBD end-to-end for patterns.
- Start comparing
BenchConnectBlock
across different ARM hardware. 1 - If there are visible differences in bench, profile it. Otherwise make a new bench until it shows the differences, and profile that.
- Attempt to optimize the code
- Do a PR if 4 has outcome
I aim to do 2 and 3 in parallel to the IBD whenever I find time.
Is CPU the bottleneck, not hard disk speed or bandwidth?
It is for my test, so I'd say "yes". It's also what I expected.
Would connecting from an ethernet cable have helped?
I don't expect that, because txin verification doesn't depend on network - it's all done between disk, cache and cpu.
And lastly, is it due to UTXO set bloat, or simply due to larger blocks?
The block I gave as an example above contains mostly consolidation of
p2sh
utxo. So in this case, we're actually seeing bad performance on utxoset unbloat.Footnotes
-
because for example the IBD I did on an RK3588 earlier this year went much faster. There are some cpu feature differences between that and a Pi4. This would also suggest that a Pi5 would perform much better because it has some more CPU features built in. ↩
reply
Ok, I'll wait for more concrete results before sharing anything. That Github issue is closed anyway so unlikely to get any real attention.
The block I gave as an example above contains mostly consolidation of p2sh utxo. So in this case, we're actually seeing bad performance on utxoset unbloat.
Interesting. But we wouldn't need to do this much validation if the UTXO set wasn't so bloated to begin with, right? So I think it's fair to chalk it up to the sphere of problems caused by UTXO bloat?
796776
:b-msghandler
because that's whereConnectBlock
is ultimately called from, and high soft interrupt; which I expect to be from using wifi instead of wired (but I figured that since raspibolt is explicitly configuring for usage of that, that most operators would run it like that):