id,summary,reporter,owner,description,type,status,priority,milestone,component,version,severity,resolution,keywords,cc,focuses 25233,Revisions metabox improvements,jkudish,adamsilverstein,"The revisions metabox suffers from performance degradation when unlimited revisions are allowed and a large amount of revisions (e.g. 600+) is achieved on a post. Symptoms: * Slow wp-admin page loads * Out of memory errors and 500 errors. This seems to be mainly due to: * All revisions are loaded at once when a post is loaded in wp-admin * For each revision, the entire `$post` object is loaded, when only a few pieces of information are needed * The queries in `get_children()` are not cached Proposed solution: * Rewrite the revisions meta box to load the revisions via ajax instead of with the initial page load, possibly with pagination or some kind of infinite scroll. * Only load the information required and not the entire `$post` object for each revision. * Cache the queries involved. Possible bottlenecks: * The `get_children()` and `wp_get_post_revisions()` functions are used in a bunch of different places, so it might be difficult to bake in compatibility for everything. Might be easier to create some new functions for the metabox specifically. * Currently WordPress loads all the revsions in order to possibly upgrade them to the 3.6 versioning of revisions. It does so on every post loaded in wp-admin. It might make sense to move this to an upgrade routine or somewhere else as it adds to the performance degradation. If this sounds like a good approach I'd be happy to work on a patch.",enhancement,closed,normal,,Revisions,,normal,wontfix,needs-patch,,