Skip to main content
Topic: Hook Counts (Read 2184 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Hook Counts

Just a question for the smart kids since I don't know.

When loading up the board index of my test site, I noted the hook count was 157 hooks called ... I was like holy crap, seems like a lot.  Looking at the list (below) many are repeat calls for the same page load.  I don't know if that's needed or if there is a way to only call the hook once per page load, or if its simply a don't care (and maybe in debug we do some array_unique thingy to only show them once)

Code: [Select]
integrate_load_average, integrate_pre_include, integrate_pre_load, integrate_verify_user, integrate_avatar, integrate_user_info, integrate_simple_actions, integrate_init_theme, integrate_theme_include, integrate_load_theme, integrate_pre_log_stats, integrate_action_frontpage, integrate_action_boardindex_before, pre_cache_quick_get, pre_cache_quick_get, post_cache_quick_get, post_cache_quick_get, integrate_board_autolink_parser, integrate_additional_bbc, integrate_autolink_load, integrate_board_html_parser, integrate_html_parser_load, integrate_board_bbc_parser, integrate_item_codes, bbc_codes_parsing, integrate_item_codes, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, integrate_board_autolink_parser, integrate_board_html_parser, integrate_board_bbc_parser, integrate_board_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_avatar, pre_cache_quick_get, integrate_message_autolink_parser, integrate_message_html_parser, integrate_message_bbc_parser, integrate_message_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_message_autolink_parser, integrate_message_html_parser, integrate_message_bbc_parser, integrate_message_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_message_autolink_parser, integrate_message_html_parser, integrate_message_bbc_parser, integrate_message_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_message_autolink_parser, integrate_message_html_parser, integrate_message_bbc_parser, integrate_message_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_message_autolink_parser, integrate_message_html_parser, integrate_message_bbc_parser, integrate_message_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, post_cache_quick_get, integrate_mark_read_button, integrate_action_boardindex_after, integrate_notifications_methods, integrate_buffer, integrate_security_files, integrate_news_autolink_parser, integrate_news_html_parser, integrate_news_bbc_parser, integrate_news_smiley_parser, integrate_pre_bbc_parser, integrate_possible_autolink, integrate_post_bbc_parser, integrate_menu_buttons, pre_css_output, pre_javascript_output, integrate_basic_url_replacement, pre_javascript_output

Re: Hook Counts

Reply #1

Most of those are from the BBC parser. Most of that is from this loop in ParserWrapper:
Code: [Select]
// First see if any hooks set a parser.

Since the first thing it does is isset($modSettings[$hook]) after adding that to the debug list, it doesn't really hurt to call it.

Maybe we can change it to view it chronologically or alphabetically and then group by name or no grouping. That's some Javascript necessary for that though.

Re: Hook Counts

Reply #2

I was wondering, why not just:
Code: [Select]
		$parsers = array(
'autolink' => array($this, 'getAutolinkParser'),
'html' => array($this, 'getHtmlParser'),
'bbc' => array($this, 'getBBCParser'),
'smiley' => array($this, 'getSmileyParser'),
);

call_integration_hook('integrate_' . $area . '_parser', array(&$parsers, $this));

// First see if any hooks set a parser.
foreach ($parsers as $parser_type => $parser)
{
$parsers[$parser_type] = call_user_func($parser);
}

return $parsers;
Bugs creator.
Features destroyer.
Template killer.