summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2007-05-18 05:16:33 +0100
committerAndrew Dolgov <[email protected]>2007-05-18 05:16:33 +0100
commit469219162f0a3cb51f53bd1b4172c3b424be1ec0 (patch)
treefcd959c5457f95c3e29de31490334a4a530eb5ad
parent947c61863e96225bf2bb8b45c141eed776201874 (diff)
increase performance of queryFeedHeadlines request
-rw-r--r--backend.php11
-rw-r--r--functions.php20
2 files changed, 27 insertions, 4 deletions
diff --git a/backend.php b/backend.php
index 9ca9e0536..9b28f650e 100644
--- a/backend.php
+++ b/backend.php
@@ -178,8 +178,13 @@
if ($op == "viewfeed") {
+ $print_exec_time = true;
+ $timing_info = getmicrotime();
+
print "<reply>";
+ if ($_GET["debug"]) $timing_info = print_checkpoint("0", $timing_info);
+
$omode = db_escape_string($_GET["omode"]);
$feed = db_escape_string($_GET["feed"]);
@@ -200,6 +205,8 @@
print "]]></headlines>";
+ if ($_GET["debug"]) $timing_info = print_checkpoint("10", $timing_info);
+
if (is_array($topmost_article_ids) && !get_pref($link, 'COMBINED_DISPLAY_MODE')) {
print "<articles>";
foreach ($topmost_article_ids as $id) {
@@ -208,10 +215,14 @@
print "</articles>";
}
+ if ($_GET["debug"]) $timing_info = print_checkpoint("20", $timing_info);
+
print "<counters>";
getAllCounters($link, $omode);
print "</counters>";
+ if ($_GET["debug"]) $timing_info = print_checkpoint("30", $timing_info);
+
print "</reply>";
}
diff --git a/functions.php b/functions.php
index ba8c4e6a6..ec234ddc2 100644
--- a/functions.php
+++ b/functions.php
@@ -2532,7 +2532,7 @@
$query = "SELECT
guid,
ttrss_entries.id,ttrss_entries.title,
- SUBSTRING(updated,1,16) as updated,
+ updated,
unread,feed_id,marked,link,last_read,
SUBSTRING(last_read,1,19) as last_read_noms,
$vfeed_query_part
@@ -2563,7 +2563,7 @@
$result = db_query($link, "SELECT
guid,
ttrss_entries.id as id,title,
- SUBSTRING(updated,1,16) as updated,
+ updated,
unread,feed_id,
marked,link,last_read,
SUBSTRING(last_read,1,19) as last_read_noms,
@@ -3564,6 +3564,8 @@
function outputHeadlinesList($link, $feed, $subop, $view_mode, $limit, $cat_view,
$next_unread_feed, $offset) {
+ $timing_info = getmicrotime();
+
$topmost_article_ids = array();
if (!$offset) $offset = 0;
@@ -3636,9 +3638,13 @@
$real_offset = $offset * $limit;
+ if ($_GET["debug"]) $timing_info = print_checkpoint("H0", $timing_info);
+
$qfh_ret = queryFeedHeadlines($link, $feed, $limit, $view_mode, $cat_view,
$search, $search_mode, $match_on, false, $real_offset);
+ if ($_GET["debug"]) $timing_info = print_checkpoint("H1", $timing_info);
+
$result = $qfh_ret[0];
$feed_title = $qfh_ret[1];
$feed_site_url = $qfh_ret[2];
@@ -3723,10 +3729,10 @@
# $line["title"] . "</a>";
if (get_pref($link, 'HEADLINES_SMART_DATE')) {
- $updated_fmt = smart_date_time(strtotime($line["updated"]));
+ $updated_fmt = smart_date_time(strtotime($line["updated_noms"]));
} else {
$short_date = get_pref($link, 'SHORT_DATE_FORMAT');
- $updated_fmt = date($short_date, strtotime($line["updated"]));
+ $updated_fmt = date($short_date, strtotime($line["updated_noms"]));
}
if (get_pref($link, 'SHOW_CONTENT_PREVIEW')) {
@@ -3928,4 +3934,10 @@
$key . '">' . $key . '</a> ';
}
}
+
+ function print_checkpoint($n, $s) {
+ $ts = getmicrotime();
+ echo sprintf("<!-- CP[$n] %.4f seconds -->", $ts - $s);
+ return $ts;
+ }
?>