emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [O] elp-instrument-package does not return anything


From: Sebastien Vauban
Subject: Re: [O] elp-instrument-package does not return anything
Date: Tue, 25 Dec 2012 17:24:21 +0100
User-agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.2.91 (windows-nt)

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 via email to

[Prev in Thread] Current Thread [Next in Thread]