Bitcoin full node and query server

Mar 17, 2024

View in context in the libbitcoin Slack #general mirror.

evoskuil22:10
I finally took the time to remove the boost::thread dependency. This was the result of using boost::thread_specific_ptr as a workaround for not having thread_static implemented in all platforms. This was precipitated from an exception thrown by boost:shared_mutex from database. I decided to test operation with 500 threads configured, and it crashed as soon as 128 blocked writers accumulated. This was the result of boost using a 7 bit struct bitfield to store that limit. After removing all boost thread and mutex code it's humming along no problem with a 500 thread pool. The main objective with the test was to determine how critical is thread pool sizing. Turns out too few can really slow down the network but too many doesn't really matter. This is also true of channel count.
(edited)