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
- https://github.com/aras-p/ClangBuildAnalyzer
- GitHub: aras-p/ClangBuildAnalyzer
- Brew formula source: Formula/c/clang-build-analyzer.rb
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 [](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
}