10 Repos
Performance analysis tools specifically designed to track CPU, GPU, and memory usage in Python applications.
Distinct from CPU Profilers: Distinct from general CPU profilers: focuses on multi-resource profiling specifically for the Python runtime.
Explore 10 awesome GitHub repositories matching development tools & productivity · Python Profilers. Refine with filters or upvote what's useful.
py-spy is a sampling profiler and process debugger for Python. It allows for the analysis of running processes to identify performance bottlenecks and diagnose hanging programs without requiring code changes or restarts. The tool operates by reading the memory of a running process from the outside, which enables non-invasive sampling and state collection without pausing execution. It can resolve binary symbols to capture performance data from native extensions written in compiled languages and generate visual flame graphs for both native extensions and subprocesses. The project provides capa
Identifies slow functions and execution bottlenecks in running Python programs without modifying source code.
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
Tracks CPU, GPU, and memory usage at the line level to identify bottlenecks in Python code.
VizTracer is a Python runtime instrumentation system and execution profiler used to trace and visualize code execution. It functions as a multi-process performance analyzer and trace visualizer, providing an interactive timeline and flamegraph interface to identify performance bottlenecks and analyze call sequences. The project distinguishes itself by its ability to aggregate execution data from multiple threads, subprocesses, and asynchronous tasks into a single unified report. It also features live process instrumentation, allowing users to attach to and detach from running Python applicati
Measures execution time and identifies bottlenecks in Python code using interactive timelines and flamegraphs.
pyinstrument is a statistical sampling profiler for Python that records the call stack at regular intervals to identify performance bottlenecks with low overhead. It tracks wall-clock time, including I/O and external service calls, and provides specialized profiling for asynchronous programs by attributing time spent awaiting tasks to the calling function. The project converts captured execution data into interactive HTML reports, JSON, and flamecharts. It includes a call stack visualizer to simplify the analysis of execution paths and supports the profiling of individual cells within interac
Identifies slow functions and bottlenecks in Python code by sampling the call stack and measuring wall-clock time.
This project is a collection of diagnostic tools designed for auditing IP quality, analyzing network stability, profiling server environments, and benchmarking hardware performance. It provides a suite of utilities to evaluate virtual private servers through hardware performance benchmarking and system environment diagnostics. The toolset includes a streaming service unlock checker to determine regional content access, an IP reputation audit tool for blacklist and geolocation verification, and a network quality analyzer for measuring latency and throughput. It covers broader capability areas
Gathers system specifications and hardware architecture to create a comprehensive summary of the server environment.
Enables profiling of applications running in containerized, cluster, or HPC environments with deployable standalone tools.
Criterion ist eine statistikbasierte Microbenchmarking-Bibliothek und ein Tool für Performance-Regressionen in Rust. Es bietet ein Framework zur Isolierung und Messung kleiner Code-Segmente und nutzt statistische Analysen, um Rauschen zu eliminieren und zuverlässige, wiederholbare Messungen der Ausführungsgeschwindigkeit zu gewährleisten. Das Tool zeichnet sich durch eine Performance-Visualisierungssuite aus, die HTML-Berichte und Diagramme generiert, um Leistungstrends und Durchsatz zu verfolgen. Es enthält ein System zum Vergleich aktueller Ausführungszeiten mit gespeicherten Baselines, um Leistungsabfälle zu identifizieren und zu verhindern. Die Bibliothek deckt die Messung asynchroner Funktionen, parametrisiertes Benchmarking für Input-Skalierung und die Berechnung des Code-Durchsatzes ab. Sie unterstützt zudem die Integration benutzerdefinierter Hardware-Metriken und Prozessor-Counter, um Low-Level-Daten während der Läufe zu erfassen. Die Automatisierung wird über eine CLI für das Filtern von Benchmarks und einen Validierungsmodus zur Überprüfung der erfolgreichen Ausführung innerhalb von CI-Pipelines unterstützt.
Tracks execution time and throughput specifically for asynchronous Rust functions and their runtimes.
This project is a diagnostic utility for monitoring and analyzing memory consumption in Python applications. It provides tools for tracking resource usage at the process level and performing detailed, line-by-line analysis to identify memory leaks and performance bottlenecks. The tool distinguishes itself through its ability to aggregate memory metrics across entire process trees, capturing the total resource impact of both parent and child processes. It supports time-series visualization of memory usage over the duration of a script, allowing for the identification of long-term consumption p
Measures the memory footprint of Python scripts over time to detect performance bottlenecks and resource spikes.
vprof ist ein visuelles Profiling-Tool für Python, das entwickelt wurde, um Engpässe bei der Ausführung zu identifizieren und den Speicherverbrauch zu überwachen. Es fungiert als CPU- und Speicher-Profiler, der Leistungsdaten in interaktive Visualisierungen umwandelt, um Prozessorzeit und Call-Stacks zu analysieren. Das Projekt zeichnet sich durch eine Reihe visueller Diagnosen aus, darunter Flame Graphs zur Stack-Visualisierung und Heatmaps, die Ausführungshäufigkeit und -dauer direkt auf den Quellcode abbilden. Es enthält zudem einen Remote-Performance-Monitor, der funktionsspezifische Metriken von einem laufenden Server erfassen und diese Daten an ein separates Visualisierungstool streamen kann. Das Tool deckt breite Funktionsbereiche ab, darunter sampling-basiertes CPU-Profiling, zeilenweises Speicher-Monitoring durch Garbage-Collector-Tracking sowie die Persistenz von Profildaten für die Offline-Analyse. Diese Dienstprogramme ermöglichen die Prüfung der Effizienz des Quellcodes und die Identifizierung von Speicherlecks.
Provides a comprehensive suite for measuring execution time and identifying CPU bottlenecks in Python programs.
Segment Anything Fast is a high-performance computer vision inference engine and image segmentation framework built for PyTorch. It provides a specialized environment for automated object isolation and mask generation, designed to process large-scale visual datasets with increased throughput. The project distinguishes itself through a suite of system-level optimization strategies that accelerate deep learning model performance. By utilizing graph-based model compilation, just-in-time kernel fusion, and hardware-aware quantization, it reduces computational latency and memory footprint. These t
Collects performance samples to help maximize GPU utilization in deep learning applications.