[dependencies.chrono]
features = ["serde"]
optional = true
version = "0.4.34"
[dependencies.criterion]
features = ["html_reports"]
optional = true
version = "0.5.1"
[dependencies.error_tools]
default-features = false
features = ["enabled"]
version = "~0.32.0"
[dependencies.plotters]
default-features = false
features = ["svg_backend", "bitmap_backend"]
optional = true
version = "0.3.7"
[dependencies.pulldown-cmark]
optional = true
version = "0.13"
[dependencies.rand]
optional = true
version = "0.8.5"
[dependencies.serde_json]
optional = true
version = "1.0.140"
[dependencies.statistical]
optional = true
version = "1.0"
[dependencies.tera]
optional = true
version = "1.20"
[dev-dependencies.tempfile]
version = "3.20.0"
[dev-dependencies.uuid]
features = ["v4"]
version = "1.11"
[[example]]
name = "advanced_usage_patterns"
path = "examples/advanced_usage_patterns.rs"
[[example]]
name = "cargo_bench_integration"
path = "examples/cargo_bench_integration.rs"
[[example]]
name = "cicd_regression_detection"
path = "examples/cicd_regression_detection.rs"
[[example]]
name = "cv_improvement_patterns"
path = "examples/cv_improvement_patterns.rs"
[[example]]
name = "diff_example"
path = "examples/diff_example.rs"
[[example]]
name = "enhanced_features_demo"
path = "examples/enhanced_features_demo.rs"
[[example]]
name = "error_handling_patterns"
path = "examples/error_handling_patterns.rs"
[[example]]
name = "historical_data_management"
path = "examples/historical_data_management.rs"
[[example]]
name = "integration_workflows"
path = "examples/integration_workflows.rs"
[[example]]
name = "parser_integration_test"
path = "examples/parser_integration_test.rs"
[[example]]
name = "plotting_example"
path = "examples/plotting_example.rs"
[[example]]
name = "regression_analysis_comprehensive"
path = "examples/regression_analysis_comprehensive.rs"
[[example]]
name = "statistical_analysis_example"
path = "examples/statistical_analysis_example.rs"
[[example]]
name = "strs_tools_actual_integration"
path = "examples/strs_tools_actual_integration.rs"
[[example]]
name = "strs_tools_comprehensive_test"
path = "examples/strs_tools_comprehensive_test.rs"
[[example]]
name = "strs_tools_manual_test"
path = "examples/strs_tools_manual_test.rs"
[[example]]
name = "strs_tools_transformation"
path = "examples/strs_tools_transformation.rs"
[[example]]
name = "templates_comprehensive"
path = "examples/templates_comprehensive.rs"
[[example]]
name = "unilang_parser_benchkit_integration"
path = "examples/unilang_parser_benchkit_integration.rs"
[[example]]
name = "unilang_parser_real_world_benchmark"
path = "examples/unilang_parser_real_world_benchmark.rs"
[[example]]
name = "update_chain_comprehensive"
path = "examples/update_chain_comprehensive.rs"
[[example]]
name = "validation_comprehensive"
path = "examples/validation_comprehensive.rs"
[features]
comparative_analysis = ["enabled"]
criterion_compat = ["enabled", "dep:criterion"]
data_generators = ["enabled", "dep:rand"]
default = ["enabled", "integration", "markdown_reports", "data_generators", "criterion_compat"]
diff_analysis = ["enabled"]
enabled = []
full = ["enabled", "integration", "markdown_reports", "data_generators", "criterion_compat", "html_reports", "json_reports", "statistical_analysis", "comparative_analysis", "optimization_hints", "diff_analysis", "visualization"]
html_reports = ["markdown_reports", "dep:tera"]
integration = []
json_reports = ["enabled", "dep:serde_json", "dep:chrono"]
markdown_reports = ["enabled", "dep:pulldown-cmark", "dep:chrono"]
no_std = []
optimization_hints = ["statistical_analysis"]
statistical_analysis = ["enabled", "dep:statistical"]
use_alloc = ["no_std"]
visualization = ["enabled", "dep:plotters"]
[lib]
name = "benchkit"
path = "src/lib.rs"
[lints.clippy]
absolute_paths = "allow"
arbitrary_source_item_ordering = "allow"
cast_precision_loss = "allow"
doc_include_without_cfg = "warn"
implicit_return = "allow"
inline_always = "allow"
items_after_statements = "allow"
missing_docs_in_private_items = "allow"
missing_inline_in_public_items = "allow"
mod_module_files = "allow"
module_name_repetitions = "allow"
pub_use = "allow"
question_mark_used = "allow"
single_call_fn = "allow"
std_instead_of_alloc = "allow"
std_instead_of_core = "warn"
undocumented_unsafe_blocks = "deny"
wildcard_imports = "allow"
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unsafe-code = "deny"
[lints.rust.future_incompatible]
level = "warn"
priority = -1
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1
[package]
authors = ["Kostiantyn Wandalen <wandalen@obox.systems>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["development-tools", "development-tools::profiling"]
description = """
Lightweight benchmarking toolkit focused on practical performance analysis and report generation.
Non-restrictive alternative to criterion, designed for easy integration and markdown report generation.
"""
documentation = "https://docs.rs/benchkit"
edition = "2021"
homepage = "https://github.com/Wandalen/wTools/tree/master/module/move/benchkit"
keywords = ["benchmark", "performance", "toolkit", "markdown", "reports"]
license = "MIT"
name = "benchkit"
readme = "readme.md"
repository = "https://github.com/Wandalen/wTools/tree/master/module/move/benchkit"
version = "0.8.0"
[package.metadata.docs.rs]
all-features = false
features = ["full"]
[[test]]
name = "analysis"
path = "tests/analysis.rs"
[[test]]
name = "basic_functionality"
path = "tests/basic_functionality.rs"
[[test]]
name = "comparison"
path = "tests/comparison.rs"
[[test]]
name = "data_generation"
path = "tests/data_generation.rs"
[[test]]
name = "diff"
path = "tests/diff.rs"
[[test]]
name = "documentation"
path = "tests/documentation.rs"
[[test]]
name = "generators"
path = "tests/generators.rs"
[[test]]
name = "measurement"
path = "tests/measurement.rs"
[[test]]
name = "memory_tracking"
path = "tests/memory_tracking.rs"
[[test]]
name = "parser_analysis"
path = "tests/parser_analysis.rs"
[[test]]
name = "plotting"
path = "tests/plotting.rs"
[[test]]
name = "profiling_test"
path = "tests/profiling_test.rs"
[[test]]
name = "reporting"
path = "tests/reporting.rs"
[[test]]
name = "scaling"
path = "tests/scaling.rs"
[[test]]
name = "statistical"
path = "tests/statistical.rs"
[[test]]
name = "suite"
path = "tests/suite.rs"
[[test]]
name = "templates"
path = "tests/templates.rs"
[[test]]
name = "throughput"
path = "tests/throughput.rs"
[[test]]
name = "update_chain"
path = "tests/update_chain.rs"
[[test]]
name = "validation"
path = "tests/validation.rs"