Skip to content

project uses Google Benchmark to test few intrinsics implementations (AVX and AVX2) against MSVC max optimizations

Notifications You must be signed in to change notification settings

SleepingSoul/intrinsics-benchmark

Repository files navigation

intrinsics-benchmark

Project uses Google Benchmark to test few intrinsics implementations agains MSVC max optimizations with /arch:AVX2. Instruction sets that are used in these examples are AVX and AVX2.

Example of running this benchmark on my PC (with Intel i7-10700k): Example

In examples I use 3 simple operations:

  1. Transform 32 chars to 32 normalized floats;
  2. Transform 32 int16s to 32 normalized floats;
  3. Transform 32 int32s to 32 normalized floats.

Building and launching

  1. You need Visual Studio 2022 (it might also work on older versions)
  2. Recursivly clone this repository (it contains subrepo vcpkg);
  3. Go to external/vcpkg and run 'bootstrap-vcpkg.bat';
  4. Run 'vcpkg install benchmark:x64-windows benchmark:x86-windows';
  5. Now you should be able to build and launch the program in any configuration;
  6. Tweak '/arch' setting in Project Settings depending on your CPU instruction set and/or add '_DEBUGMODE' macro if you don't want to run benchmark but do your own things in the main function instead.

Build status (Visual Studio 2022)

Release x64 - Release x64

Debug x64 - Debug x64

Release x86 - Release x86

Debug x86 - Debug x86

About

project uses Google Benchmark to test few intrinsics implementations (AVX and AVX2) against MSVC max optimizations

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages