Bitcoin full node and query server

Oct 27, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil13:45
replied to a thread: view
The lack of shani probably explains a big part of the difference between the big Mac and the Linux and Windows minis. However, BN does not even implement shani yet, and completes this in under an hour on a 32GB/16 thread windows mini, whereas this is a 728GB/32 thread machine. Both BC and BN are doing the same amount of hashing, because both skip script execution and are performing all other hashing (all headers, txs, with and without witness, merkle roots for tx and witness commitments). The difference is that BN is doing it on all threads, close to 100% on the mini, where BC looks more like a single-threaded app on this network and database aspect. As such these local optimizations like shani make a big difference. But this is really at the center of one of the main architectural distinctions. BC is at its heart a single threaded application that uses threads, and only really fans out for script validation. BN is only improved by shani and hash vectorization when it becomes CPU bound. This is why shani is deferred work - it can be dropped into the sha template with no change to any other code.
(edited)