RawSpeed
fast raw decoding library
Loading...
Searching...
No Matches
VariableLengthLoadBenchmark.cpp File Reference
#include "adt/VariableLengthLoad.h"
#include "adt/Array1DRef.h"
#include "adt/Casts.h"
#include "adt/Invariant.h"
#include "bench/Common.h"
#include "common/Common.h"
#include <array>
#include <cstddef>
#include <cstdint>
#include <vector>
#include <benchmark/benchmark.h>
Include dependency graph for VariableLengthLoadBenchmark.cpp:

Go to the source code of this file.

Namespaces

namespace  rawspeed
namespace  rawspeed::anonymous_namespace{VariableLengthLoadBenchmark.cpp}
namespace  anonymous_namespace{VariableLengthLoadBenchmark.cpp}

Macros

#define GEN(I, T)
#define GEN_CALLABLE(I)
#define GEN_TIME()
#define GEN_WRAPPER(I)
#define GEN_WRAPPER(I)

Functions

void rawspeed::anonymous_namespace{VariableLengthLoadBenchmark.cpp}::fixedLengthLoad (Array1DRef< std::byte > out, Array1DRef< const std::byte > in, int inPos)
template<decltype(fixedLengthLoad) Callable>
void rawspeed::anonymous_namespace{VariableLengthLoadBenchmark.cpp}::fixedLengthLoadOr (rawspeed::Array1DRef< std::byte > out, rawspeed::Array1DRef< const std::byte > in, int inPos)
template<decltype(variableLengthLoadNaiveViaMemcpy) Impl, typename T>
void anonymous_namespace{VariableLengthLoadBenchmark.cpp}::BM_Impl (benchmark::State &state)
void anonymous_namespace{VariableLengthLoadBenchmark.cpp}::CustomArguments (benchmark::internal::Benchmark *b)
 anonymous_namespace{VariableLengthLoadBenchmark.cpp}::GEN_TIME ()
 BENCHMARK_MAIN ()
void anonymous_namespace{VariableLengthLoadBenchmark.cpp}::variableLengthLoad (const Array1DRef< std::byte > out, Array1DRef< const std::byte > in, int inPos)
void anonymous_namespace{VariableLengthLoadBenchmark.cpp}::variableLengthLoadNaiveViaConditionalLoad (Array1DRef< std::byte > out, Array1DRef< const std::byte > in, int inPos)
void anonymous_namespace{VariableLengthLoadBenchmark.cpp}::variableLengthLoadNaiveViaMemcpy (Array1DRef< std::byte > out, Array1DRef< const std::byte > in, int inPos)

Macro Definition Documentation

◆ GEN

#define GEN ( I,
T )
Value:
BENCHMARK(BM_Impl<I, T>)->Apply(CustomArguments)
BENCHMARK(BM_MD5) -> Apply(CustomArguments)

Definition at line 140 of file VariableLengthLoadBenchmark.cpp.

◆ GEN_CALLABLE

#define GEN_CALLABLE ( I)
Value:
GEN(I, uint8_t); \
GEN(I, uint16_t); \
GEN(I, uint32_t); \
GEN(I, uint64_t)

Definition at line 142 of file VariableLengthLoadBenchmark.cpp.

◆ GEN_TIME

#define GEN_TIME ( )
Value:
GEN_CALLABLE(GEN_WRAPPER(fixedLengthLoad)); \
GEN_CALLABLE(GEN_WRAPPER(variableLengthLoad)); \
GEN_CALLABLE(GEN_WRAPPER(variableLengthLoadNaiveViaConditionalLoad)); \
GEN_CALLABLE(GEN_WRAPPER(variableLengthLoadNaiveViaMemcpy))
#define GEN_WRAPPER(I)
#define GEN_CALLABLE(I)

Definition at line 148 of file VariableLengthLoadBenchmark.cpp.

◆ GEN_WRAPPER [1/2]

#define GEN_WRAPPER ( I)
Value:
fixedLengthLoadOr<I>

Definition at line 155 of file VariableLengthLoadBenchmark.cpp.

◆ GEN_WRAPPER [2/2]

#define GEN_WRAPPER ( I)
Value:
I

Definition at line 155 of file VariableLengthLoadBenchmark.cpp.

Function Documentation

◆ BENCHMARK_MAIN()

BENCHMARK_MAIN ( )