Bitcoin Core 32.1.0
P2P Digital Currency
Loading...
Searching...
No Matches
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 <tinyformat.h>
#include <uint256.h>
#include <cstdint>
#include <span>
#include <string>
#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 SipHash24_32b (benchmark::Bench &bench)
static void SipHash24_36b (benchmark::Bench &bench)
static void SipHash13UJ_32b (benchmark::Bench &bench)
static void SipHash13UJ_36b (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)
static void MuHashFinalize (benchmark::Bench &bench)
 BENCHMARK (BenchRIPEMD160)
 BENCHMARK (SHA1)
 BENCHMARK (SHA256_STANDARD)
 BENCHMARK (SHA256_SSE4)
 BENCHMARK (SHA256_AVX2)
 BENCHMARK (SHA256_SHANI)
 BENCHMARK (SHA512)
 BENCHMARK (SHA3_256_1M)
 BENCHMARK (SHA256_32b_STANDARD)
 BENCHMARK (SHA256_32b_SSE4)
 BENCHMARK (SHA256_32b_AVX2)
 BENCHMARK (SHA256_32b_SHANI)
 BENCHMARK (SipHash24_32b)
 BENCHMARK (SipHash24_36b)
 BENCHMARK (SipHash13UJ_32b)
 BENCHMARK (SipHash13UJ_36b)
 BENCHMARK (SHA256D64_1024_STANDARD)
 BENCHMARK (SHA256D64_1024_SSE4)
 BENCHMARK (SHA256D64_1024_AVX2)
 BENCHMARK (SHA256D64_1024_SHANI)
 BENCHMARK (MuHash)
 BENCHMARK (MuHashMul)
 BENCHMARK (MuHashDiv)
 BENCHMARK (MuHashPrecompute)
 BENCHMARK (MuHashFinalize)

Variables

static const uint64_t BUFFER_SIZE = 1000*1000

Function Documentation

◆ BENCHMARK() [1/25]

BENCHMARK ( BenchRIPEMD160 )
Here is the call graph for this function:

◆ BENCHMARK() [2/25]

BENCHMARK ( MuHash )
Here is the call graph for this function:

◆ BENCHMARK() [3/25]

BENCHMARK ( MuHashDiv )
Here is the call graph for this function:

◆ BENCHMARK() [4/25]

BENCHMARK ( MuHashFinalize )
Here is the call graph for this function:

◆ BENCHMARK() [5/25]

BENCHMARK ( MuHashMul )
Here is the call graph for this function:

◆ BENCHMARK() [6/25]

BENCHMARK ( MuHashPrecompute )
Here is the call graph for this function:

◆ BENCHMARK() [7/25]

BENCHMARK ( SHA1 )
Here is the call graph for this function:

◆ BENCHMARK() [8/25]

BENCHMARK ( SHA256_32b_AVX2 )
Here is the call graph for this function:

◆ BENCHMARK() [9/25]

BENCHMARK ( SHA256_32b_SHANI )
Here is the call graph for this function:

◆ BENCHMARK() [10/25]

BENCHMARK ( SHA256_32b_SSE4 )
Here is the call graph for this function:

◆ BENCHMARK() [11/25]

BENCHMARK ( SHA256_32b_STANDARD )
Here is the call graph for this function:

◆ BENCHMARK() [12/25]

BENCHMARK ( SHA256_AVX2 )
Here is the call graph for this function:

◆ BENCHMARK() [13/25]

BENCHMARK ( SHA256_SHANI )
Here is the call graph for this function:

◆ BENCHMARK() [14/25]

BENCHMARK ( SHA256_SSE4 )
Here is the call graph for this function:

◆ BENCHMARK() [15/25]

BENCHMARK ( SHA256_STANDARD )
Here is the call graph for this function:

◆ BENCHMARK() [16/25]

BENCHMARK ( SHA256D64_1024_AVX2 )
Here is the call graph for this function:

◆ BENCHMARK() [17/25]

BENCHMARK ( SHA256D64_1024_SHANI )
Here is the call graph for this function:

◆ BENCHMARK() [18/25]

BENCHMARK ( SHA256D64_1024_SSE4 )
Here is the call graph for this function:

◆ BENCHMARK() [19/25]

BENCHMARK ( SHA256D64_1024_STANDARD )
Here is the call graph for this function:

◆ BENCHMARK() [20/25]

BENCHMARK ( SHA3_256_1M )
Here is the call graph for this function:

◆ BENCHMARK() [21/25]

BENCHMARK ( SHA512 )
Here is the call graph for this function:

◆ BENCHMARK() [22/25]

BENCHMARK ( SipHash13UJ_32b )
Here is the call graph for this function:

◆ BENCHMARK() [23/25]

BENCHMARK ( SipHash13UJ_36b )
Here is the call graph for this function:

◆ BENCHMARK() [24/25]

BENCHMARK ( SipHash24_32b )
Here is the call graph for this function:

◆ BENCHMARK() [25/25]

BENCHMARK ( SipHash24_36b )
Here is the call graph for this function:

◆ BenchRIPEMD160()

void BenchRIPEMD160 ( benchmark::Bench & bench)
static

Definition at line 25 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MuHash()

void MuHash ( benchmark::Bench & bench)
static

Definition at line 249 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MuHashDiv()

void MuHashDiv ( benchmark::Bench & bench)
static

Definition at line 271 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MuHashFinalize()

void MuHashFinalize ( benchmark::Bench & bench)
static

Definition at line 293 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MuHashMul()

void MuHashMul ( benchmark::Bench & bench)
static

Definition at line 260 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ MuHashPrecompute()

void MuHashPrecompute ( benchmark::Bench & bench)
static

Definition at line 282 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SHA1()

void SHA1 ( benchmark::Bench & bench)
static

Definition at line 34 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SHA256_32b_AVX2()

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:
Here is the caller graph for this function:

◆ SHA256_32b_SHANI()

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:
Here is the caller graph for this function:

◆ SHA256_32b_SSE4()

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:
Here is the caller graph for this function:

◆ SHA256_32b_STANDARD()

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:
Here is the caller graph for this function:

◆ SHA256_AVX2()

void SHA256_AVX2 ( benchmark::Bench & bench)
static

Definition at line 65 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SHA256_SHANI()

void SHA256_SHANI ( benchmark::Bench & bench)
static

Definition at line 76 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SHA256_SSE4()

void SHA256_SSE4 ( benchmark::Bench & bench)
static

Definition at line 54 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SHA256_STANDARD()

void SHA256_STANDARD ( benchmark::Bench & bench)
static

Definition at line 43 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SHA256D64_1024_AVX2()

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:
Here is the caller graph for this function:

◆ SHA256D64_1024_SHANI()

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:
Here is the caller graph for this function:

◆ SHA256D64_1024_SSE4()

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:
Here is the caller graph for this function:

◆ SHA256D64_1024_STANDARD()

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:
Here is the caller graph for this function:

◆ SHA3_256_1M()

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:
Here is the caller graph for this function:

◆ SHA512()

void SHA512 ( benchmark::Bench & bench)
static

Definition at line 184 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SipHash13UJ_32b()

void SipHash13UJ_32b ( benchmark::Bench & bench)
static

Definition at line 221 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SipHash13UJ_36b()

void SipHash13UJ_36b ( benchmark::Bench & bench)
static

Definition at line 234 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SipHash24_32b()

void SipHash24_32b ( benchmark::Bench & bench)
static

Definition at line 193 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ SipHash24_36b()

void SipHash24_36b ( benchmark::Bench & bench)
static

Definition at line 206 of file crypto_hash.cpp.

Here is the call graph for this function:
Here is the caller 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.