10 repositorios
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 es una biblioteca de microbenchmarking basada en estadísticas y una herramienta de regresión de rendimiento para Rust. Proporciona un framework para aislar y medir pequeños segmentos de código, utilizando análisis estadístico para eliminar el ruido y garantizar mediciones fiables y repetibles de la velocidad de ejecución. La herramienta destaca por su suite de visualización de rendimiento, que genera informes HTML y gráficos para seguir las tendencias de rendimiento y el throughput. Incluye un sistema para comparar los tiempos de ejecución actuales con líneas base almacenadas para identificar y prevenir caídas de rendimiento. La biblioteca cubre la medición de funciones asíncronas, benchmarking parametrizado para escalado de entrada y cálculo de throughput de código. También admite la integración de métricas de hardware personalizadas y contadores de procesador para capturar datos de bajo nivel durante las ejecuciones. La automatización es compatible mediante una interfaz de línea de comandos para el filtrado de benchmarks y un modo de validación para verificar la ejecución exitosa dentro de pipelines de integración continua.
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 es una herramienta de profiling visual para Python diseñada para identificar cuellos de botella en la ejecución y monitorear el consumo de memoria. Funciona como un profiler de CPU y memoria que transforma los datos de rendimiento en visualizaciones interactivas para analizar el tiempo de procesador y las pilas de llamadas (call stacks). El proyecto destaca por su conjunto de diagnósticos visuales, que incluyen flame graphs para la visualización de la pila y mapas de calor (heatmaps) que mapean la frecuencia y duración de la ejecución directamente sobre el código fuente. También incluye un monitor de rendimiento remoto capaz de capturar métricas específicas de funciones desde un servidor en ejecución y transmitir esos datos a una herramienta de visualización independiente. La herramienta cubre áreas de capacidad amplias, incluyendo profiling de CPU basado en muestreo, monitoreo de memoria a nivel de línea mediante el seguimiento del recolector de basura y persistencia de datos de perfil para análisis offline. Estas utilidades permiten auditar la eficiencia del código fuente e identificar fugas de memoria.
Provides a comprehensive suite for measuring execution time and identifying CPU bottlenecks in Python programs.
Segment Anything Fast es un motor de inferencia de visión artificial de alto rendimiento y un framework de segmentación de imágenes construido para PyTorch. Proporciona un entorno especializado para el aislamiento automatizado de objetos y la generación de máscaras, diseñado para procesar datasets visuales a gran escala con mayor rendimiento. El proyecto se distingue por una suite de estrategias de optimización a nivel de sistema que aceleran el rendimiento de modelos de deep learning. Mediante el uso de compilación de modelos basada en grafos, fusión de kernels just-in-time y cuantización consciente del hardware, reduce la latencia computacional y el uso de memoria. Estas técnicas se complementan con aritmética de precisión mixta y paralelismo de entrada por lotes, que permiten al motor saturar los recursos de hardware durante tareas de segmentación complejas. Más allá de sus capacidades principales de segmentación, la librería incluye herramientas de diagnóstico integradas para el perfilado de rendimiento de deep learning. Estas utilidades permiten a los usuarios monitorear patrones de asignación de memoria y capturar trazas de tiempo de ejecución, proporcionando visibilidad sobre los cuellos de botella del sistema durante el análisis de datos a gran escala.
Collects performance samples to help maximize GPU utilization in deep learning applications.