Looking for variant approach/sketch

Just because I am curious...
How fast does this run?

void factorialI(uint32_t &fac, uint8_t n)
{
  fac = n;
  while ((--n) > 1) fac *= n;
}