Skip to content

A collection of eclectic tools for measuring performance using the cycle counter and pinning threads.

License

Notifications You must be signed in to change notification settings

megaeth-labs/PerfUtils

This branch is 2 commits ahead of PlatformLab/PerfUtils:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c69ebc9 · Jul 29, 2024

History

98 Commits
Aug 15, 2018
Aug 15, 2018
Jul 16, 2017
Apr 2, 2018
Jul 19, 2024
Jul 11, 2017
Apr 16, 2019
Oct 24, 2017
Aug 15, 2018
Jul 29, 2024

Repository files navigation

Peformance Utilities

PerfUtils is a low-overhead library for doing performance analysis of highly-performant software systems running on x86_64.

How to Use It

  1. Clone the repository.

    
    git clone https://github.com/megaeth-labs/PerfUtils.git
    
  2. Build the library.

     pushd PerfUtils
     make
     popd
    
  3. Instrument your application, including the header files for the utilities you would like to use, with a PerfUtils prefix.

     #include "PerfUtils/TimeTrace.h"
    
     using PerfUtils::TimeTrace;
    
     int main(){
        TimeTrace::record("Start of execution");
        uint64_t sum = 0;
        for (int i = 0; i < (1 << 20); i++) {
            sum += i;
        }
        TimeTrace::record("End of a counting loop");
        TimeTrace::record("Hello world");
        TimeTrace::print();
     }
    
  4. Build and link against PerfUtils.

     g++ -o Main -Ipath/to/PerfUtils/include -std=c++0x Main.cc  -Lpath/to/PerfUtils/lib -lPerfUtils
    

About

A collection of eclectic tools for measuring performance using the cycle counter and pinning threads.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 68.9%
  • Python 13.3%
  • C 9.3%
  • CMake 3.6%
  • Makefile 3.3%
  • Shell 1.6%