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

Method get_phase_times

ci/perf/compile_perf.py:114–142  ·  view source on GitHub ↗

Get time spent in each compilation phase.

(self)

Source from the content-addressed store, hash-verified

112 return 0.0
113
114 def get_phase_times(self) -> dict[str, float]:
115 """Get time spent in each compilation phase."""
116 result: dict[str, float] = {}
117
118 # Main phases
119 for phase in ["Frontend", "Backend"]:
120 event = self.phase_events.get(phase)
121 if event:
122 result[phase] = event.get("dur", 0) / 1000.0
123
124 # Additional breakdown
125 source_time = sum(e.get("dur", 0) for e in self.source_events) / 1000.0
126 result["Source"] = source_time
127
128 template_time = sum(e.get("dur", 0) for e in self.instantiate_events) / 1000.0
129 result["Templates"] = template_time
130
131 # Try to extract lexing/preprocessing
132 lex_events = [e for e in self.events if e.get("name", "").startswith("Lex")]
133 result["Lexing"] = sum(e.get("dur", 0) for e in lex_events) / 1000.0
134
135 preprocess_events = [
136 e for e in self.events if "Preprocess" in e.get("name", "")
137 ]
138 result["Preprocessing"] = (
139 sum(e.get("dur", 0) for e in preprocess_events) / 1000.0
140 )
141
142 return result
143
144 def _normalize_path(self, path: str) -> str:
145 """Normalize path for comparison (handle Windows/Unix paths)."""

Callers 2

generate_reportMethod · 0.95
generate_jsonMethod · 0.95

Calls 1

getMethod · 0.45

Tested by

no test coverage detected