tpt-profiler
RustOptimisation 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.
Languages
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.