awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to gperftools/gperftools

Open-source alternatives to Gperftools

30 open-source projects similar to gperftools/gperftools, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Gperftools alternative.

  • bloomberg/memraybloomberg avatar

    bloomberg/memray

    14,885View on GitHub↗

    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

    Pythonhacktoberfestmemorymemory-leak
    View on GitHub↗14,885
  • google/sanitizersgoogle avatar

    google/sanitizers

    12,402View on GitHub↗

    This project is a suite of runtime diagnostic tools designed to detect memory leaks, concurrency races, and language-specification violations during software execution. It provides a collection of dynamic analysis tools that identify addressability issues, uninitialized memory usage, and memory safety bugs in applications. The toolset includes a thread safety analyzer to identify data races and deadlocks in concurrent code, as well as an undefined behavior sanitizer to detect operations that violate language specifications. The system covers broad capabilities in memory safety monitoring and

    C
    View on GitHub↗12,402
  • kde/heaptrackKDE avatar

    KDE/heaptrack

    4,107View on GitHub↗

    Heaptrack is a heap memory profiler and diagnostic tool for applications running on Linux. It functions as a memory leak detector and performance analysis system that records heap allocations and stack traces to identify memory hotspots and consumption patterns. The project provides a graphical heap allocation visualizer for exploring memory usage through tree views and peak memory reports. It utilizes flame graphs and allocation charts to visualize memory hotspots and assist in the detection of leaks. The toolset includes capabilities for heap memory allocation tracing and the generation of

    C++
    View on GitHub↗4,107

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Find more with AI search
  • koute/bytehoundkoute avatar

    koute/bytehound

    4,791View on GitHub↗

    Bytehound is a Linux memory profiler that utilizes a custom global allocator to intercept memory requests and track allocations and deallocations. It records full call-stack traces for every memory operation to map allocations back to their originating source code. The project features a remote memory profiling system that streams capture data via network sockets to a separate machine, minimizing resource overhead on the target system. Analysis is supported by a specialized domain-specific query language used to automate the detection of memory patterns and anomalies. The tool covers heap al

    Cmemory-profilermemory-profilingprofiler
    View on GitHub↗4,791
  • plasma-umass/scaleneplasma-umass avatar

    plasma-umass/scalene

    13,449View on GitHub↗

    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

    Pythoncpucpu-profilinggpu
    View on GitHub↗13,449
  • samsaffron/memory_profilerSamSaffron avatar

    SamSaffron/memory_profiler

    1,765View on GitHub↗

    Memory Profiler is a diagnostic library for Ruby applications designed to monitor runtime memory consumption and object lifecycles. It provides tools to track object allocations and memory usage, enabling the identification of performance bottlenecks and potential memory leaks that affect software stability. The tool functions by observing memory behavior during program execution, allowing developers to distinguish between short-lived data and objects that persist beyond their intended lifecycle. It captures the execution context of allocations by walking the call stack, which helps attribute

    Ruby
    View on GitHub↗1,765
  • google/perfettogoogle avatar

    google/perfetto

    5,558View on GitHub↗

    Perfetto is a platform for system-level performance tracing and analysis on Linux and Android. It combines a high-throughput trace recorder, a SQL-based query engine, and a browser-based visualizer into a single toolchain. The platform covers CPU scheduling and call-stack profiling, native and Java heap memory allocation tracking, GPU and graphics events, and system-wide counters such as CPU frequency and power consumption. The architecture decouples trace recording from offline analysis, using a compact protobuf format for event encoding and columnar storage for efficient SQL queries. The we

    C++
    View on GitHub↗5,558
  • alibaba/arthasalibaba avatar

    alibaba/arthas

    37,367View on GitHub↗

    Arthas is a Java diagnostic tool and runtime debugger designed for real-time troubleshooting of applications. It functions as a remote diagnostics agent that allows users to inspect the runtime state of a Java process, including its heap objects and classloader hierarchies, without requiring a process restart. The project distinguishes itself through advanced bytecode manipulation capabilities, enabling live class hotswapping and the modification of bytecode in running processes. It supports in-memory source compilation and runtime bytecode decompilation to verify and update logic instantly w

    Javaagentalibabaarthas
    View on GitHub↗37,367
  • tencent/matrixTencent avatar

    Tencent/matrix

    12,020View on GitHub↗

    Matrix is a suite of mobile application performance management and analysis tools. It provides a plugin-based monitoring system for capturing crashes, lags, and memory leaks, alongside a static binary auditor for reducing installation package size and a bytecode instrumentation tool for performance tracking. The project distinguishes itself through native memory debugging and a SQLite query linter that identifies inefficient database patterns. It employs native interception techniques to detect memory leaks and heap corruption without requiring source code recompilation, and uses a custom run

    Javaandroidapm-clientwechat
    View on GitHub↗12,020
  • clibs/clibclibs avatar

    clibs/clib

    5,133View on GitHub↗

    clib is a C language package manager and dependency manager used to install, update, and manage external C libraries and executable dependencies from remote repositories. It functions as a distribution tool for structuring source code and metadata to publish C libraries and a development toolkit for maintaining consistent build environments. The project provides a framework for C library distribution and dependency resolution, utilizing manifest files to track required library versions and ensure reproducible builds across different systems. It streamlines the C development workflow by managi

    Ccclibmanager
    View on GitHub↗5,133
  • android/ndk-samplesandroid avatar

    android/ndk-samples

    10,513View on GitHub↗

    The Android NDK samples provide a comprehensive collection of code examples demonstrating how to integrate C and C++ native code into Android applications. This repository serves as a practical guide for developers utilizing the Android Native Development Kit to implement performance-critical application components that require direct hardware access and low-level system interaction. The project highlights the use of the Java Native Interface to bridge managed code with native modules, enabling cross-language function calls and efficient data exchange. It demonstrates how to manage native act

    C++
    View on GitHub↗10,513
  • rhysu/c99shRhysU avatar

    RhysU/c99sh

    114View on GitHub↗

    A shebang-friendly script for "interpreting" single C99, C11, and C++ files, including rcfile support.

    Shell
    View on GitHub↗114
  • include-what-you-use/include-what-you-useinclude-what-you-use avatar

    include-what-you-use/include-what-you-use

    4,704View on GitHub↗

    Include What You Use is a C++ include optimizer and header dependency analyzer. It identifies unused or missing header includes in source files to reduce project bloat and improve compilation performance. The tool performs static analysis using a Clang-based abstract syntax tree to map symbol usage and track preprocessor effects across different build configurations. It can automatically rewrite source files by inserting or deleting preprocessor directives based on the calculated dependency graph. The system integrates with compilation databases to determine the exact compiler flags used for

    C++
    View on GitHub↗4,704
  • ryanmjacobs/cryanmjacobs avatar

    ryanmjacobs/c

    2,176View on GitHub↗

    Compile and execute C "scripts" in one go!

    Shellcclangcli
    View on GitHub↗2,176
  • jvm-profiling-tools/async-profilerjvm-profiling-tools avatar

    jvm-profiling-tools/async-profiler

    9,063View on GitHub↗

    Async-profiler is a suite of performance tools designed for sampling Java runtimes, tracking memory allocations, and monitoring hardware counters. It functions as a low-overhead sampling profiler for Java applications, collecting stack traces and memory allocation data without safepoint bias. The project provides specialized utilities for generating interactive flame graphs to visualize execution hotspots in a web browser. It includes a hardware performance counter monitor to track low-level system events such as cache misses and page faults. The toolset covers several diagnostic domains, in

    C++
    View on GitHub↗9,063
  • facebook/memlabfacebook avatar

    facebook/memlab

    4,981View on GitHub↗

    Memlab is an automated browser memory profiler and JavaScript memory leak analyzer. It provides a toolkit for detecting and analyzing memory leaks by inspecting and comparing heap snapshots to identify unbound object growth and detached DOM elements. The system distinguishes itself through an automated leak testing framework that executes end-to-end browser interaction sequences to programmatically isolate memory regressions. It utilizes heap snapshot diffing, retainer chain tracing, and heuristic-based filtering to determine why objects remain in memory and to map the shortest path from garb

    TypeScriptdetectore2efacebook
    View on GitHub↗4,981
  • nolanlawson/fuitenolanlawson avatar

    nolanlawson/fuite

    4,625View on GitHub↗

    Fuite is a web application memory leak detector and browser heap snapshot analyzer. It functions as an automated interaction tester that monitors heap growth during repeated browser sequences to identify leaking DOM nodes and collections. The tool differentiates itself by executing scripted interaction loops to amplify memory growth, making leaks easier to detect. It captures and compares heap snapshots across different timestamps and exports detailed reports containing stack traces and the specific code locations where listeners were declared. The project covers browser automation and orche

    JavaScript
    View on GitHub↗4,625
  • bytedance/memory-leak-detectorbytedance avatar

    bytedance/memory-leak-detector

    1,189View on GitHub↗

    This project is a diagnostic tool and memory profiler designed to identify and track memory allocation patterns within native code layers. It functions as a native code debugging utility that monitors heap usage and resource lifecycle management to assist in the resolution of memory leaks and resource exhaustion issues. The tool utilizes hook-based allocation interception to maintain a real-time map of active memory blocks and employs shadow-stack call tracing to associate these blocks with specific code locations. By performing periodic reachability analysis and differential memory snapshott

    C
    View on GitHub↗1,189
  • microsoft/perfviewmicrosoft avatar

    microsoft/perfview

    4,633View on GitHub↗

    PerfView is a set of integrated profiling and tracing tools built on Windows Event Tracing for Windows (ETW), designed to diagnose CPU, memory, and ETW-based performance issues in .NET applications. It captures ETW events to analyze runtime behavior, CPU usage, and memory allocations, serving as a .NET performance profiler that measures both CPU time and garbage collection events. The tool distinguishes itself with a diff comparison engine that compares two performance traces side-by-side to highlight changes in method costs and event rates. It renders profiled call stacks as flame graphs whe

    C#dotnetdotnet-coreperformance
    View on GitHub↗4,633
  • tencent/mleaksfinderTencent avatar

    Tencent/MLeaksFinder

    5,437View on GitHub↗

    MLeaksFinder is a diagnostic framework and profiling utility designed for the automatic detection of memory leaks and unfreed objects in iOS applications. It functions as a memory leak detector and profiling tool that identifies retain cycles and analyzes object lifecycles for both Swift and Objective-C code. The tool identifies circular dependencies by tracing reference chains and traversing object graphs, starting from a root view controller. It provides precise debugging data by capturing the allocation stacks of leaked objects to trace the origin of the memory leak. The framework include

    Objective-C
    View on GitHub↗5,437
  • nswbmw/node-in-debuggingnswbmw avatar

    nswbmw/node-in-debugging

    6,457View on GitHub↗

    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

    debugdebuggingguide
    View on GitHub↗6,457
  • mstange/samplymstange avatar

    mstange/samply

    4,263View on GitHub↗

    Samply is a cross-platform CPU sampling profiler and performance analysis utility. It consists of a command-line tool for recording process stack traces at regular intervals and a visual interface for analyzing the resulting execution data. The system includes a debug symbol resolver that maps raw memory addresses to human-readable function names using local or remote symbol information. It transforms recorded execution data into flame graphs and timelines to pinpoint function-level hotspots. The tool provides capabilities for CPU execution recording, stack unwinding, and symbol resolution a

    Rust
    View on GitHub↗4,263
  • microsoft/mimallocmicrosoft avatar

    microsoft/mimalloc

    13,090View on GitHub↗

    Mimalloc is a general purpose dynamic memory allocator for C and C++ designed to increase execution speed and reduce fragmentation. It functions as a scalable heap manager that replaces standard library allocation functions to improve performance and memory efficiency across applications. The project distinguishes itself as both a heap security hardener and a memory corruption detector. It employs randomized allocation, encrypted free lists, and sampled guard pages to mitigate heap exploits and identify buffer overflows or use-after-free errors during runtime. The allocator provides capabili

    C
    View on GitHub↗13,090
  • iovisor/bcciovisor avatar

    iovisor/bcc

    22,459View on GitHub↗

    BCC is an eBPF development toolkit and tracing framework used for monitoring and analyzing the Linux kernel. It functions as a performance analysis tool and debugging utility to capture system events, measure kernel latency, and provide network observability. The project distinguishes itself by providing a build system that integrates with LLVM to compile C-like code into BPF bytecode at runtime. It utilizes BPF Type Format data for relocations to maintain cross-kernel compatibility and extracts kernel headers to ensure the generated programs match the specific kernel version. The toolkit co

    C
    View on GitHub↗22,459
  • pwndbg/pwndbgpwndbg avatar

    pwndbg/pwndbg

    10,051View on GitHub↗

    pwndbg is a GDB plugin and binary analysis framework designed for reverse engineering, exploit development, and low-level program analysis. It extends the core functionality of the debugger to provide advanced memory inspection and automation tools. The project distinguishes itself with specialized capabilities for heap analysis across glibc, jemalloc, and musl, as well as a comprehensive kernel debugging toolkit for inspecting Linux kernel tasks and slab allocators. It includes an integrated ROP gadget searcher for constructing exploit chains and an LLM-powered debugging assistant that provi

    Pythonbinary-ninjacapture-the-flagctf
    View on GitHub↗10,051
  • bdwgc/bdwgcbdwgc avatar

    bdwgc/bdwgc

    3,418View on GitHub↗

    This project is a garbage collection library and memory allocator for C and C++ that provides automatic reclamation of unreachable objects. It functions as a memory management system that can replace standard allocation functions to automate memory reclamation without requiring source modification. The system is distinguished by its ability to perform incremental and generational garbage collection to reduce application pauses, as well as parallel collection to distribute tracing across multiple CPU cores. It includes a specialized string manipulation library that uses shared structures to en

    Ccc-plus-pluscplusplus
    View on GitHub↗3,418
  • joerick/pyinstrumentjoerick avatar

    joerick/pyinstrument

    7,638View on GitHub↗

    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

    Pythonasyncdjangoperformance
    View on GitHub↗7,638
  • jemalloc/jemallocjemalloc avatar

    jemalloc/jemalloc

    10,950View on GitHub↗

    jemalloc is a general purpose C memory allocator designed as a replacement for the standard library malloc and free functions. It is a multi-threaded allocation library that emphasizes fragmentation avoidance and scalable concurrency for high-performance applications. The project reduces lock contention by using multiple independent memory arenas and thread-local cache layers. It minimizes latency by offloading the reclamation of unused memory pages to asynchronous background threads and utilizes huge page metadata storage to reduce translation lookaside buffer misses. The system includes a

    C
    View on GitHub↗10,950
  • aobingjava/javafamilyAobingJava avatar

    AobingJava/JavaFamily

    36,959View on GitHub↗

    JavaFamily is a curated set of learning paths and reference guides for backend engineering, distributed systems, and virtual machine internals. It provides a structured curriculum covering the Java language, operating system concepts, and network protocols. The project features detailed study guides for the Java virtual machine architecture, including memory management and garbage collection. It also includes a comprehensive reference for distributed systems, covering microservices, remote procedure call frameworks, and scalable system design. The collection covers a broad range of technical

    interviewjavajava8
    View on GitHub↗36,959
  • square/leakcanarysquare avatar

    square/leakcanary

    29,923View on GitHub↗

    LeakCanary is a diagnostic tool designed to identify memory leaks by monitoring object lifecycles and analyzing heap snapshots. It automatically detects objects that fail to be garbage collected after their expected lifespan, providing developers with actionable insights to prevent performance degradation and application crashes. The project distinguishes itself by offloading memory-intensive heap parsing to a separate background process, which minimizes performance impact on the main application during runtime. It includes sophisticated deobfuscation capabilities that map obfuscated stack tr

    Kotlinandroidjavakotlin
    View on GitHub↗29,923