On Mon, May 09, 2005 at 11:07:12AM +0200, Gerhard Killesreiter wrote:
On Mon, 9 May 2005, Adrian Rossouw wrote:
On 09 May 2005, at 10:13 AM, Gerhard Killesreiter wrote:
or do we only start to deliver the page after _everything_ has been processed?). Bingo.
*bummer*
There's only one print theme('page'); And at that point everything has already been processed. Except for perhaps the blocks, which get populated within theme_page()
Well, if the blocks would be processed seperately, that would be quite some gain. I suppose that for some pages the blocks take up more processing time than the main page.
The ideal place for updating the history table would be in hook_exit(), but that would cause node.module to be loaded for cached pages.
Alternatively, we could move the call to hook_footer into drupal_page_footer(). It does not seem to be used anywhere (added: the copyright module uses it). BTW, I'd like to have a hook_header back to avoid emitting extra CSS and JS in the _menu hook. I think I can rally support for this. :)
Remember that hook_exit() is executed before the headers are sent by a call to drupal_goto() so it does still take time which is passed on to the user in some cases. However I don't think that will be an issue in this case since I think the history table is updated on viewing only and drupal_goto() happens only on some posts. -Neil