Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
Revealed via #910156: Remove 'description' keys from schema cache, we're loading the entire 'schema' cache on every page, in case there is an entity loaded for anything - including menu links.
Comment | File | Size | Author |
---|---|---|---|
#11 | drupal.entity-schema-cache.11.patch | 2.87 KB | sun |
#7 | drupal.entity-schema-cache.7.patch | 3.81 KB | sun |
#5 | drupal.entity-schema-cache.5.patch | 2.18 KB | sun |
#3 | drupal.entity-schema-cache.3.patch | 2.11 KB | sun |
#2 | drupal.entity-schema-cache.2.patch | 2.3 KB | sun |
Comments
Comment #1
sunEven better!
Comment #2
sunoopsie
Comment #3
sunComment #5
sunRemote entities do not specify a 'base table'.
Comment #7
sunWeird tests introduced in #742972: Clear entity info cache during module enable
Comment #8
chx CreditAttribution: chx commentedI have generated nodes and terms and then the front page showed a nice 4.5% performance increase. That's a steal given how simple the patch is. Awesome work.
Comment #9
catchVery, very nice.
Comment #10
klausiNo, we don't want to change the test case like that, because it was explicitly written to check for hook_watchdog(). As I described in #742972: Clear entity info cache during module enable hook_watchdog() should be consistent and developers should be able to rely on the fact that a hook in their module is only called when it is fully enabled and installed.
Comment #11
sunLet's fix those tests properly over there.
The only required fix for this patch is the removal of the non-existing and therefore invalid 'base table' definition.
Comment #12
klausiÄhm, why is 'base table' invalid? It is listed on http://api.drupal.org/api/function/hook_entity_info/7
Comment #13
sunBecause the specified table does not exist.
Comment #14
klausiAh right, that thing isn't generated automatically. Sorry.
Comment #15
sunThus, back to RTBC, I guess.
Comment #16
sunAlthough my local box is totally not suitable for doing benchmarks, I've mass-applied the following range of current performance patches and am getting a nice boost:
#910190: Entire schema cache needlessly loaded on all pages
#910156: Remove 'description' keys from schema cache
#606966: 'load arguments' of parent path are not inherited
#910124: Clean up menu_contextual_links()
Test page: admin/config/development/devel; Garland; enabled Navigation menu block containing 1 taxonomy term link and 1 node link.
Comment #17
webchickNice catch!!
Committed to HEAD. Thanks!