emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
From: "Sebastien Vauban" <wxhgmqzgwmuf-geNee64TY+gS+FvcfC7Uqw@public.gmane.org>
To: emacs-orgmode-mXXj517/zsQ@public.gmane.org
Subject: Re: elp-instrument-package does not return anything
Date: Tue, 25 Dec 2012 17:24:21 +0100	[thread overview]
Message-ID: <80k3s685hm.fsf@somewhere.org> (raw)
In-Reply-To: 87y5gmrgo8.fsf@bzg.ath.cx

Hi Bastien,

Bastien wrote:
> "Sebastien Vauban" wrote:
>
>> Generating the agenda for 43 files, and more or less 75 entries to display,
>> takes between 17 and 20 seconds, in this case 19 seconds:
>>
>> org-agenda-list                                               1           19.156        19.156
>> org-agenda-prepare                                            1           11.141        11.141
>> org-agenda-prepare-buffers                                    1           11.078        11.078
>> org-get-agenda-file-buffer                                    344         11.064000000  0.0321627906
>   ^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> This is the most significant entry for me: it tells that Emacs on your
> machine takes quite a lot of time to access files.  May be due to your
> harddrive and your computer...

Though, I can ensure you that, 2 weeks ago, I did run Windows' defrag multiple
times -- and it did change the colors shown in its analysis phase. For the
rest, not sure to notice any speedup, however. I mean: sure, I did not notice
any real difference. But better it's done, anyway.

>> org-agenda-get-day-entries                                    301         7.5179999999  0.0249767441
>> org-agenda-get-scheduled                                      301         4.5180000000  0.0150099667
>> org-mode                                                      43          3.7710000000  0.0876976744
>> org-entry-get                                                 2601        2.0339999999  0.0007820069
>> org-back-to-heading                                           11116       1.9679999999  0.0001770421
>> org-get-property-block                                        2601        1.9089999999  0.0007339484
>> outline-back-to-heading                                       11116       1.7799999999  0.0001601295
>> org-set-startup-visibility                                    43          1.391         0.0323488372
>> org-agenda-get-deadlines                                      301         1.36          0.0045182724
>> org-get-todo-state                                            3782        1.3399999999  0.0003543098
>> org-agenda-files                                              46          0.8050000000  0.0175000000
>> org-cycle-internal-global                                     43          0.7810000000  0.0181627906
>> org-cycle                                                     43          0.7810000000  0.0181627906
>> org-install-agenda-files-menu                                 43          0.7740000000  0.0180000000
>> org-agenda-skip                                               4636        0.7170000000  0.0001546591
>> org-agenda-get-sexps                                          301         0.7020000000  0.0023322259
>> outline-next-heading                                          7764        0.6780000000  8.73...e-005
>> org-overview                                                  43          0.6720000000  0.0156279069
>> outline-map-region                                            43          0.6090000000  0.0141627906
>> org-load-modules-maybe                                        86          0.594         0.0069069767
>> org-time-string-to-absolute                                   3759        0.5170000000  0.0001375365
>> org-parse-time-string                                         4088        0.5           0.0001223091
>> org-set-regexps-and-options                                   43          0.4970000000  0.0115581395
>> org-cycle-hide-drawers                                        86          0.4050000000  0.0047093023
>> org-find-base-buffer-visiting                                 344         0.4040000000  0.0011744186
>> org-agenda-get-timestamps                                     301         0.3590000000  0.0011926910
>> org-agenda-get-blocks                                         301         0.3470000000  0.0011528239
>> org-diary-sexp-entry                                          714         0.3280000000  0.0004593837
>> org-flag-drawer                                               1396        0.2970000000  0.0002127507
>> org-before-first-heading-p                                    2602        0.2820000000  0.0001083781
>> org-outline-level                                             4313        0.265         6.14...e-005
>> org-cycle-show-empty-lines                                    86          0.2050000000  0.0023837209
>> org-agenda-finalize-entries                                   4           0.203         0.05075
>> org-macro-initialize-templates                                43          0.1730000000  0.0040232558
>> org-get-tags-at                                               84          0.1710000000  0.0020357142
>> org-up-heading-safe                                           225         0.14          0.0006222222
>> org-entries-lessp                                             372         0.14          0.0003763440
>> org-all-targets                                               43          0.138         0.0032093023
>> org-update-radio-target-regexp                                43          0.138         0.0032093023
>> org-babel-hide-all-hashes                                     43          0.127         0.0029534883
>> org-time-string-to-time                                       168         0.125         0.0007440476
>> org-closest-date                                              161         0.11          0.0006832298
>> org-agenda-format-item                                        84          0.109         0.0012976190
>> org-in-src-block-p                                            4636        0.093         2.00...e-005
>> org-file-contents                                             16          0.093         0.0058125
>> org-agenda-align-tags                                         1           0.093         0.093
>> org-agenda-finalize                                           1           0.093         0.093
>> org-refresh-category-properties                               43          0.092         0.0021395348
>> org-set-visibility-according-to-property                      43          0.078         0.0018139534
>> org-fit-window-to-buffer                                      1           0.078         0.078
>> org-agenda-skip-eval                                          9124        0.078         8.54...e-006
>> org-agenda-fit-window-to-buffer                               1           0.078         0.078
>> outline-flag-region                                           1672        0.078         4.66...e-005
>> org-agenda-highlight-todo                                     84          0.063         0.00075
>> org-agenda-todayp                                             609         0.062         0.0001018062
>> ...
>>
>> Is this normal?  For a 6-year old laptop?
>
> ... but for a 6 yo computer, I'd say it's mostly related to the
> harddrive.  At this stage, putting on the entries in a single file will
> boost things *a lot*.  (Less calls to org-get-agenda-file-buffer, to
> org-mode, etc.)

