tpt-profiler

Rust

Optimisation analysis for Rust projects. Combines static analysis, runtime profiling and benchmarks to rank what's worth optimising next, with impact, confidence and effort estimates. Dual-licensed MIT OR Apache-2.0.

0 stars0 forks0 watchers6 open issues

Languages

Rust99.8%Just0.2%
README

tpt-profiler

Which parts of this project are worth optimising next, why, by how much, and with what level of confidence?

tpt-profiler is a repository and workload optimisation analysis system for identifying, measuring, ranking, and explaining opportunities to improve software performance, efficiency, and architecture.

It is not just another profiler. Traditional profilers answer "what is consuming resources?" — tpt-profiler answers "what should I change?" by combining static analysis, runtime profiling, benchmark analysis, and dependency analysis into ranked, evidence-backed opportunities.

Status: design implementation in progress (spec.txt is the source of truth). v0.1.0 targets the MVP scope of spec §62.

Planned features

  • Cargo workspace / crate discovery (tpt-profiler scan)
  • Static analysis: allocation, clone, data-structure, SIMD, and parallelism candidates — each with evidence and confidence
  • Runtime and benchmark measurement (Criterion integration where available)
  • Opportunity engine: impact, confidence, effort, risk, generality, priority
  • Baselines and regression comparison (baseline, compare)
  • Terminal, JSON, and Markdown reports
  • Fully local operation: no telemetry, no source upload, ever

Quick start (once released)

cargo install tpt-profiler-cli
tpt-profiler scan .        # discover project structure
tpt-profiler full          # run all applicable analyses
tpt-profiler opportunities --strategy=highest-value

Repository layout

crates/
  tpt-profiler/           core library (orchestration pipeline)
  tpt-profiler-cli/       command-line interface
  tpt-profiler-model/     shared data model (no_std-capable)
  tpt-profiler-static/    static analysis engine
  tpt-profiler-runtime/   runtime profiling
  tpt-profiler-bench/     benchmark analysis
  tpt-profiler-memory/    memory analysis
  tpt-profiler-build/     build/compile-time analysis
  tpt-profiler-opportunity/ opportunity engine & scoring
  tpt-profiler-report/    output/report generation
tests/                    cross-crate integration tests and fixtures

See DESIGN.md for architecture and crate dependency rules, CHANGELOG.md for release history, and spec.txt for the full design specification.

MSRV

The minimum supported Rust version is 1.85 (the first release with edition 2024 support). Both a current stable toolchain and the MSRV are tested in CI.

Licence

tpt-profiler is dual-licensed under the MIT and Apache 2.0 licences; you may choose either. See LICENSE for details. Contributions are licensed under both.