emacs-orgmode
[Top][All Lists]
Advanced

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

[Orgmode] Re: org-mode on sloooow computer


From: Carsten Dominik
Subject: [Orgmode] Re: org-mode on sloooow computer
Date: Sat, 25 Apr 2009 05:51:48 +0200


On Apr 25, 2009, at 12:26 AM, Eric S Fraga wrote:

Carsten Dominik writes:
Hmmm, `org-up-heading-all' still gets called, this should no longer
happen.
I wonder why, when.

There must have been an error in recompilation after pulling the
updates with git.  Although I asked emacs to recompile the directory,
it must have done something strange.  I've cleared out the elc files
and compiled the whole directory and this is what I get now (which
indicates yet another improvement!):

org-agenda 1 1.114424 1.114424 org-agenda-list 1 0.889913 0.889913 org-dblock-write:clocktable 7 0.586827 0.0838324285 org-get-clocktable 1 0.427968 0.427968 org-update-dblock 1 0.3902330000 0.3902330000 org-prepare-agenda-buffers 2 0.267907 0.1339535 org-agenda-get-day-entries 6 0.255334 0.0425556666 org-agenda-get-restriction-and-command 1 0.224329 0.224329 org-clock-sum 6 0.195653 0.0326088333 org-agenda-get-scheduled 6 0.145536 0.024256 org-prepare-agenda 1 0.128176 0.128176 org-refresh-category-properties 12 0.0830839999 0.0069236666 org-get-tags-at 8 0.059022 0.00737775 org-up-heading-safe 21 0.0560520000 0.0026691428 org-get-entries-from-diary 1 0.042899 0.042899
...

If you want to help:

1. reload uncompiled-code:

   C-u C-c C-x r

Ummm, this doesn't work for me?  C-c C-x r is undefined.

You need to be in an org-mode buffer for this..


2. Arm the function

  M-x debug-on-entry RET org-up-heading-all RET

3. TUrn on debugging on error (needed, but hard to explain here)

  You can best do this from the "Options" menu, "Enter Debugger on
Error"

4. Produce your agenda.  You will get a backtrace buffer, which I
would like to see...

I don't get a backtrace buffer, which I guess now makes sense since
org-up-heading-all doesn't seem to get invoked any more.

yes..


if you want to hunt for more improvements, looking at
this table, much can be gained by turning off the
clocktable in the agenda and only turning it on
interactively with "R" when you really need it.

Yep, this helps as well:

org-agenda 1 0.963539 0.963539 org-agenda-list 1 0.739349 0.739349 org-finalize-agenda-entries 1 0.286326 0.286326 org-agenda-highlight-todo 8 0.282616 0.035327 org-agenda-get-day-entries 6 0.2574450000 0.0429075000 org-agenda-get-restriction-and-command 1 0.224016 0.224016 org-agenda-get-scheduled 6 0.147105 0.0245175 org-prepare-agenda 1 0.1283210000 0.1283210000 org-prepare-agenda-buffers 1 0.1202870000 0.1202870000 org-get-tags-at 8 0.059197 0.007399625 org-up-heading-safe 21 0.056139 0.0026732857 org-get-entries-from-diary 1 0.043058 0.043058
...

However, I may actually leave the clock display on by default as it
has a psychological effect that is worthwhile for my working
practices; but at least I know that turning it off might be worthwhile
on the Asus.

Of course, this i what I meant.


In any case, I am impressed: from 4.5 seconds to less than a second in
one day!  Can you do the same for my 2+ day optimisation runs I
require in my research? ;-)

:-)  Someone needs to write a profiler for that.  In fact, clocking your
work and looking at the biggest time consumers may help :-)

Thanks, this was a fun day.


- Carsten




reply via email to

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