Project
Loading...
Searching...
No Matches
bench_ransStreaming.cxx File Reference

benchmarks streaming out data from rANS state to memory More...

#include "rANS/internal/common/defines.h"
#include <vector>
#include <cstring>
#include <random>
#include <algorithm>
#include <iterator>
#include <benchmark/benchmark.h>
#include "rANS/factory.h"
#include "rANS/histogram.h"
#include "rANS/internal/common/utils.h"
#include "rANS/internal/common/simdtypes.h"
#include "rANS/internal/common/simdops.h"
#include "rANS/internal/encode/simdKernel.h"

Go to the source code of this file.

Classes

class  RenormingData< source_T >
 
struct  Fixture< source_T >
 

Typedefs

using count_t = uint32_t
 
using ransState_t = uint64_t
 
using stream_t = uint32_t
 

Functions

template<typename T >
const auto & getData ()
 
template<typename stream_IT >
std::tuple< ransState_t, stream_IT > renorm (ransState_t state, stream_IT outputIter, count_t frequency, size_t symbolTablePrecision)
 
 BENCHMARK_REGISTER_F (Fixture, renorm_8)
 
 BENCHMARK_REGISTER_F (Fixture, renorm_16)
 
 BENCHMARK_REGISTER_F (Fixture, renorm_32)
 
 BENCHMARK_MAIN ()
 

Variables

constexpr size_t MessageSize = 1ull << 22
 
constexpr size_t LowerBound = 1ul << 20
 
constexpr size_t StreamBits = toBits<stream_t>()
 
const RenormingData< uint8_t > Data8 (MessageSize)
 
const RenormingData< uint16_t > Data16 (MessageSize)
 
const RenormingData< uint32_t > Data32 (MessageSize)
 
benchmark::State & st
 

Detailed Description

benchmarks streaming out data from rANS state to memory

Author
Michael Lettrich

Definition in file bench_ransStreaming.cxx.

Typedef Documentation

◆ count_t

using count_t = uint32_t

Definition at line 41 of file bench_ransStreaming.cxx.

◆ ransState_t

using ransState_t = uint64_t

Definition at line 42 of file bench_ransStreaming.cxx.

◆ stream_t

using stream_t = uint32_t

Definition at line 43 of file bench_ransStreaming.cxx.

Function Documentation

◆ BENCHMARK_MAIN()

BENCHMARK_MAIN ( )

◆ BENCHMARK_REGISTER_F() [1/3]

BENCHMARK_REGISTER_F ( Fixture  ,
renorm_16   
)

◆ BENCHMARK_REGISTER_F() [2/3]

BENCHMARK_REGISTER_F ( Fixture  ,
renorm_32   
)

◆ BENCHMARK_REGISTER_F() [3/3]

BENCHMARK_REGISTER_F ( Fixture  ,
renorm_8   
)

◆ getData()

template<typename T >
const auto & getData ( )

Definition at line 99 of file bench_ransStreaming.cxx.

◆ renorm()

template<typename stream_IT >
std::tuple< ransState_t, stream_IT > renorm ( ransState_t  state,
stream_IT  outputIter,
count_t  frequency,
size_t  symbolTablePrecision 
)
inline

Definition at line 186 of file bench_ransStreaming.cxx.

Variable Documentation

◆ Data16

const RenormingData< uint16_t > Data16(MessageSize) ( MessageSize  )

◆ Data32

const RenormingData< uint32_t > Data32(MessageSize) ( MessageSize  )

◆ Data8

const RenormingData< uint8_t > Data8(MessageSize) ( MessageSize  )

◆ LowerBound

constexpr size_t LowerBound = 1ul << 20
inlineconstexpr

Definition at line 50 of file bench_ransStreaming.cxx.

◆ MessageSize

constexpr size_t MessageSize = 1ull << 22
inlineconstexpr

Definition at line 49 of file bench_ransStreaming.cxx.

◆ st

benchmark::State& st
Initial value:
{
ransRenormingBenchmark(st, *this)
benchmark::State & st

Definition at line 251 of file bench_ransStreaming.cxx.

◆ StreamBits

constexpr size_t StreamBits = toBits<stream_t>()
inlineconstexpr

Definition at line 51 of file bench_ransStreaming.cxx.