/pcmtimer

Algorithm Runtime Measurer

Primary LanguageC++

pcmtimer - Algorithm Runtime Measurer

A template for timing algorithm runtimes, measuring cache hit ratios with Intel PCM library.

The template provides a modular system, there is an algorithm runner, which provides timing and random numbers for the algorithms to use and algorithms themselves are provided as modules, so from the main code, you can modify what algorithm to run by changing the argument you give to the runner.

The goal of this code is to check if the cache hit ratios are the culprit of having out-of-runtime execution times, meaning that it is observed that sometimes, for any algorithm, we don't get the expected runtime for an arbitrary n number of elements.

This code is provided as my and my coursemates' bachelor's thesis work at Kutaisi International University. Paper is yet unlisted; hope to be published soon.

Requirements

  • Windows operating system (preferably > 10)
  • PC with an Intel CPU (mandatory), since the Intel PCM library is specialized for Intel's CPUs.

Installation

  • Follow these instructions first.
  • Clone the repository recursively using the git clone --recursive command.
  • Open the project using your IDE of choice (which has a way to build using CMake).
  • Build the project.
  • Run the pcmtimer.exe from the {project_root}/bin/{config}/ directory with administrator privilleges.

Credits