MCPcopy Create free account
hub / github.com/Compaile/ctrack / compare_with_baseline

Function compare_with_baseline

benchmark/ctrack_benchmark.cpp:630–663  ·  view source on GitHub ↗

Compare current results with baseline

Source from the content-addressed store, hash-verified

628
629// Compare current results with baseline
630void compare_with_baseline(const BaselineData &current)
631{
632 BaselineData baseline;
633 if (!load_baseline(baseline))
634 {
635 std::cerr << "Error: Could not load baseline file: " << g_config.baseline_file << std::endl;
636 return;
637 }
638
639 std::cout << "\n=== Baseline Comparison ===" << std::endl;
640 std::cout << std::fixed << std::setprecision(2);
641 auto print_comparison = [](const std::string &metric, double baseline_val, double current_val, bool lower_is_better = true)
642 {
643 double diff = current_val - baseline_val;
644 double percent_change = (diff / baseline_val) * 100.0;
645
646 std::string direction = (diff > 0) ? "increased" : "decreased";
647 std::string indicator = (lower_is_better ? (diff > 0 ? "worse" : "better") : (diff > 0 ? "better" : "worse"));
648
649 std::cout << metric << ":\n";
650 std::cout << " Baseline: " << baseline_val << "\n";
651 std::cout << " Current: " << current_val << "\n";
652 std::cout << " Change: " << indicator << " - " << std::abs(percent_change) << "% " << direction << "\n\n";
653 };
654
655 print_comparison("Accuracy Error %", baseline.accuracy_error_percent, current.accuracy_error_percent);
656 print_comparison("Accuracy Error (ms/event)", baseline.accuracy_error_ms_per_event, current.accuracy_error_ms_per_event);
657 print_comparison("Overhead %", std::abs(baseline.overhead_percent), std::abs(current.overhead_percent));
658 print_comparison("Overhead Time (ms)", std::abs(baseline.overhead_ms), std::abs(current.overhead_ms));
659 print_comparison("Overhead per Event (ns)", baseline.overhead_ns_per_event, current.overhead_ns_per_event);
660 print_comparison("Memory/Event (bytes)", baseline.memory_bytes_per_event, current.memory_bytes_per_event);
661 print_comparison("Calculation Time (ms)", baseline.calculation_time_ms, current.calculation_time_ms);
662 print_comparison("Peak Calc Memory (MB)", baseline.peak_calc_memory_mb, current.peak_calc_memory_mb);
663}
664
665// Get platform string
666std::string get_platform()

Callers 1

mainFunction · 0.85

Calls 1

load_baselineFunction · 0.85

Tested by

no test coverage detected