Commit Graph

6 Commits

Author SHA1 Message Date
Drew Jaynes
0860bb2771 Docs: Remove @access notations from method DocBlocks in wp-includes/* classes.
Prior to about 2013, many class methods lacked even access modifiers which made the `@access` notations that much more useful. Now that we've gotten to a point where the codebase is more mature from a maintenance perspective and we can finally remove these notations. Notable exceptions to this change include standalone functions notated as private as well as some classes still considered to represent "private" APIs.

See #41452.

Built from https://develop.svn.wordpress.org/trunk@41162


git-svn-id: http://core.svn.wordpress.org/trunk@41002 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-27 00:41:44 +00:00
Drew Jaynes
fb6d8bae49 Docs: Apply inline @see tags to hooks referenced in DocBlocks for core classes.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.

Built from https://develop.svn.wordpress.org/trunk@37539


git-svn-id: http://core.svn.wordpress.org/trunk@37507 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-23 18:54:27 +00:00
Drew Jaynes
feb3c20d12 Docs: Standardize file header summary for wp-includes/class-wp-metadata-lazyloader.php.
See [36897]. See #35986.

Built from https://develop.svn.wordpress.org/trunk@36899


git-svn-id: http://core.svn.wordpress.org/trunk@36867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-09 16:59:27 +00:00
Drew Jaynes
e7bea9ba6e Docs: Improve inline documentation syntax throughout WP_Metadata_Lazyloader, introduced in [36566].
See #35816. See #35986.

Built from https://develop.svn.wordpress.org/trunk@36898


git-svn-id: http://core.svn.wordpress.org/trunk@36866 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-09 16:55:26 +00:00
Drew Jaynes
a1b18a3ae6 Docs: Add a missing file header to wp-includes/class-wp-metadata-lazyloader.php, introduced in [36566].
See #35816. See #35986.

Built from https://develop.svn.wordpress.org/trunk@36897


git-svn-id: http://core.svn.wordpress.org/trunk@36865 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-09 16:52:27 +00:00
Boone Gorges
571e14f897 More performance improvements to metadata lazyloading.
Comment and term meta lazyloading for `WP_Query` loops, introduced in 4.4,
depended on filter callback methods belonging to `WP_Query` objects. This meant
storing `WP_Query` objects in the `$wp_filter` global (via `add_filter()`),
requiring that PHP retain the objects in memory, even when the local variables
would typically be expunged during normal garbage collection. In cases where a
large number of `WP_Query` objects were instantiated on a single pageload,
and/or where the contents of the `WP_Query` objects were quite large, serious
performance issues could result.

We skirt this problem by moving metadata lazyloading out of `WP_Query`. The
new `WP_Metadata_Lazyloader` class acts as a lazyload queue. Query instances
register items whose metadata should be lazyloaded - such as post terms, or
comments - and a `WP_Metadata_Lazyloader` method will intercept comment and
term meta requests to perform the cache priming. Since `WP_Metadata_Lazyloader`
instances are far smaller than `WP_Query` (containing only object IDs), and
clean up after themselves far better than the previous `WP_Query` methods (bp
only running their callbacks a single time for a given set of queued objects),
the resource use is decreased dramatically.

See [36525] for an earlier step in this direction.

Props lpawlik, stevegrunwell, boonebgorges.
Fixes #35816.
Built from https://develop.svn.wordpress.org/trunk@36566


git-svn-id: http://core.svn.wordpress.org/trunk@36533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-17 22:58:26 +00:00