22 Repos
Tools for profiling, tracing, and benchmarking software performance in parallel environments.
Explore 22 awesome GitHub repositories matching part of an awesome list · Performance Analysis Tools. Refine with filters or upvote what's useful.
Hyperfine is a command-line benchmarking tool used to measure the execution time of shell commands through multiple runs and statistical analysis. It functions as a comparative benchmarking utility and a shell performance analyzer, allowing for the evaluation of multiple commands against a reference baseline to determine relative speed. The tool distinguishes itself by isolating actual command performance through shell overhead correction and the ability to bypass the shell entirely using system calls. It supports parameterized execution, enabling benchmarks to run across a range of varying i
Command-line benchmarking tool with statistical analysis.
Scalene is a high-performance diagnostic utility designed to measure resource consumption during the execution of Python applications. It functions as a line-level monitor, providing granular insights that pinpoint the specific source code responsible for performance overhead. The tool distinguishes itself through statistical profiling that captures stack traces and resource usage without requiring manual instrumentation of the source code. It tracks CPU, GPU, and memory consumption by intercepting library-level calls and hardware driver commands, allowing for the analysis of both managed and
High-precision CPU, GPU, and memory profiler for Python.
This project is a performance measurement framework and microbenchmarking library designed for C++ and Python. It provides a toolset for measuring the execution time of small code fragments using high-resolution timers, calculating statistical aggregates, and analyzing asymptotic complexity. The framework distinguishes itself through specialized capabilities for multithreaded performance testing, using synchronized execution to measure parallel throughput. It includes mechanisms to prevent compiler optimizations from removing benchmarked code and supports complex parameterization via Cartesia
Microbenchmark support library for tracking C++ performance.
Speedscope is a web-based performance profiler that visualizes profiling data through interactive flamegraphs and timeline views. It ingests performance profiles from a wide range of sources, including Chrome, Firefox, Safari, Node.js, .NET Core, Instruments, Hermes, GHC, and Ruby, normalizing them into a common schema for unified analysis. The tool distinguishes itself with a canvas-based rendering engine that draws flamegraphs without DOM nodes for each frame, and a WebAssembly-based rendering pipeline for high-performance drawing. It offers left-heavy stack sorting to surface the most time
Interactive web-based viewer for performance profiles.
Hotspot ist eine grafische Benutzeroberfläche zur Analyse und Visualisierung von Performance-Daten, die mit dem Linux-Tool perf erfasst wurden. Es fungiert als Performance-Profiling-Visualisierer und Assembly-Level-Profiler, der Performance-Kosten auf spezifische Instruktionen abbildet, die mit dem ursprünglichen Quellcode synchronisiert sind. Das Projekt zeichnet sich durch einen Remote-Symbol-Resolver aus, der Performance-Daten von eingebetteten Zielen auf lokale Host-Debug-Symbole und Sysroots abbildet. Es enthält zudem ein spezialisiertes Off-CPU-Analysetool, das entwickelt wurde, um Thread-Wartezeiten und I/O-Blöcke mithilfe von Kernel-Scheduler-Tracepoints zu identifizieren. Das Tool deckt ein breites Spektrum an Performance-Analysefunktionen ab, einschließlich CPU-Profiling, Low-Level-Code-Inspektion und zeitlinienbasierter Datenfilterung. Es bietet Visualisierungsmethoden wie Flame-Graphs und Call-Graphs, um Systemengpässe und inlinte Funktionen zu identifizieren. Das System unterstützt die Datenaufzeichnung durch das Starten von Profiling-Tools für neue Anwendungen oder das Anhängen an bestehende Prozesse und ermöglicht den Export analysierter Performance-Profile in portable Formate für den Austausch zwischen Maschinen.
Linux perf GUI for performance analysis and visualization.
Bytehound ist ein Linux-Speicher-Profiler, der einen benutzerdefinierten globalen Allocator verwendet, um Speicheranfragen abzufangen und Allokationen sowie Deallokationen zu verfolgen. Er zeichnet vollständige Call-Stack-Traces für jede Speicheroperation auf, um Allokationen auf ihren ursprünglichen Quellcode zurückzuführen. Das Projekt bietet ein Remote-Speicher-Profiling-System, das Erfassungsdaten über Netzwerk-Sockets an eine separate Maschine streamt, um den Ressourcen-Overhead auf dem Zielsystem zu minimieren. Die Analyse wird durch eine spezialisierte domänenspezifische Abfragesprache unterstützt, die zur Automatisierung der Erkennung von Speichermustern und Anomalien verwendet wird. Das Tool deckt Heap-Allokationsanalysen zur Identifizierung von Leaks und Fragmentierung ab sowie Laufzeit-Introspektion zur Überwachung und Optimierung von Allocator-Zuständen. Daten können exportiert und durch einen webbasierten Visualisierer gerendert werden, um grafische Darstellungen der Speichernutzung und Allokationsmuster bereitzustellen.
Detailed memory profiler for tracking leaks and issues.
The Phoronix Test Suite is the most comprehensive testing and benchmarking platform available for Linux, Solaris, macOS, Windows, and BSD operating systems. The Phoronix Test Suite allows for carrying out tests in a fully automated manner from test installation to execution and reporting. All…
Comprehensive benchmarking suite for Linux systems.
This is the stress-ng upstream project git repository. stress-ng will stress test a computer system in various selectable ways. It was designed to exercise various physical subsystems of a computer as well as the various operating system kernel interfaces.
Versatile tool for stressing computer subsystems.
pmu tools is a collection of tools and libraries for profile collection and performance analysis on Intel CPUs on top of Linux perf. This uses performance counters in the CPU.
Performance monitoring tools for Intel CPUs.
Profiler for both Python and C++ applications.
KDiskMark is an HDD and SSD benchmark tool with a very friendly graphical user interface. KDiskMark with its presets and powerful GUI calls Flexible I/O Tester and handles the output to provide an easy to view and interpret comprehensive benchmark result. The application is written in C++ with…
Benchmarking tool for SSD and HDD drives.
Measuring CPU core-to-core latency
Diagnostic tool for measuring latency between CPU cores.
The purpose of this benchmark tool is to evaluate performance bounds of GPUs (or CPUs) on mixed operational intensity kernels. The executed kernel is customized on a range of different operational intensity values. Modern GPUs are able to hide memory latency by switching execution to threads…
Benchmark suite for CPU and GPU compute operations.
Caliper: A Performance Analysis Toolbox in a Library
Performance analysis toolbox implemented as a library.
Simple benchmark for memory throughput and latency
Memory bandwidth and latency benchmark tool.
A small OpenCL benchmark program to measure peak GPU/CPU performance.
Cross-platform benchmark for GPU and CPU hardware.
.. image:: https://github.com/RRZE-HPC/kerncraft/blob/master/doc/logo/logo-lightbg.svg
Analytical modeling of loop performance and cache behavior.
This is a collection of simple streaming kernels. Its primary purpose is to measure the maximum sustained main memory bandwidth of CPU and GPU systems. It also offers a mode to measure the complete memory hierarchy using sequential or parallel throughput execution. You may want to take a look at…
Tool for measuring memory bandwidth across systems.
DemonSpawn is a tool for quickly firing off a large number of SLURM jobs.
Automated execution framework for benchmarks and simulations.
Vftrace (visual ftrace) is a performance profiling library with a focus on applications in high-performance computing (HPC). It is compatible with C, C++, and Fortran. Vftrace produces an overview of the function calls appearing during an application's runtime and registers performance metrics…
Tracing tool for vector engine performance analysis.