emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Rainer Stengele <rainer.stengele@online.de>
To: nicholas.dokos@hp.com
Cc: emacs-orgmode@gnu.org, Rainer Stengele <rainer.stengele@diplan.de>
Subject: Re: Performance problem when switching agenda views - need for cache?
Date: Sat, 16 Jul 2011 00:21:47 +0200	[thread overview]
Message-ID: <4E20BD7B.2050209@online.de> (raw)
In-Reply-To: <5990.1310760651@alphaville.americas.hpqcorp.net>

Am 15.07.2011 22:10, schrieb Nick Dokos:
> Rainer Stengele <rainer.stengele@diplan.de> wrote:
> 
> 
>> Many a times I look at my weekly agenda view, working on the items of
>> today and looking back over the weekdays to quickly find todos I have
>> to to add further notes and clock times.
>>
>> Now, sometimes I do not find the right todo in the weekly view, so I
>> activate the list of all open todos in order to find the appropriate
>> one.
>>
>> This process, switching to "all todos" and back to "weekly agenda"
>> takes about 18 (!) seconds netto.
>> ...
>>
>> org-agenda                                                    2           17.624        8.812
>> org-agenda-get-day-entries                                    64          13.610000000  0.2126562500
> 
> Clearly, the 64 calls to org-agenda-get-day-entries hurt: a cursory look shows
> 
> ,----
> |     (while (setq d (pop day-numbers))
> |       ...
> |       (setq files thefiles
> | 	    rtnall nil)
> |       (while (setq file (pop files))
> |            ...
> | 	      (setq rtn (apply 'org-agenda-get-day-entries
> | 			       file date
> | 			       org-agenda-entry-types)))))
> |            ...
> `----
> 
> so it loops over all the days and for each day it loops over all the
> files (7 days * 8 files = 56 times in org-agenda-list) - it "only" loops
> over the 8 files for a given date in org-todo-list. So your normal
> weekly agenda should take about 11 seconds or so (56/64 * 13) -
> does it? If so, that's already too much.
> 
> Anything you can do to reduce the burden will help:
>          
> o reducing the number of days - nah
> o reducing the number of files - maybe 
> o reducing the size of each file - yes!
> 
> particularly this one:
> 
>   21567  169446 1524359 f4.org
> 
> which is 5x bigger than any of the others. You might just try leaving out
> of the agenda file list, just to see what effect it has.
> 
>> org-agenda-run-series                                         1           11.812        11.812
> 
> Another thing that makes a difference is your
> org-agenda-custom-commands: afaict, this function is only called if
> org-agenda-custom-commands has an entry with a series of commands
> associated with it: the function runs overs the series of commands. I
> could try to deduce/guess what's in there, but it would be simpler if
> you just tell us :-) In any case, that's also a time hog.
> 
>> org-agenda-list                                               1           10.921        10.921
>> org-let2                                                      1           10.921        10.921
>> org-agenda-get-scheduled                                      56          7.284         0.1300714285
>> org-todo-list                                                 1           5.281         5.281
>> org-agenda-get-todos                                          8           3.594         0.44925
>> ...
> 
> Nick
> 
> 
> 
Nick, thanks for your analysis,
my custom agenda command for the weekly agenda is this:

        ...
	("07" "agenda no todos sorted prio up - 7 days"
	 ((agenda ".. agenda"
		  (
		   (org-agenda-ndays 7)
		   (org-agenda-start-with-log-mode t)
		   (org-agenda-overriding-header "Weekly Agenda"))))
	 ((org-agenda-sorting-strategy '(time-up priority-down todo-state-up))))
        ...

the todo list ist default "C-c a t"
It will not be easy to cut down my org files to smaller sizes.

Best,

- Rainer

  reply	other threads:[~2011-07-15 22:21 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-15 14:49 Performance problem when switching agenda views - need for cache? Rainer Stengele
2011-07-15 16:00 ` Memnon Anon
2011-07-15 18:00   ` Rainer Stengele
2011-07-15 20:10 ` Nick Dokos
2011-07-15 22:21   ` Rainer Stengele [this message]
2011-07-15 23:15     ` Nick Dokos
2011-07-16  0:02       ` Rainer Stengele
2011-07-16 11:21         ` Bastien

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.orgmode.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E20BD7B.2050209@online.de \
    --to=rainer.stengele@online.de \
    --cc=emacs-orgmode@gnu.org \
    --cc=nicholas.dokos@hp.com \
    --cc=rainer.stengele@diplan.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).