17 std::vector<uint8_t> v =
ParseHex(
"c97f5a67ec381b760aeaf67573bc164845ff39a3bb26a1cee401ac67243b48db");
18 std::vector<unsigned char> tmp = {0};
19 tmp.reserve(1 + 32 * 8 / 5);
20 ConvertBits<8, 5, true>([&](
unsigned char c) { tmp.push_back(c); }, v.begin(), v.end());
21 bench.
batch(v.size()).unit(
"byte").
run([&] {
29 std::string addr =
"bc1qkallence7tjawwvy0dwt4twc62qjgaw8f4vlhyd006d99f09";
30 bench.
batch(addr.size()).unit(
"byte").
run([&] {
Bech32 encoding as defined in BIP173.
std::vector< unsigned char > ParseHex(const char *psz)
std::string Encode(Encoding encoding, const std::string &hrp, const data &values)
Encode a Bech32 or Bech32m string.
Bench & run(char const *benchmarkName, Op &&op)
Repeatedly calls op() based on the configuration, and performs measurements.
DecodeResult Decode(const std::string &str)
Decode a Bech32 or Bech32m string.
static void Bech32Encode(benchmark::Bench &bench)
Main entry point to nanobench's benchmarking facility.
static void Bech32Decode(benchmark::Bench &bench)
ANKERL_NANOBENCH(NODISCARD) std Bench & batch(T b) noexcept
Sets the batch size.