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

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

98 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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%