Clearly, I don't have SSD disks yet...

Regarding putting more entries in less files, I cannot really say I'm able to
do it: apart from one generic "work" file and one generic "life" file, the
other files are project-related, and are best viewed/edited as one unit.

Some of them are even located in directories under SVN, along the the other
files of the same project.

But, OK, thanks for the advice anyway.

>> In particular, when looking at the top entries:
>>
>> org-agenda-list                                               1           19.156        19.156
>> org-agenda-prepare                                            1           11.141        11.141
>> org-agenda-prepare-buffers                                    1           11.078        11.078
>> org-get-agenda-file-buffer                                    344         11.064000000  0.0321627906
>> org-agenda-get-day-entries                                    301         7.5179999999  0.0249767441
>> org-agenda-get-scheduled                                      301         4.5180000000  0.0150099667
>> org-mode                                                      43          3.7710000000  0.0876976744
>>
>> I'm amazed by:
>>
>> - the difference between the 3 seconds for the 43 calls to `org-mode' and the
>>   final 19 seconds for the list to be displayed
>
> 3 secs for 43 calls to org-mode is already quite a lot...

I thought that this was pretty normal (~ 0.09 seconds per org-mode call). And
that's even without any of my custom config here: in real life, I'm clearly
over that, with (for example) ispell processes launched and other-things-
hidden-in-hooks...

Good to know that my real-life use case is, then, seen as much too high... I
will have to compare profiling results without (= this case) vs with my custom
settings...

>> - the difference as well between the top 2 functions: `org-agenda-prepare'
>>   "only" takes 11 seconds, while `org-agenda-list' consumes another
>>   8 seconds...
>>
>> Any comment on this?
>
> Well, apart from gathering entries in less files, and apart from 
> wishing that I have some time to try to optimize the agenda generation, 
> I cannot comment that much :/

OK. Thanks for answering anyway!

To conclude, that means we should never forget about SSD-less Org-users like
me, and as well be once again delighted by the work done by Max (caching the
agenda, so that these ugly figures are only for the first generation of every
view we do have to generate).

Best regards,
Seb

-- 
Sebastien Vauban

  reply	other threads:[~2012-12-25 16:24 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-21 22:25 elp-instrument-package does not return anything Sebastien Vauban
2012-12-21 23:05 ` Samuel Wales
2012-12-24 13:44 ` Sebastien Vauban
2012-12-24 17:17   ` Samuel Wales
2012-12-25 16:13     ` Sebastien Vauban
2012-12-25 19:33       ` Samuel Wales
2012-12-25  2:47   ` Bastien
2012-12-25 16:24     ` Sebastien Vauban [this message]
2012-12-29 10:09       ` 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=80k3s685hm.fsf@somewhere.org \
    --to=wxhgmqzgwmuf-genee64ty+gs+fvcfc7uqw@public.gmane.org \
    --cc=emacs-orgmode-mXXj517/zsQ@public.gmane.org \
    /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).