10 repository-uri
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 este o bibliotecă de microbenchmarking bazată pe statistici și un instrument de regresie a performanței pentru Rust. Oferă un framework pentru izolarea și măsurarea segmentelor mici de cod, utilizând analiza statistică pentru a elimina zgomotul și a asigura măsurători fiabile și repetabile ale vitezei de execuție. Instrumentul se distinge printr-o suită de vizualizare a performanței care generează rapoarte HTML și grafice pentru a urmări tendințele de performanță și throughput-ul. Include un sistem pentru compararea timpilor de execuție actuali cu bazele de referință stocate pentru a identifica și preveni scăderile de performanță. Biblioteca acoperă măsurarea funcțiilor asincrone, benchmarking-ul parametrizat pentru scalarea input-ului și calculul throughput-ului codului. De asemenea, suportă integrarea metricilor hardware personalizate și a contoarelor de procesor pentru a captura date de nivel scăzut în timpul rulărilor. Automatizarea este susținută printr-o interfață CLI pentru filtrarea benchmark-urilor și un mod de validare pentru verificarea execuției reușite în pipeline-urile CI.
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 este un instrument de vizualizare pentru Python, conceput pentru a identifica blocajele de execuție și a monitoriza consumul de memorie. Acesta funcționează ca un profiler de CPU și memorie, transformând datele de performanță în vizualizări interactive pentru a analiza timpul procesorului și stivele de apeluri (call stacks). Proiectul se remarcă printr-o suită de diagnostice vizuale, incluzând flame graphs pentru vizualizarea stivei și hărți termice (heatmaps) care mapează frecvența și durata execuției direct pe codul sursă. Include, de asemenea, un monitor de performanță la distanță, capabil să captureze metrici specifice funcțiilor de pe un server activ și să transmită acele date către un instrument de vizualizare separat. Instrumentul acoperă arii largi de capabilități, inclusiv profilarea CPU bazată pe eșantionare, monitorizarea memoriei la nivel de linie prin urmărirea garbage collector-ului și persistența datelor de profil pentru analiză offline. Aceste utilitare permit auditarea eficienței codului sursă și identificarea scurgerilor de memorie.
Provides a comprehensive suite for measuring execution time and identifying CPU bottlenecks in Python programs.
Segment Anything Fast este un motor de inferență de viziune computerizată de înaltă performanță și un framework de segmentare a imaginilor construit pentru PyTorch. Oferă un mediu specializat pentru izolarea automată a obiectelor și generarea de măști, conceput pentru a procesa seturi de date vizuale la scară largă cu un throughput crescut. Proiectul se distinge printr-o suită de strategii de optimizare la nivel de sistem care accelerează performanța modelelor de deep learning. Prin utilizarea compilării modelelor bazate pe grafuri, fuziunii kernel-urilor just-in-time și cuantificării conștiente de hardware, reduce latența computațională și amprenta de memorie. Aceste tehnici sunt completate de aritmetica cu precizie mixtă și paralelismul input-urilor batch, care permit motorului să satureze resursele hardware în timpul sarcinilor complexe de segmentare. Dincolo de capabilitățile sale de bază de segmentare, biblioteca include instrumente de diagnosticare integrate pentru profilarea performanței deep learning. Aceste utilitare permit utilizatorilor să monitorizeze tiparele de alocare a memoriei și să captureze urme de sincronizare a execuției, oferind vizibilitate asupra blocajelor sistemului în timpul analizei datelor la scară largă.
Collects performance samples to help maximize GPU utilization in deep learning applications.