Bitcoin Core 28.99.0
P2P Digital Currency
Functions | Variables
crypto_hash.cpp File Reference
#include <bench/bench.h>
#include <crypto/muhash.h>
#include <crypto/ripemd160.h>
#include <crypto/sha1.h>
#include <crypto/sha256.h>
#include <crypto/sha3.h>
#include <crypto/sha512.h>
#include <crypto/siphash.h>
#include <random.h>
#include <span.h>
#include <tinyformat.h>
#include <uint256.h>
#include <cstdint>
#include <vector>
Include dependency graph for crypto_hash.cpp:

Go to the source code of this file.

Functions

static void BenchRIPEMD160 (benchmark::Bench &bench)
 
static void SHA1 (benchmark::Bench &bench)
 
static void SHA256_STANDARD (benchmark::Bench &bench)
 
static void SHA256_SSE4 (benchmark::Bench &bench)
 
static void SHA256_AVX2 (benchmark::Bench &bench)
 
static void SHA256_SHANI (benchmark::Bench &bench)
 
static void SHA3_256_1M (benchmark::Bench &bench)
 
static void SHA256_32b_STANDARD (benchmark::Bench &bench)
 
static void SHA256_32b_SSE4 (benchmark::Bench &bench)
 
static void SHA256_32b_AVX2 (benchmark::Bench &bench)
 
static void SHA256_32b_SHANI (benchmark::Bench &bench)
 
static void SHA256D64_1024_STANDARD (benchmark::Bench &bench)
 
static void SHA256D64_1024_SSE4 (benchmark::Bench &bench)
 
static void SHA256D64_1024_AVX2 (benchmark::Bench &bench)
 
static void SHA256D64_1024_SHANI (benchmark::Bench &bench)
 
static void SHA512 (benchmark::Bench &bench)
 
static void SipHash_32b (benchmark::Bench &bench)
 
static void MuHash (benchmark::Bench &bench)
 
static void MuHashMul (benchmark::Bench &bench)
 
static void MuHashDiv (benchmark::Bench &bench)
 
static void MuHashPrecompute (benchmark::Bench &bench)
 
 BENCHMARK (BenchRIPEMD160, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA1, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_STANDARD, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_SSE4, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_AVX2, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_SHANI, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA512, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA3_256_1M, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_32b_STANDARD, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_32b_SSE4, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_32b_AVX2, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256_32b_SHANI, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SipHash_32b, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256D64_1024_STANDARD, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256D64_1024_SSE4, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256D64_1024_AVX2, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (SHA256D64_1024_SHANI, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (MuHash, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (MuHashMul, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (MuHashDiv, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (MuHashPrecompute, benchmark::PriorityLevel::HIGH)
 

Variables

static const uint64_t BUFFER_SIZE = 1000*1000
 

Function Documentation

◆ BENCHMARK() [1/21]

◆ BENCHMARK() [2/21]

BENCHMARK ( MuHash  ,
benchmark::PriorityLevel::HIGH   
)

◆ BENCHMARK() [3/21]

BENCHMARK ( MuHashDiv  ,
benchmark::PriorityLevel::HIGH   
)

◆ BENCHMARK() [4/21]

BENCHMARK ( MuHashMul  ,
benchmark::PriorityLevel::HIGH   
)

◆ BENCHMARK() [5/21]

◆ BENCHMARK() [6/21]

BENCHMARK ( SHA1  ,
benchmark::PriorityLevel::HIGH   
)

◆ BENCHMARK() [7/21]

◆ BENCHMARK() [8/21]

◆ BENCHMARK() [9/21]

◆ BENCHMARK() [10/21]

◆ BENCHMARK() [11/21]

◆ BENCHMARK() [12/21]

◆ BENCHMARK() [13/21]

◆ BENCHMARK() [14/21]

◆ BENCHMARK() [15/21]

◆ BENCHMARK() [16/21]

◆ BENCHMARK() [17/21]

◆ BENCHMARK() [18/21]

◆ BENCHMARK() [19/21]

◆ BENCHMARK() [20/21]

BENCHMARK ( SHA512  ,
benchmark::PriorityLevel::HIGH   
)

◆ BENCHMARK() [21/21]

◆ BenchRIPEMD160()

static void BenchRIPEMD160 ( benchmark::Bench bench)
static

Definition at line 25 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHash()

static void MuHash ( benchmark::Bench bench)
static

Definition at line 208 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHashDiv()

static void MuHashDiv ( benchmark::Bench bench)
static

Definition at line 230 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHashMul()

static void MuHashMul ( benchmark::Bench bench)
static

Definition at line 219 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHashPrecompute()

static void MuHashPrecompute ( benchmark::Bench bench)
static

Definition at line 241 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA1()

static void SHA1 ( benchmark::Bench bench)
static

Definition at line 34 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_32b_AVX2()

static void SHA256_32b_AVX2 ( benchmark::Bench bench)
static

Definition at line 120 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_32b_SHANI()

static void SHA256_32b_SHANI ( benchmark::Bench bench)
static

Definition at line 132 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_32b_SSE4()

static void SHA256_32b_SSE4 ( benchmark::Bench bench)
static

Definition at line 108 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_32b_STANDARD()

static void SHA256_32b_STANDARD ( benchmark::Bench bench)
static

Definition at line 96 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_AVX2()

static void SHA256_AVX2 ( benchmark::Bench bench)
static

Definition at line 65 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_SHANI()

static void SHA256_SHANI ( benchmark::Bench bench)
static

Definition at line 76 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_SSE4()

static void SHA256_SSE4 ( benchmark::Bench bench)
static

Definition at line 54 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256_STANDARD()

static void SHA256_STANDARD ( benchmark::Bench bench)
static

Definition at line 43 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256D64_1024_AVX2()

static void SHA256D64_1024_AVX2 ( benchmark::Bench bench)
static

Definition at line 164 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256D64_1024_SHANI()

static void SHA256D64_1024_SHANI ( benchmark::Bench bench)
static

Definition at line 174 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256D64_1024_SSE4()

static void SHA256D64_1024_SSE4 ( benchmark::Bench bench)
static

Definition at line 154 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA256D64_1024_STANDARD()

static void SHA256D64_1024_STANDARD ( benchmark::Bench bench)
static

Definition at line 144 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA3_256_1M()

static void SHA3_256_1M ( benchmark::Bench bench)
static

Definition at line 87 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA512()

static void SHA512 ( benchmark::Bench bench)
static

Definition at line 184 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SipHash_32b()

static void SipHash_32b ( benchmark::Bench bench)
static

Definition at line 193 of file crypto_hash.cpp.

Here is the call graph for this function:

Variable Documentation

◆ BUFFER_SIZE

const uint64_t BUFFER_SIZE = 1000*1000
static

Definition at line 23 of file crypto_hash.cpp.