From 6022a9e9cdf12d60a138f06300285f231d2c2976 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 9 Feb 2013 04:22:11 -0800 Subject: more profiling - cache the qcomment list so we don't have to look it up for every rendered item --- boot.php | 2 ++ include/ItemObject.php | 21 ++++++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 4c78f0b9c..bd57e4171 100644 --- a/boot.php +++ b/boot.php @@ -1883,6 +1883,8 @@ if(! function_exists('load_contact_links')) { if(! $uid || x($a->contacts,'empty')) return; + logger('load_contact_links'); + $r = q("SELECT abook_id, abook_flags, abook_my_perms, abook_their_perms, xchan_hash, xchan_photo_m, xchan_name, xchan_url from abook left join xchan on abook_xchan = xchan_hash where abook_channel = %d and not (abook_flags & %d) ", intval($uid), intval(ABOOK_FLAG_SELF) diff --git a/include/ItemObject.php b/include/ItemObject.php index d3d2b7283..6ba95d9b2 100644 --- a/include/ItemObject.php +++ b/include/ItemObject.php @@ -81,6 +81,9 @@ class Item extends BaseObject { */ public function get_template_data($alike, $dlike, $thread_level=1) { + + $t1 = dba_timer(); + $result = array(); $a = $this->get_app(); @@ -184,10 +187,16 @@ class Item extends BaseObject { if(strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC','now - 12 hours')) > 0) $indent .= ' shiny'; + $t2 = dba_timer(); + localize_item($item); + $t3 = dba_timer(); + $body = prepare_body($item,true); + $t4 = dba_timer(); + $tmp_item = array( 'template' => $this->get_template(), @@ -238,6 +247,8 @@ class Item extends BaseObject { 'thread_level' => $thread_level ); + $t5 = dba_timer(); + $arr = array('item' => $item, 'output' => $tmp_item); call_hooks('display_item', $arr); @@ -275,6 +286,14 @@ class Item extends BaseObject { $result['flatten'] = true; $result['threaded'] = false; } + $t6 = dba_timer(); + +// profiler($t1,$t2,'t2'); +// profiler($t2,$t3,'t3'); +// profiler($t3,$t4,'t4'); +// profiler($t4,$t5,'t5'); +// profiler($t5,$t6,'t6'); +// profiler($t1,$t6,'item total'); return $result; } @@ -497,7 +516,7 @@ class Item extends BaseObject { $a = $this->get_app(); - $qc = ((local_user()) ? get_pconfig(local_user(),'qcomment','words') : null); + $qc = ((local_user()) ? get_pconfig(local_user(),'system','qcomment') : null); $qcomment = (($qc) ? explode("\n",$qc) : null); $comment_box = replace_macros($template,array( -- cgit v1.2.3