You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
perf: extend watch-set fingerprint cache to AVR / Teensy / other orchestrators #121
The hash_watch_set_stamps_cached wrapper + BuildParams::watch_set_cache plumbing landed in #120, but the fast-path fingerprint check that consumes it only exists in crates/fbuild-build/src/esp32/orchestrator.rs today. AVR / Teensy / RP2040 / STM32 orchestrators fall back to their own (slower) warm-path logic, so the memo never fires for them.
Scope:
Port the ESP32 fast-path check (lines ~329–423 of esp32/orchestrator.rs) to the AVR orchestrator as a starting point — AVR is the smallest viable testbed and has the fastest compile cycle for iteration.
Extract the common logic into crate::build_fingerprint::fast_path_check(...) so future orchestrators can opt in with a one-liner.
Sanity check: warm fbuild build tests/platform/uno -e uno should land <50 ms when the cache is fresh (today is 211 ms, dominated by the per-call orchestrator setup).
Partially addressed in #128 — AVR orchestrator now has its own fast-path check sharing the PersistedBuildFingerprint + hash_watch_set_stamps_cached primitives but without a common helper.
Remaining scope (re-opening):
Extract the shared "check metadata + artifacts + watch-set → Hit/Miss" shape into crate::build_fingerprint::fast_path_check(...) with an orchestrator-specific callback for (a) the expected artifact list and (b) the BuildResult builder.
Port that helper to Teensy / RP2040 / STM32. The ESP32 path has zccache-first branching that should stay out of the generic helper — AVR is the right pattern to generalize from.
Decide whether to also port back into the ESP32 orchestrator or keep the ESP32 variant as the "full-featured" one (zccache + selective regions + 5 artifacts).
Each port is independent — can land as separate PRs.
Activity
perf(build): add fast-path fingerprint check to AVR orchestrator (#121)
perf(build): add fast-path fingerprint check to AVR orchestrator (#121)…
zackees commentedon Apr 19, 2026
Partially addressed in #128 — AVR orchestrator now has its own fast-path check sharing the
PersistedBuildFingerprint+hash_watch_set_stamps_cachedprimitives but without a common helper.Remaining scope (re-opening):
crate::build_fingerprint::fast_path_check(...)with an orchestrator-specific callback for (a) the expected artifact list and (b) theBuildResultbuilder.Each port is independent — can land as separate PRs.
perf(build): extend watch-set fingerprint fast-path to AVR orchestrator
perf(build): extend watch-set fingerprint fast-path to AVR orchestrator
perf(build): extend watch-set fingerprint fast-path to AVR orchestrator