Bitcoin Core  27.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 <hash.h>
#include <random.h>
#include <tinyformat.h>
#include <uint256.h>
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 FastRandom_32bit (benchmark::Bench &bench)
 
static void FastRandom_1bit (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 (FastRandom_32bit, benchmark::PriorityLevel::HIGH)
 
 BENCHMARK (FastRandom_1bit, 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/23]

◆ BENCHMARK() [2/23]

◆ BENCHMARK() [3/23]

◆ BENCHMARK() [4/23]

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

◆ BENCHMARK() [5/23]

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

◆ BENCHMARK() [6/23]

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

◆ BENCHMARK() [7/23]

◆ BENCHMARK() [8/23]

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

◆ BENCHMARK() [9/23]

◆ BENCHMARK() [10/23]

◆ BENCHMARK() [11/23]

◆ BENCHMARK() [12/23]

◆ BENCHMARK() [13/23]

◆ BENCHMARK() [14/23]

◆ BENCHMARK() [15/23]

◆ BENCHMARK() [16/23]

◆ BENCHMARK() [17/23]

◆ BENCHMARK() [18/23]

◆ BENCHMARK() [19/23]

◆ BENCHMARK() [20/23]

◆ BENCHMARK() [21/23]

◆ BENCHMARK() [22/23]

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

◆ BENCHMARK() [23/23]

◆ BenchRIPEMD160()

static void BenchRIPEMD160 ( benchmark::Bench bench)
static

Definition at line 22 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ FastRandom_1bit()

static void FastRandom_1bit ( benchmark::Bench bench)
static

Definition at line 207 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ FastRandom_32bit()

static void FastRandom_32bit ( benchmark::Bench bench)
static

Definition at line 199 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHash()

static void MuHash ( benchmark::Bench bench)
static

Definition at line 215 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHashDiv()

static void MuHashDiv ( benchmark::Bench bench)
static

Definition at line 237 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHashMul()

static void MuHashMul ( benchmark::Bench bench)
static

Definition at line 226 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ MuHashPrecompute()

static void MuHashPrecompute ( benchmark::Bench bench)
static

Definition at line 248 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA1()

static void SHA1 ( benchmark::Bench bench)
static

Definition at line 31 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 117 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 129 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 105 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 93 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 62 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 73 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 51 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 40 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 161 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 171 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 151 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 141 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 84 of file crypto_hash.cpp.

Here is the call graph for this function:

◆ SHA512()

static void SHA512 ( benchmark::Bench bench)
static

Definition at line 181 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 190 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 20 of file crypto_hash.cpp.