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
Processing results has non-trivial baseline overhead, especially for relationships. Often requests made close to each other contain result payloads that require work that could be deduplicated if processed together.
This proposal would add an optional coalescing feature to the CacheHandler. When coalescing, the handler would delay processing any payloads for a short time, and process any received payloads as a single batch, allowing XHR requests which resolve very close together to batch and dedupe similar work while still taking advantage of empty time while long requests are pending.
We may want to make the coalescing delay configurable, but the default would be to debounce await new Promise((resolve) => requestAnimationFrame(() => setTimeout(resolve, 0)));, thus waiting one frame past the last payload received to process.
The text was updated successfully, but these errors were encountered:
Similar to #8855 but for response handling
Processing results has non-trivial baseline overhead, especially for relationships. Often requests made close to each other contain result payloads that require work that could be deduplicated if processed together.
This proposal would add an optional coalescing feature to the CacheHandler. When coalescing, the handler would delay processing any payloads for a short time, and process any received payloads as a single batch, allowing XHR requests which resolve very close together to batch and dedupe similar work while still taking advantage of empty time while long requests are pending.
We may want to make the coalescing delay configurable, but the default would be to debounce
await new Promise((resolve) => requestAnimationFrame(() => setTimeout(resolve, 0)));
, thus waiting one frame past the last payload received to process.The text was updated successfully, but these errors were encountered: