MCPcopy Create free account
hub / github.com/FastLED/FastLED / ResultAnalyzer

Class ResultAnalyzer

ci/profile/parse_results.py:27–222  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

25
26
27class ResultAnalyzer:
28 def __init__(self, results_file: Path):
29 self.results_file = results_file
30 self.results: list[ProfileResult] = []
31 self.variants: dict[str, list[ProfileResult]] = {}
32
33 def load_results(self) -> None:
34 """Load and parse JSON results"""
35 with open(self.results_file) as f:
36 data = json.load(f)
37
38 for entry in data:
39 result = ProfileResult(**entry)
40 self.results.append(result)
41 # Group by variant for comparison tests
42 if result.variant not in self.variants:
43 self.variants[result.variant] = []
44 self.variants[result.variant].append(result)
45
46 def compute_statistics(
47 self, results: list[ProfileResult] | None = None
48 ) -> dict[str, float]:
49 """Compute best/median/worst/stdev for a set of results"""
50 if results is None:
51 results = self.results
52
53 if not results:
54 return {
55 "best": 0,
56 "median": 0,
57 "worst": 0,
58 "stdev": 0,
59 "count": 0,
60 }
61
62 ns_per_call = [r.ns_per_call for r in results]
63
64 return {
65 "best": min(ns_per_call),
66 "median": statistics.median(ns_per_call),
67 "worst": max(ns_per_call),
68 "stdev": statistics.stdev(ns_per_call) if len(ns_per_call) > 1 else 0,
69 "count": len(ns_per_call),
70 }
71
72 def generate_report(self) -> str:
73 """Generate markdown report for AI consumption"""
74 target = self.results[0].target if self.results else "unknown"
75
76 # Check if this is a comparison test (multiple variants)
77 if len(self.variants) > 1:
78 return self._generate_comparison_report(target)
79 else:
80 return self._generate_single_variant_report(target)
81
82 def _generate_single_variant_report(self, target: str) -> str:
83 """Generate report for single-variant tests"""
84 stats = self.compute_statistics()

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected