Hello, I have a module wich implements hook_user.
I noticed that my hook was invoked many times with the 'load' option... so I made a trace to see where did these calls come from, and this is the result:
menu_get_item [menu.inc] (ln 343)
menu_translate (ln 316)
_menu_load_objects (ln 566)
*callback* user_uid_optional_load
<b>user_load</b>
user_module_invoke('load')
myhook_user
user_view
user_build_content
user_module_invoke('view')
myhook_user
print theme('page', $return); [index.php] (ln 36)
theme('blocks', 'left')
theme('block', 'left')
module_invoke('user_block', 'view')
menu_tree('navigation')
menu_tree_check_access // Check access for the current user to each item in the tree.
_menu_link_translate
_menu_load_objects
*callback* user_uid_optional_load
<b>user_load</b>
user_module_invoke('load')
myhook_user
template_preprocess_page
theme('help')
ctools_menu_help
ctools_menu_get_active_help
ctools_menu_tab_root_path
ctools_menu_local_tasks
_menu_translate
_menu_load_objects
<b>user_load</b>
user_module_invoke('load')
myhook_user
_menu_translate
_menu_load_objects
<b>user_load</b>
user_module_invoke('load')
myhook_user
_menu_translate
_menu_load_objects
<b>user_load</b>
user_module_invoke('load')
myhook_user
[...] about 20 more times
Seems that ctools is calling menu_translate multiple times, one for each menu item, and each call one calling user_load ...
Is that call really necessary ?
Comments
Comment #1
merlinofchaos commented1) Not critical. C'mon.
2) "Needs review" means there is a patch attached.
3) It should be doing almost exactly the same thing that core is doing, it's basically just a copy of core code with a couple of extra features to make some things possible. So I think you'd be getting this even with ctools not in the picture.
Comment #2
savioret commentedDo you mean that it is not a performance problem anyway ? o_O
So, do you think the problem is "originated" by ctools? or by drupal core?
Comment #3
merlinofchaos commentedI mean if you were to go in and remove the bit in CTools that adds its own menu item to theme help and otherwise left everything the same, you would see the same problems. I'm not saying it isn't a performance issue, but that core's menu system, particularly where tabs are involved, is known to be a little overzealous.
Comment #4
merlinofchaos commentedMarking by design unless core makes a change that I need to change along with.