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

Method _generate_comparison_report

ci/profile/parse_results.py:129–183  ·  view source on GitHub ↗

Generate report for comparison tests with multiple variants

(self, target: str)

Source from the content-addressed store, hash-verified

127 return report
128
129 def _generate_comparison_report(self, target: str) -> str:
130 """Generate report for comparison tests with multiple variants"""
131 report = f"""
132# Performance Comparison: {target}
133
134"""
135
136 # Compute statistics for each variant
137 variant_stats: dict[str, dict[str, float]] = {}
138 for variant_name, variant_results in self.variants.items():
139 variant_stats[variant_name] = self.compute_statistics(variant_results)
140
141 # Display table for each variant
142 report += "## Variant Performance\n\n"
143 for variant_name in sorted(self.variants.keys()):
144 stats = variant_stats[variant_name]
145 report += f"### {variant_name} ({stats['count']} iterations)\n\n"
146 report += "| Metric | Value |\n"
147 report += "|--------|-------|\n"
148 report += f"| **Best** | {stats['best']:.2f} ns/call |\n"
149 report += f"| **Median** | {stats['median']:.2f} ns/call |\n"
150 report += f"| **Worst** | {stats['worst']:.2f} ns/call |\n"
151 report += f"| **StdDev** | {stats['stdev']:.2f} ns |\n"
152 report += f"| **Calls/sec** | {1e9 / stats['median']:.0f} |\n\n"
153
154 # Comparison analysis
155 report += "## Comparison\n\n"
156
157 # Find fastest and slowest
158 sorted_variants = sorted(variant_stats.items(), key=lambda x: x[1]["median"])
159 fastest = sorted_variants[0]
160 slowest = sorted_variants[-1]
161
162 report += f"**Fastest**: {fastest[0]} ({fastest[1]['median']:.2f} ns/call)\n\n"
163 report += f"**Slowest**: {slowest[0]} ({slowest[1]['median']:.2f} ns/call)\n\n"
164
165 if len(sorted_variants) >= 2:
166 speedup = slowest[1]["median"] / fastest[1]["median"]
167 report += (
168 f"**Speedup**: {speedup:.2f}x faster ({fastest[0]} vs {slowest[0]})\n\n"
169 )
170
171 # Relative performance table
172 report += "| Variant | Median (ns) | Relative | Speedup |\n"
173 report += "|---------|-------------|----------|----------|\n"
174 baseline_median = fastest[1]["median"]
175 for variant_name, stats in sorted_variants:
176 relative = stats["median"] / baseline_median
177 speedup = baseline_median / stats["median"]
178 if relative == 1.0:
179 report += f"| **{variant_name}** | {stats['median']:.2f} | 1.00x (baseline) | - |\n"
180 else:
181 report += f"| {variant_name} | {stats['median']:.2f} | {relative:.2f}x | {speedup:.2f}x |\n"
182
183 return report
184
185 def export_for_ai(self) -> dict[str, Any]:
186 """Export structured data for AI consumption"""

Callers 1

generate_reportMethod · 0.95

Calls 3

compute_statisticsMethod · 0.95
itemsMethod · 0.80
keysMethod · 0.45

Tested by

no test coverage detected