Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
251MuHash3072 acc;252unsigned char key[32] = {0};253uint32_t i = 0;254bench.run([&] {255key[0] = ++i & 0xFF;256acc *= MuHash3072(key);257});258}260static void MuHashMul(benchmark::Bench& bench)261{262MuHash3072 acc;263FastRandomContext rng(true);264MuHash3072 muhash{rng.randbytes(32)};266bench.run([&] {267acc *= muhash;268});269}271static void MuHashDiv(benchmark::Bench& bench)272{273MuHash3072 acc;274FastRandomContext rng(true);275MuHash3072 muhash{rng.randbytes(32)};277bench.run([&] {278acc /= muhash;279});280}282static void MuHashPrecompute(benchmark::Bench& bench)283{284MuHash3072 acc;285FastRandomContext rng(true);286std::vector<unsigned char> key{rng.randbytes(32)};288bench.run([&] {289MuHash3072{key};290});291}293static void MuHashFinalize(benchmark::Bench& bench)294{295FastRandomContext rng(true);296MuHash3072 acc{rng.randbytes(32)};297acc /= MuHash3072{rng.rand256()};299bench.run([&] {300uint256 out;301acc.Finalize(out);302acc /= MuHash3072{out};303});304}306BENCHMARK(BenchRIPEMD160);307BENCHMARK(SHA1);308BENCHMARK(SHA256_STANDARD);309BENCHMARK(SHA256_SSE4);310BENCHMARK(SHA256_AVX2);311BENCHMARK(SHA256_SHANI);312BENCHMARK(SHA512);313BENCHMARK(SHA3_256_1M);315BENCHMARK(SHA256_32b_STANDARD);316BENCHMARK(SHA256_32b_SSE4);317BENCHMARK(SHA256_32b_AVX2);318BENCHMARK(SHA256_32b_SHANI);319BENCHMARK(SipHash24_32b);320BENCHMARK(SipHash24_36b);321BENCHMARK(SipHash13UJ_32b);322BENCHMARK(SipHash13UJ_36b);323BENCHMARK(SHA256D64_1024_STANDARD);324BENCHMARK(SHA256D64_1024_SSE4);325BENCHMARK(SHA256D64_1024_AVX2);326BENCHMARK(SHA256D64_1024_SHANI);328BENCHMARK(MuHash);329BENCHMARK(MuHashMul);330BENCHMARK(MuHashDiv);331BENCHMARK(MuHashPrecompute);332BENCHMARK(MuHashFinalize);
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.