pull down to refresh

Hey Murch,

All this is taken care of in my repro, except your point #2. I had tested with the "raspibolt" recommendation of 2GB. The problem on rpi4 is txin verification:

- Verify 9995 txins: 34716.35ms (3.473ms/txin) [51906.08s (65.15ms/blk)]

but it's unlikely to be the disk or the cache! I cannot reproduce on an Odroid M2 with exactly the same disk (as in I plugged it out of the rpi4 and into the odroid) and cache settings.

I've seen some traces from others where the main issue are secp256k1 functions and I remember some changes have been made to replace hand coded ASM with "clang is better". I'm trying to find a few days to get into the weeds on this one and just create a bunch bench cases to see if I can pinpoint it without needing to pprof a live mainnet process. Worst case I'll build a regtest script and do it that way. Anything to not have to profile a mainnet bitcoind haha.

103 sats \ 3 replies \ @Murch 28 Feb

txin verification would indeed make me think that it’s the retrieval of UTXO cache misses. I’ve been hearing that the disk interface of Raspberry Pis is pretty slow, so the disk itself might not be the issue, but rather the speed at which the Pi talks to the disk?

the main issue are secp256k1 functions

Is this during the full validation part of IBD after passing the assumevalid block? Otherwise, I wouldn’t expect many calls to secp.

reply

It starts slowing down before that (around block 790k), but it gets real nasty after it (840k+ on 29.x). I'm not 100% convinced that it is only secp - am natively compiling bench right now for 26, 27, 28, 29 and 30 - see if I can spot a regression

reply
103 sats \ 1 reply \ @Murch 28 Feb

Mh, the default assumevalid block was 886'157 in v29.0.

Oh, you know what? I have a theory. There was a period of time when people started to churn UTXOs to sift for rare sats. Perhaps the slowdown coincides with a big increase of old UTXOs being spent?

Looking at a UTXO Age band chart, the number of coins held in UTXOs older than one year peaked in November 2023. I haven’t found data on UTXO counts itself yet.

reply
There was a period of time when people started to churn UTXOs to sift for rare sats.

This is plausible, as well as massive consolidation of near-dust. The first ones I found that were slow going were blocks that were heavy on consolidation txs.

reply