On Special:BlankPage I see 24 queries (many to objectcache), but what caught my attention is that this simple query is repeated 4 times:
```
18 localhost: SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Developer' LIMIT 1 1.0000ms User::load
21 localhost: SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Developer' LIMIT 1 0.0000ms User::load
22 localhost: SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Developer' LIMIT 1 0.0000ms User::load
23 localhost: SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Developer' LIMIT 1 0.0000ms User::load
```
This seems wasteful. Why isn't the user object caching this properly?
```lang=diff
--- a/includes/user/User.php
+++ b/includes/user/User.php
@@ -374,7 +374,7 @@ class User implements IDBAccessObject, UserIdentity {
'actor',
[ 'actor_id', 'actor_user', 'actor_name' ],
$this->mFrom === 'name' ? [ 'actor_name' => $this->mName ] : [ 'actor_id' => $this->mActorId ],
- __METHOD__,
+ wfGetAllCallers( 6 ),
```
```name=Queries log
41 SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Admin' LIMIT 1
=> ResourceLoaderWikiModule::preloadTitleInfo/ResourceLoaderUserStylesModule->getPages/User->isAnon/User->isRegistered/User->getId/User->load
42 SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,
user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id
FROM `user` JOIN `actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 1 LIMIT 1
User::loadFromDatabase
43 SELECT ug_user,ug_group,ug_expiry FROM `user_groups` WHERE ug_user = 1
UserGroupMembership::getMembershipsForUser
45 SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Admin' LIMIT 1
=> ResourceLoaderWikiModule->getTitleInfo/ResourceLoaderUserModule->getPages/User->isAnon/User->isRegistered/User->getId/User->load
46 SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,
user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id
FROM `user` JOIN `actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 1 LIMIT 1
User::loadFromDatabase
47 SELECT ug_user,ug_group,ug_expiry FROM `user_groups` WHERE ug_user = 1
UserGroupMembership::getMembershipsForUser
48 SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Admin' LIMIT 1
=> ResourceLoaderWikiModule->getTitleInfo/ResourceLoaderUserModule->getPages/User->isAnon/User->isRegistered/User->getId/User->load
49 SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,
user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id
FROM `user` JOIN `actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 1 LIMIT 1
User::loadFromDatabase
50 SELECT ug_user,ug_group,ug_expiry FROM `user_groups` WHERE ug_user = 1
UserGroupMembership::getMembershipsForUser
51 SELECT actor_id,actor_user,actor_name FROM `actor` WHERE actor_name = 'Admin' LIMIT 1
=> User->getEditToken/User->getEditTokenObject/User->isAnon/User->isRegistered/User->getId/User->load
52 SELECT user_id,user_name,user_real_name,user_email,user_touched,user_token,
user_email_authenticated,user_email_token,user_email_token_expires,user_registration,user_editcount,user_actor.actor_id
FROM `user` JOIN `actor` `user_actor` ON ((user_actor.actor_user = user_id)) WHERE user_id = 1 LIMIT 1
User::loadFromDatabase
```