emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: Eric S Fraga <esflists@gmail.com>
To: Nicolas Goaziou <mail@nicolasgoaziou.fr>
Cc: Org Mode List <emacs-orgmode@gnu.org>
Subject: Re: [ANN] Agenda speed up
Date: Mon, 28 Aug 2017 11:12:09 +0100	[thread overview]
Message-ID: <87o9r0uhl2.fsf@t3610> (raw)
In-Reply-To: <87h8wtugst.fsf@nicolasgoaziou.fr> (Nicolas Goaziou's message of "Sun, 27 Aug 2017 18:16:50 +0200")

[-- Attachment #1: Type: text/plain, Size: 3427 bytes --]

On Sunday, 27 Aug 2017 at 18:16, Nicolas Goaziou wrote:
> Hello,
>
> I rewrote the part responsible for agenda generation in "org-agenda.el".
> Basically, I refactored some hot loops and introduced a cache mechanism
> for data extracted out of agenda files.
>
> I expect to see some interesting improvements when viewing the agenda
> with a span larger than one day, or when generating an agenda view
> without having touched most of the agenda files since last view.
>
> Some feedback about the new agenda speed would be nice.

Dear Nicolas,

thank you for this.  Speeding up the agenda is something that appeals
given the complexity of my agenda and the often need to view weeks or
months.

I've compared timings old with new (from git a few minutes ago) by
starting up emacs, instrumenting package org, viewing agenda (defaults
to 1 day), switching to month view and then moving to the following
month:

Old agenda:

| org-agenda-list               |     3 | 19.770361111 | 6.5901203703 |
| org-agenda-redo               |     2 | 18.346457274 | 9.1732286370 |
| org-let                       |     2 | 16.772160558 |  8.386080279 |
| org-agenda-get-day-entries    |   768 | 15.158740033 | 0.0197379427 |
| org-agenda-get-scheduled      |   768 | 9.5280991699 | 0.0124063791 |
| org-agenda-later              |     1 |  9.455895455 |  9.455895455 |
| org-agenda-view-mode-dispatch |     1 |  9.181260158 |  9.181260158 |
| org-agenda-month-view         |     1 |  8.891024524 |  8.891024524 |
| org-agenda-change-time-span   |     1 |  8.891016702 |  8.891016702 |
| org-agenda-prepare-buffers    |     5 | 5.8218686260 | 1.1643737252 |
| org-agenda-prepare            |     3 | 4.4909116949 | 1.4969705649 |
| org-at-planning-p             | 38979 | 3.8525446340 | 9.883...e-05 |
| org-agenda                    |     1 |  3.198932055 |  3.198932055 |

New agenda:

| org-agenda-list               |      3 | 29.473988928 |  9.824662976 |
| org-agenda-redo               |      2 | 28.332199373 | 14.166099686 |
| org-let                       |      2 | 25.852282215 | 12.926141107 |
| org-agenda-day-entries        |    768 | 25.210189072 | 0.0328257670 |
| org-agenda-view-mode-dispatch |      1 | 14.441177311 | 14.441177311 |
| org-agenda-month-view         |      1 | 14.281358385 | 14.281358385 |
| org-agenda-change-time-span   |      1 | 14.281353565 | 14.281353565 |
| org-agenda-later              |      1 | 14.051216182 | 14.051216182 |
| org-back-to-heading           | 110331 | 9.5532106970 | 8.658...e-05 |
| org-get-todo-state            |  96677 | 9.5383469060 | 9.866...e-05 |
| org-agenda-skip               |  97251 | 8.0815792529 | 8.310...e-05 |
| org-agenda-prepare-buffers    |      5 | 5.7887248999 |   1.15774498 |
| org-agenda-prepare            |      3 |  4.180059331 | 1.3933531103 |
| org-agenda                    |      1 |  3.805856309 |  3.805856309 |
| org-agenda-to-appt            |      2 |  2.477811826 |  1.238905913 |
| org-get-agenda-file-buffer    |    888 | 1.8626567679 | 0.0020975864 |

I had to remove a bunch of <%% (...)> items in one of my agenda files as
these gave me error messages about the sexp.

Finally, most importantly, the actual items shown in the day view with
the new code are only a subset of those shown with the old view.  I
cannot see any pattern in those omitted.

Thanks again,
eric

-- 
: Eric S Fraga via Emacs 26.0.50, Org release_9.0.9-796-gbae41a

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 194 bytes --]

  parent reply	other threads:[~2017-08-28 10:12 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-27 16:16 [ANN] Agenda speed up Nicolas Goaziou
2017-08-27 16:22 ` Nicolas Goaziou
2017-08-27 20:05 ` Samuel Wales
2017-08-31 17:17   ` Nicolas Goaziou
2017-08-27 20:53 ` Russell Adams
2017-08-28  8:32   ` Colin Baxter
2017-08-28 10:12 ` Eric S Fraga [this message]
2017-08-28 14:24   ` Nicolas Goaziou
2017-08-29  6:52     ` Eric S Fraga
2017-08-29 15:56       ` Robert Horn
2017-08-29  8:06     ` Eric S Fraga
2017-08-30  9:00       ` Nicolas Goaziou
2017-08-30  9:41         ` Eric S Fraga
2017-08-30 15:00           ` Nicolas Goaziou
2017-08-30 15:37             ` Eric S Fraga
2017-08-30  9:42         ` Eric S Fraga
2017-09-29 20:45 ` Nicolas Goaziou
2017-09-29 20:56   ` Samuel Wales
2017-09-30  8:55     ` Nicolas Goaziou
2017-09-30 19:03       ` Matt Lundin
2017-10-01 17:33         ` Nicolas Goaziou
2017-10-01 17:57           ` Samuel Wales
2017-10-01 17:58             ` Samuel Wales
2017-10-01 22:59             ` Nicolas Goaziou
2017-10-01 23:49           ` Matt Lundin
2017-09-30  3:20   ` Kyle Meyer
2017-10-02 13:41     ` Nicolas Goaziou
2017-10-05 14:48       ` Kyle Meyer
2017-09-30 18:54   ` Matt Lundin
2017-09-30 19:53     ` Matt Lundin
2017-10-01 17:13     ` Nicolas Goaziou
2017-10-02  0:11 ` Matt Lundin
2017-10-02  0:39   ` Samuel Wales
2017-10-02 15:46     ` Nicolas Goaziou
2017-10-02 18:11       ` Marco Wahl
2017-10-03  9:35         ` Nicolas Goaziou
2017-10-03 10:23           ` Marco Wahl
2017-10-02 20:39       ` Samuel Wales
2017-10-03  9:36         ` Nicolas Goaziou
2017-10-03 23:45           ` Samuel Wales
2017-10-04  0:05             ` Samuel Wales
2017-10-02 15:28   ` Nicolas Goaziou

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=87o9r0uhl2.fsf@t3610 \
    --to=esflists@gmail.com \
    --cc=emacs-orgmode@gnu.org \
    --cc=mail@nicolasgoaziou.fr \
    /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).