Skip to content
Snippets Groups Projects
Select Git revision
  • 35b0cf3117b4bab14fe536252a0ef17dffa753ff
  • main default protected
  • test_convolution
  • add_memory_tests
  • multi-matrix-multiply
  • add_precompiled_assemply
  • remove_unused_code
7 results

hermitian_square.cpp

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    hermitian_square.cpp 1005 B
    #include <benchmark/benchmark.h>
    #include <hermitian_square.h>
    
    #include <iostream>
    
    namespace {
    
    class InitializeInput : public benchmark::Fixture {
     public:
      void SetUp(::benchmark::State& state) {
        A = std::make_unique<aocommon::Matrix4x4>();
        InitializeInput(*A);
      }
      void TearDown(::benchmark::State& state) { A.reset(); }
    
      std::unique_ptr<aocommon::Matrix4x4> A;
    };
    }  // namespace
    
    // Reference standard
    BENCHMARK_F(InitializeInput, HermitianSquare)
    (benchmark::State& state) {
      for (auto _ : state) {
        HermitianSquare(*A);
      }
    }
    
    BENCHMARK_F(InitializeInput, HermitianSquareRefactored)
    (benchmark::State& state) {
      for (auto _ : state) {
        HermitianSquareRefactored(*A);
      }
    }
    
    BENCHMARK_F(InitializeInput, HermitianSquareNaiveSIMD)
    (benchmark::State& state) {
      for (auto _ : state) {
        HermitianSquareNaiveSIMD(*A);
      }
    }
    
    BENCHMARK_F(InitializeInput, HermitianSquareNaiveSIMDv2)
    (benchmark::State& state) {
      for (auto _ : state) {
        HermitianSquareNaiveSIMDv2(*A);
      }
    }