Project
Loading...
Searching...
No Matches
bench_ransHistogram.cxx File Reference
#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/internal/containers/DenseHistogram.h"
#include "rANS/internal/containers/AdaptiveHistogram.h"
#include "helpers.h"

Go to the source code of this file.

Classes

class  SourceMessageProxyBinomial< source_T >
 
class  SourceMessageProxyUniform< source_T >
 

Functions

template<class... Args>
void ransMakeHistogramBenchmark (benchmark::State &st, Args &&... args)
 
template<class... Args>
void ransAccessHistogramBenchmark (benchmark::State &st, Args &&... args)
 
 BENCHMARK_CAPTURE (ransMakeHistogramBenchmark, makeHistogram_Vector_binomial_32, std::reference_wrapper(sourceMessageBinomial32), DenseHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransMakeHistogramBenchmark, makeHistogram_Vector_uniform_32, std::reference_wrapper(sourceMessageUniform32), DenseHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransMakeHistogramBenchmark, makeHistogram_SparseVector_binomial_32, std::reference_wrapper(sourceMessageBinomial32), AdaptiveHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransMakeHistogramBenchmark, makeHistogram_SparseVector_uniform_32, std::reference_wrapper(sourceMessageUniform32), AdaptiveHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransAccessHistogramBenchmark, accessHistogram_Vector_binomial_32, std::reference_wrapper(sourceMessageBinomial32), DenseHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransAccessHistogramBenchmark, accessHistogram_Vector_uniform_32, std::reference_wrapper(sourceMessageUniform32), DenseHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransAccessHistogramBenchmark, accessHistogram_SparseVector_binomial_32, std::reference_wrapper(sourceMessageBinomial32), AdaptiveHistogram< uint32_t >{})
 
 BENCHMARK_CAPTURE (ransAccessHistogramBenchmark, accessHistogram_SparseVector_uniform_32, std::reference_wrapper(sourceMessageUniform32), AdaptiveHistogram< uint32_t >{})
 
 BENCHMARK_MAIN ()
 

Variables

constexpr size_t MessageSize = 1ull << 22
 
SourceMessageProxyBinomial< uint32_t > sourceMessageBinomial32 {}
 
SourceMessageProxyUniform< uint32_t > sourceMessageUniform32 {}
 

Function Documentation

◆ BENCHMARK_CAPTURE() [1/8]

BENCHMARK_CAPTURE ( ransAccessHistogramBenchmark  ,
accessHistogram_SparseVector_binomial_32  ,
std::reference_wrapper(sourceMessageBinomial32 ,
AdaptiveHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [2/8]

BENCHMARK_CAPTURE ( ransAccessHistogramBenchmark  ,
accessHistogram_SparseVector_uniform_32  ,
std::reference_wrapper(sourceMessageUniform32 ,
AdaptiveHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [3/8]

BENCHMARK_CAPTURE ( ransAccessHistogramBenchmark  ,
accessHistogram_Vector_binomial_32  ,
std::reference_wrapper(sourceMessageBinomial32 ,
DenseHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [4/8]

BENCHMARK_CAPTURE ( ransAccessHistogramBenchmark  ,
accessHistogram_Vector_uniform_32  ,
std::reference_wrapper(sourceMessageUniform32 ,
DenseHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [5/8]

BENCHMARK_CAPTURE ( ransMakeHistogramBenchmark  ,
makeHistogram_SparseVector_binomial_32  ,
std::reference_wrapper(sourceMessageBinomial32 ,
AdaptiveHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [6/8]

BENCHMARK_CAPTURE ( ransMakeHistogramBenchmark  ,
makeHistogram_SparseVector_uniform_32  ,
std::reference_wrapper(sourceMessageUniform32 ,
AdaptiveHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [7/8]

BENCHMARK_CAPTURE ( ransMakeHistogramBenchmark  ,
makeHistogram_Vector_binomial_32  ,
std::reference_wrapper(sourceMessageBinomial32 ,
DenseHistogram< uint32_t >{}   
)

◆ BENCHMARK_CAPTURE() [8/8]

BENCHMARK_CAPTURE ( ransMakeHistogramBenchmark  ,
makeHistogram_Vector_uniform_32  ,
std::reference_wrapper(sourceMessageUniform32 ,
DenseHistogram< uint32_t >{}   
)

◆ BENCHMARK_MAIN()

BENCHMARK_MAIN ( )

◆ ransAccessHistogramBenchmark()

template<class... Args>
void ransAccessHistogramBenchmark ( benchmark::State &  st,
Args &&...  args 
)

Definition at line 163 of file bench_ransHistogram.cxx.

◆ ransMakeHistogramBenchmark()

template<class... Args>
void ransMakeHistogramBenchmark ( benchmark::State &  st,
Args &&...  args 
)

Definition at line 109 of file bench_ransHistogram.cxx.

Variable Documentation

◆ MessageSize

constexpr size_t MessageSize = 1ull << 22
inlineconstexpr

Definition at line 41 of file bench_ransHistogram.cxx.

◆ sourceMessageBinomial32

SourceMessageProxyBinomial<uint32_t> sourceMessageBinomial32 {}
inline

Definition at line 74 of file bench_ransHistogram.cxx.

◆ sourceMessageUniform32

SourceMessageProxyUniform<uint32_t> sourceMessageUniform32 {}
inline

Definition at line 106 of file bench_ransHistogram.cxx.