🍺 BREW Explorer

← all formulae

clang-build-analyzer

brew install clang-build-analyzer v1.6.0 Unlicense AND Zlib AND MIT AND BSL-1.0 AND BSD-3-Clause AND Apache-2.0 AND BSD-2-Clause AND (Apache-2.0 WITH LLVM-exception)

Tool to analyze compilation time

42
30-day installs · #5073
154
90-day · #4659
842
365-day · #4111
1.2k
★ GitHub stars · updated 1y ago

Build dependencies

GitHub topics

build-analysis clang

Links

Raw metadata
{
  "aliases": [],
  "alternatives": [],
  "build_dependencies": [
    "cmake"
  ],
  "categories": [],
  "caveats": null,
  "conflicts_with": [],
  "dependencies": [],
  "deprecated": 0,
  "deprecation_reason": null,
  "desc": "Tool to analyze compilation time",
  "disable_reason": null,
  "disabled": 0,
  "enrichment_fetched_at": "2026-06-20T23:36:24+00:00",
  "first_seen": "2026-06-20T23:34:18+00:00",
  "full_name": "clang-build-analyzer",
  "github_default_branch": "main",
  "github_last_commit_at": "2025-03-21T04:55:04Z",
  "github_readme_excerpt": "# Clang Build Analyzer [![Build Status](https://github.com/aras-p/ClangBuildAnalyzer/workflows/build_and_test/badge.svg)](https://github.com/aras-p/ClangBuildAnalyzer/actions)\n\nClang C/C++ build analysis tool when using Clang 9+ `-ftime-trace`. The `-ftime-trace` compiler flag\n(see [blog post](https://aras-p.info/blog/2019/01/16/time-trace-timeline-flame-chart-profiler-for-Clang/) or\n[Clang 9 release notes](https://releases.llvm.org/9.0.0/tools/clang/docs/ReleaseNotes.html#new-compiler-flags)) can be useful\nto figure out what takes time during compilation of *one* source file. This tool helps to aggregate time trace\nreports from multiple compilations, and output \"what took the most time\" summary:\n\n- Which files are slowest to parse? i.e. spend time in compiler lexer/parser front-end\n- Which C++ templates took the most time to instantiate?\n- Which files are slowest to generate code for? i.e. spend time in compiler backend doing codegen and optimizations\n- Which functions are slowest to generate code for?\n- Which header files are included the most in the whole build, how much time is spent parsing them, and what are the include chains of them?\n\n\n### Usage\n\n1. **Start the build capture**: `ClangBuildAnalyzer --start \u003cartifacts_folder\u003e`\u003cbr/\u003e\n   This will write current timestamp in a `ClangBuildAnalyzerSession.txt` file under the given `artifacts_folder`. The artifacts\n   folder is where the compiled object files (and time trace report files) are expected to be produced by your build.\n1. **Do your build**. Does not matter how; an IDE build, a makefile, a shell script, whatever. As long as it invokes\n   Clang and passes `-ftime-trace` flag to the compiler (**Clang 9.0 or later is required** for this).\n1. **Stop the build capture**: `ClangBuildAnalyzer --stop \u003cartifacts_folder\u003e \u003ccapture_file\u003e`\u003cbr/\u003e\n   This will load all Clang time trace compatible `*.json` files under the given `artifacts_folder` that were modified after\n   `--start` step was done (Clang `-ftime-trace` pro",
  "github_repo": "aras-p/ClangBuildAnalyzer",
  "github_stars": 1242,
  "github_topics": [
    "build-analysis",
    "clang"
  ],
  "homepage": "https://github.com/aras-p/ClangBuildAnalyzer",
  "homepage_og_description": null,
  "homepage_og_image": null,
  "homepage_title": null,
  "installs_30d": 42,
  "installs_365d": 842,
  "installs_90d": 154,
  "keg_only": 0,
  "keg_only_reason": null,
  "last_seen": "2026-06-20T23:34:18+00:00",
  "license": "Unlicense AND Zlib AND MIT AND BSL-1.0 AND BSD-3-Clause AND Apache-2.0 AND BSD-2-Clause AND (Apache-2.0 WITH LLVM-exception)",
  "llm_generated_at": null,
  "llm_model": null,
  "name": "clang-build-analyzer",
  "oldnames": [],
  "one_liner": null,
  "optional_dependencies": [],
  "rank_30d": 5073,
  "rank_365d": 4111,
  "rank_90d": 4659,
  "raw_hash": "eaf0bdb63a6732e3",
  "recommended_dependencies": [],
  "revision": 0,
  "ruby_source_path": "Formula/c/clang-build-analyzer.rb",
  "tap": "homebrew/core",
  "test_dependencies": [],
  "uses_from_macos": [
    "llvm"
  ],
  "version_head": "HEAD",
  "version_stable": "1.6.0",
  "versioned_formulae": [],
  "why_use_this": null
}