--
You received this message because you are subscribed to the Google Groups "scheduler-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scheduler-de...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/scheduler-dev/CAGD3t5FaxGeBpfz6swgfuCoX0O2M_aRUk-NvFLUEPzWfG9yjSQ%40mail.gmail.com.
Thanks François!(I'm away for two weeks starting next Monday, so let me defer here to +Scott Haseley here to avoid blocking you)My main question here would be whether we have any data on the distribution of timer nesting levels in the wild? In particular, I'm somewhat worried that a repeated pattern of timer - promise - timerwill be considered non-nested and exempted from throttling. I'd recommend getting some metrics here.
My biggest question is whether or not we want to try to keep the existing ordering guarantees, as Sami brought up. IIUC, the ordering would only be a problem between timers started in different tasks since timers started within the same task would all have the same nesting level? Relying on ordering between timers started in different tasks seems brittle to me, although I'm sure it happens in practice. Are there use cases folks have come across where this makes sense?My understanding of Safari's version of this is that they already break the spec by treating timers that haven't reached the max nesting level differently (ignoring ordering guarantees). If that's the case, I'm inclined to say we should also break this and simplify things, and update the timer spec to reflect this. But of course I don't know what sites are relying on ordering between timers that we'd break by doing this.On Wed, Sep 9, 2020 at 1:36 PM Alexander Timin <alt...@chromium.org> wrote:Thanks François!(I'm away for two weeks starting next Monday, so let me defer here to +Scott Haseley here to avoid blocking you)My main question here would be whether we have any data on the distribution of timer nesting levels in the wild? In particular, I'm somewhat worried that a repeated pattern of timer - promise - timerwill be considered non-nested and exempted from throttling. I'd recommend getting some metrics here.Re: timer-promise-timer, do you mean something like setTimeout(() => Promise.resolve().then(() => setTimeout(...))), or if there's a non-setTimeout async step? For the former case, I believe we run a microtask checkpoint after every callback which should leave the nesting level intact (it would be good to double-check this).
Hi Scott,WebKit hasn't responded yet. Should we take some actions to get their input?