소스 검색

Add 'main.cpp'

master
Archivist 2 년 전
부모
커밋
cad26409f0
1개의 변경된 파일55개의 추가작업 그리고 0개의 파일을 삭제
  1. +55
    -0
      main.cpp

+ 55
- 0
main.cpp 파일 보기

@ -0,0 +1,55 @@
#include <iostream>
#include "ChaPRNG.h"
#include <benchmark/benchmark.h>
#include <chrono>
#include <random>
using namespace std::chrono_literals;
template<int T, bool u, bool v>
static void PRNGBuild(benchmark::State& state) {
std::random_device dev;
std::array<uint32_t,12> seed{
dev(),dev(),dev(),dev(),
dev(),dev(),dev(),dev(),
dev(),dev(),dev(),dev()
};
ChaPRNG<T,u,v> prng(seed);
for(auto _ : state)
prng();
}
BENCHMARK(PRNGBuild<8, false, false>);
BENCHMARK(PRNGBuild<12, false, false>);
BENCHMARK(PRNGBuild<16, false, false>);
BENCHMARK(PRNGBuild<20, false, false>);
BENCHMARK(PRNGBuild<8, true, false>);
BENCHMARK(PRNGBuild<12, true, false>);
BENCHMARK(PRNGBuild<16, true, false>);
BENCHMARK(PRNGBuild<20, true, false>);
BENCHMARK(PRNGBuild<8, false, true>);
BENCHMARK(PRNGBuild<12, false, true>);
BENCHMARK(PRNGBuild<16, false, true>);
BENCHMARK(PRNGBuild<20, false, true>);
BENCHMARK(PRNGBuild<4, true, true>);
BENCHMARK(PRNGBuild<6, true, true>);
BENCHMARK(PRNGBuild<8, true, true>);
BENCHMARK(PRNGBuild<12, true, true>);
BENCHMARK(PRNGBuild<16, true, true>);
BENCHMARK(PRNGBuild<20, true, true>);
static void std_mtPRNGBuild(benchmark::State& state) {
std::random_device dev;
std::mt19937 prng(dev());
for(auto _ : state)
prng();
}
BENCHMARK(std_mtPRNGBuild);
BENCHMARK_MAIN();

불러오는 중...
취소
저장