29 dépôts
Diagnostic tools for runtime analysis that trace method execution and visualize performance metrics.
Explore 29 awesome GitHub repositories matching testing & quality assurance · Execution Profilers. Refine with filters or upvote what's useful.
PyTorch is a machine learning framework centered on a GPU-ready tensor library that supports multi-dimensional array operations across both CPU and accelerator hardware. It provides a foundational infrastructure for mathematical computation and dynamic neural network construction, utilizing a tape-based automatic differentiation system that allows for flexible, non-static graph execution. The framework is designed for deep integration with Python, enabling natural usage alongside standard scientific computing ecosystems. It distinguishes itself through a comprehensive distributed training sui
Visualizes hardware utilization, operator latency, and memory metrics to provide a comprehensive view of runtime performance.
This project is an enterprise-grade Java framework designed for building scalable, full-stack e-commerce applications. It provides a comprehensive foundation for microservice-based distributed architectures, enabling the development of complex retail platforms that include product management, order processing, and secure user authentication. By leveraging modular service patterns and centralized API gateways, the framework supports the construction of resilient systems that decompose monolithic business logic into independent, manageable services. The platform distinguishes itself through a r
Traces method execution and monitors resource consumption to identify performance bottlenecks.
Laravel Debugbar is a web-based debugging toolbar and application profiler for Laravel. It provides a visual interface to inspect database queries, logs, and performance metrics in real time to identify and resolve bugs during development. The tool features a database query monitor to capture SQL statements and timings, as well as a request inspector for analyzing route metadata, loaded views, and HTTP request data. It includes a profiler for measuring execution time and memory usage to identify bottlenecks in the request lifecycle. Its observability capabilities cover exception capture, app
Measures execution time and dumps variables inside templates to optimize rendering performance.
Blender is a professional 3D creation suite designed for modeling, animation, rendering, and video editing. It functions as an open-source 3D engine that provides a comprehensive framework for procedural geometry, physics simulation, and high-quality visual output. The platform is built upon a foundational architecture that utilizes data-block-based memory management and a dependency-graph-based evaluation system to handle complex scene transformations and geometry updates. The software distinguishes itself through a highly modular, node-based procedural architecture that allows users to cons
Generates interactive flame graphs from profiling data to analyze performance across scripts and compiled code.
Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an integrated environment that supports unit, integration, and browser-based testing, allowing developers to execute test suites natively without requiring separate build steps or complex configuration. The project distinguishes itself through a highly optimized execution model that leverages worker-thread isolation and on-demand module transformation to provide rapid feedback. It includes a comprehensive suite of mocking and spying utilities that allow for the interception of depen
Generates CPU and heap profiles to identify performance bottlenecks during test runs.
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
Records execution data to files to generate performance visualizations like flame graphs.
Memray is a memory profiler for Python that tracks heap allocations in both Python code and native C or C++ extensions. It captures memory events by hooking into the language runtime and traversing call stacks, providing a comprehensive view of how an application consumes memory. The tool is designed to minimize performance impact on the target application by using thread-local buffering and streaming data to an external process or file. The project distinguishes itself through its ability to monitor complex, multi-threaded systems and child processes in real-time. It provides diagnostic util
Generates interactive flame graphs from captured profiling data to provide a visual representation of memory consumption.
Firefox is a cross-platform web browser engine designed to render web content, execute JavaScript, and manage secure browsing sessions. It utilizes a multi-process isolation architecture that distributes browser tasks across independent operating system processes to ensure stability and prevent site-specific failures from impacting the entire application. The engine incorporates a sandboxed execution environment to restrict web content and untrusted scripts to isolated memory compartments, enforcing security policies that prevent unauthorized access to system resources. The project distinguis
Captures runtime execution data using system-level profilers and telemetry probes to identify bottlenecks in code and JIT compilation.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Tracks the stack depth of operations to analyze and debug software performance through runtime analysis.
GB Studio est un environnement de développement intégré visuel et un moteur de jeu pour créer des jeux 8 bits pour le matériel Game Boy. Il fonctionne comme un compilateur de ROM pour matériel rétro qui transpile la logique graphique en assembleur Z80 natif et en images binaires compatibles avec les consoles portables originales et les émulateurs. Le projet sert d'outil de build multiplateforme, générant à la fois des ROMs matérielles natives et des builds compatibles web à partir d'une seule source de projet. Il utilise une interface par glisser-déposer pour la logique de jeu et la conception de scènes, permettant la création de mécaniques de jeu et le placement d'assets sans écrire de code machine de bas niveau. L'ensemble d'outils inclut un pipeline pour traiter les images et l'audio bruts en formats et palettes spécifiques au matériel. Il fournit également des capacités de profilage de performance pour analyser les statistiques de timing et les logs d'exécution afin d'optimiser la réactivité logicielle sur du matériel limité.
Analyzes execution timing and resource consumption to optimize software responsiveness on limited 8-bit hardware.
pprof is a tool for visualizing and analyzing performance profiling data. It converts sampled call stacks into a directed graph rendered as an SVG, enabling visual identification of execution hotspots. The tool also parses Linux perf.data files, converting them into an internal profile representation for further analysis. Beyond visualization, pprof provides a command-line REPL for interactive exploration of profiling data, allowing users to filter, refine, and query performance information on the fly. It generates sorted text reports that highlight the most resource-intensive call stacks, an
Reads Go runtime profiling data and presents it as call graphs and flame graphs.
Async-profiler est une suite d'outils de performance conçue pour échantillonner les runtimes Java, suivre les allocations mémoire et surveiller les compteurs matériels. Il fonctionne comme un profileur d'échantillonnage à faible surcharge pour les applications Java, collectant des stack traces et des données d'allocation mémoire sans biais de point de sécurité (safepoint). Le projet fournit des utilitaires spécialisés pour générer des flame graphs interactifs afin de visualiser les points chauds d'exécution dans un navigateur web. Il inclut un moniteur de compteur de performance matériel pour suivre les événements système de bas niveau tels que les défauts de cache et les défauts de page. L'ensemble d'outils couvre plusieurs domaines de diagnostic, incluant le profilage de l'utilisation CPU pour identifier les méthodes chaudes, le suivi de l'allocation mémoire pour les fuites de tas et natives, et l'analyse de contention de thread pour découvrir les goulots d'étranglement de synchronisation à travers différentes couches système.
Converts raw profiling data into interactive flame graphs to pinpoint performance hotspots.
Async-profiler is a sampling profiler for Java applications that tracks CPU time and stack traces across execution frames to identify performance bottlenecks. It is designed to capture profiling data without introducing timing bias. The project provides capabilities for JVM memory analysis to locate native and heap allocation hotspots and memory leaks. It also includes system contention analysis to identify resource bottlenecks through the tracking of contended locks and hardware performance counters. The tool converts raw profiling data into visual performance reports, including interactive
Generates interactive flame graphs from sampled stack traces to visualize frequent execution paths.
This project is a comprehensive collection of educational examples and reference implementations for building vision and language models using PyTorch. It serves as a deep learning tutorial covering the end-to-end process of developing neural networks, from initial architecture definition to final production deployment. The repository provides detailed guides on implementing a wide range of domain-specific models, including convolutional neural networks for object detection and segmentation, as well as transformer and recurrent architectures for natural language processing. It emphasizes gene
Generates detailed JSON traces of event durations to identify and analyze execution bottlenecks.
gops est un ensemble d'outils de diagnostic en ligne de commande pour surveiller, profiler et gérer l'état d'exécution des applications Go actives. Il fonctionne comme un outil de diagnostic d'exécution qui fournit une interface ciblée pour analyser la mémoire, profiler les performances et surveiller la santé des processus en cours. L'outil fournit un ensemble d'utilitaires spécialisés, y compris un profileur de performance pour capturer les profils CPU et tas, un analyseur de mémoire pour identifier les fuites et déclencher le ramasse-miettes, et un moniteur de processus pour découvrir les binaires en cours d'exécution et visualiser les hiérarchies de processus. Le projet couvre un large éventail de capacités de diagnostic, y compris le traçage de l'exécution, la capture de traces de pile et l'échantillonnage de l'utilisation des ressources. Il inclut également des utilitaires système pour l'inspection des métadonnées de processus, la résolution de chemins binaires et la surveillance des métriques d'exécution telles que le nombre de threads et les statistiques de mémoire.
Captures CPU profiles, heap snapshots, and execution traces specifically from the Go runtime.
size-limit is a set of specialized tools for measuring JavaScript bundle sizes and enforcing performance budgets within continuous integration pipelines. It functions as a bundle size monitor and budget enforcer that can reject pull requests when JavaScript bundles exceed predefined size thresholds. The project distinguishes itself by providing a browser-based execution profiler that calculates the time required to compile and execute JavaScript on simulated low-end hardware. It also includes a tree-shaking validator that analyzes partial import bundle sizes to verify that unused code is corr
Simulates low-end device constraints to estimate the real-world performance cost of JavaScript execution.
This project is a comprehensive technical guide and diagnostic manual for analyzing memory, performance, and asynchronous behavior within Node.js applications. It provides detailed methods for asynchronous tracing, memory diagnostics, and performance analysis to resolve runtime errors and execution bottlenecks. The resource distinguishes itself by covering advanced diagnostic workflows, including the use of flame graphs for CPU profiling, the capture and comparison of heap snapshots for memory leak detection, and the mapping of asynchronous call stacks. It also provides technical guidance on
Captures system-level CPU samples to visualize function-level hotspots and identify performance bottlenecks.
PraisonAI is an autonomous AI agent platform that coordinates multiple LLM-powered agents for research, planning, and execution of complex workflows. It functions as a multi-agent orchestration framework, a workflow builder, and a Model Context Protocol server, while also providing retrieval-augmented generation through vector knowledge bases. Agents can interact via CLI, web, or standardized protocols with sandboxed code execution. The platform distinguishes itself with a rich set of agent communication protocols, including A2A, REST, WebSocket, voice and telephony integration, and MCP, allo
Includes execution profilers that provide per-function timing, call graphs, and latency metrics for code analysis.
Leaf est un framework de machine learning et une boîte à outils d'architecture de réseaux de neurones utilisés pour construire, entraîner et déployer des modèles. Il fonctionne comme une couche d'abstraction matérielle, mappant des graphes de calcul de haut niveau vers des instructions de bas niveau sur divers backends CPU et GPU et systèmes d'exploitation. Le système permet la conception de structures de modèles flexibles via une architecture modulaire où des couches de conteneurs réutilisables encapsulent les poids et les opérations mathématiques. Cela permet la composition de réseaux de neurones complexes via des composants imbriqués. Le framework inclut un pipeline d'ingénierie de données pour transformer des jeux de données bruts en tenseurs propres et un profileur de performance de calcul pour identifier les goulots d'étranglement à l'exécution via une instrumentation de diagnostic. Ces capacités supportent l'optimisation du calcul haute performance et le déploiement de modèles multi-matériel.
Ships a computational performance profiler that uses instrumentation scripts to locate runtime bottlenecks.
This project provides a comprehensive technical guide and framework for engineering large-scale machine learning systems. It covers the full lifecycle of model development, focusing on the infrastructure and computational principles required to build, train, and serve generative AI models across distributed GPU clusters. The repository distinguishes itself by offering deep-dive tutorials and implementation strategies for complex system challenges. It emphasizes high-performance architectural primitives, such as collective communication orchestration, distributed tensor sharding, and static gr
Records timestamps during workflow execution to identify performance bottlenecks across distributed workers.