calibration.ts 673 B

123456789101112131415
  1. /** Shared conversion from reference-machine expectations to CI time budgets. */
  2. /** Measured wall-time ratio between the x64 CI runner and the arm64 reference machine. */
  3. export const CI_TIME_SCALE = 2
  4. /** Allowed variance above the calibrated expectation. */
  5. export const PERFORMANCE_BUDGET_HEADROOM = 1.25
  6. /**
  7. * Convert a reference-machine duration into its CI wall-time budget.
  8. * @param expectedMs - Expected duration on the reference machine.
  9. * @returns Integer CI budget including machine scaling and variance headroom.
  10. */
  11. export function ciTimeBudget(expectedMs: number): number {
  12. return Math.ceil(expectedMs * CI_TIME_SCALE * PERFORMANCE_BUDGET_HEADROOM)
  13. }