View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003555 | Composr | core | public | 2018-03-08 04:51 | 2019-06-27 15:40 |
Reporter | Chris Graham | Assigned To | |||
Severity | Feature-request | ||||
Status | non-assigned | Resolution | open | ||
Product Version | |||||
Fixed in Version | |||||
Summary | 0003555: New block 'defer' mode based on Facebook's BigPipe | ||||
Description | See: https://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919 A new kind of 'defer' mode for blocks, similar to the current one but a bit more sophisticated Rather than AJAX execution, the block is computed later in the same page request A symbol in GLOBAL_HTML_WRAP.tpl, just before </body> would inject the late blocks The block HTML would be copied to the correct DOM position using JavaScript Block HTML generation would be done in parallel; using pcntl_fork, and short-lived persistent caching to buffer the data back to the main process Combine with output streaming option for best performance Allows the browser to pre-load all the JS and CSS references (that the smart cache has already injected), and even render most of the page, but doesn't require the less-efficient AJAX loading | ||||
Additional Information | Drupal has implemented BigPipe. | ||||
Tags | Type: Performance | ||||
Time estimation (hours) | 24 | ||||
Sponsorship open | 0 | ||||
|
It might be that HTTP preloading can remove the need for this - by putting out preload headers for the deferred AJAX requests, meaning the HTTP/2 server will automatically push the results of those requests. I'm not sure if something would need changing regarding HTTP caching for those requests - i.e. will a non-cachable request done early be valid for the current page render. |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-03-08 04:51 | Chris Graham | New Issue | |
2018-03-08 04:51 | Chris Graham | Tag Attached: Type: Performance | |
2019-06-27 15:40 | Chris Graham | Note Added: 0005996 |