BoomerangJS time to interactive calculation much slower for Firefox than Chrome


We are using the Boomerang Continuity Plugin to calculate the time-to-interactive for pages on our site from users’ browsers. It uses a mix of the standard performance metrics and some heuristics around frame rate, JavaScript engine idleness, etc.

For Firefox, we are seeing worse performance than other browsers at the slowest 10%. For example, the 90th percentile time-to-interactive for Firefox is 13.6s, vs. 8.0s in Chrome.

In our own testing Firefox performance is much better than this, so I’m not really able to reproduce the slowness. I’m looking for possible reasons for this, and ideas for reproducing or analyzing it; or else confirmation that

One thing I was wondering about is that our instrumentation code is hosted on CloudFront, and I see that is on the Disconnect blacklist used by Firefox, and the MDN documentation on setTimeout throttling says:

Since Firefox 55, tracking scripts (e.g. Google Analytics, any script URL that Firefox recognises as a tracking script through its TP lists) have been subject to further throttling. When running in the foreground, the throttling minimum delay is still 4ms. In background tabs, however, the throttling minimum delay is 10,000 ms, or 10 seconds, which comes into effect 30 seconds after a document has first loaded.

Is that something that could be impacting our measurement, and if so would hosting the instrumentation on a different domain help? Is any more detailed documentation about throttling available, or any way to measure/test if it is happening?

Anybody else have experience with this, tips on what might be going on, or ideas for troubleshooting or improving performance specifically on Firefox?