#3555 - New block 'defer' mode based on Facebook's BigPipe
| Identifier | #3555 |
|---|---|
| Issue type | Feature request or suggestion |
| Title | New block 'defer' mode based on Facebook's BigPipe |
| Status | Open |
| Tags |
Type: Performance (custom) |
| Handling member | Deleted |
| Addon | core |
| 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 |
| Steps to reproduce | |
| Additional information | Drupal has implemented BigPipe. |
| Funded? | No |
The system will post a comment when this issue is modified (e.g., status changes). To be notified of this, click "Enable comment notifications".


Comments
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.