emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Speeding up agenda custom command with org-agenda-earlier & org-agenda-later
@ 2018-06-20 22:24 Zongheng Yang
  2018-06-22 20:49 ` Nicolas Goaziou
  0 siblings, 1 reply; 5+ messages in thread
From: Zongheng Yang @ 2018-06-20 22:24 UTC (permalink / raw)
  To: emacs-orgmode@gnu.org

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

Hi,

Here's an agenda custom command that acts as the main interface I interact
with org (in fact, emacs :)).

  (setq org-agenda-custom-commands
        '(("c" "Simple agenda view"
           ((agenda "")
            (tags "PRIORITY=\"A\""
                  ((org-agenda-files '("~/org/work.org" "~/org/ideas.org"))
                   (org-agenda-skip-function '(org-agenda-skip-entry-if
'todo 'done))
                   (org-agenda-overriding-header "High-priority tasks:")
                   ))
            (tags-todo "PRIORITY=\"C\""
                       ((org-agenda-files '("~/org/work.org" "~/org/
ideas.org"))
                        (org-agenda-overriding-header "Long-term:")))
            (alltodo ""
                     ((org-agenda-skip-function
                       '(or (zongheng-org-skip-subtree-if-priority ?A)
                            (zongheng-org-skip-subtree-if-priority ?C)
                            (org-agenda-skip-if nil '(scheduled deadline))))
                      (org-agenda-overriding-header "Other tasks:")))
            ))))

After I get into this view, I frequently issue many "org-agenda-earlier" &
"org-agenda-later" commands, often in a back-and-forth fashion, to inspect
what I've done around certain periods.

In such a use case, it seems there's *no reason to not cache results*.
Without such caching currently *the latency of switching is really high*;
with such a caching, I'm happy to pay an one-time latency/CPU cost for the
first command, as long as successive commands can be sped up.

Is a feature like this planned?

Thanks,
Zongheng

[-- Attachment #2: Type: text/html, Size: 2472 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Speeding up agenda custom command with org-agenda-earlier & org-agenda-later
  2018-06-20 22:24 Speeding up agenda custom command with org-agenda-earlier & org-agenda-later Zongheng Yang
@ 2018-06-22 20:49 ` Nicolas Goaziou
  2018-06-22 20:58   ` Zongheng Yang
  0 siblings, 1 reply; 5+ messages in thread
From: Nicolas Goaziou @ 2018-06-22 20:49 UTC (permalink / raw)
  To: Zongheng Yang; +Cc: emacs-orgmode@gnu.org

Hello,

Zongheng Yang <zongheng.y@gmail.com> writes:

> Here's an agenda custom command that acts as the main interface I interact
> with org (in fact, emacs :)).
>
>   (setq org-agenda-custom-commands
>         '(("c" "Simple agenda view"
>            ((agenda "")
>             (tags "PRIORITY=\"A\""
>                   ((org-agenda-files '("~/org/work.org" "~/org/ideas.org"))
>                    (org-agenda-skip-function '(org-agenda-skip-entry-if
> 'todo 'done))
>                    (org-agenda-overriding-header "High-priority tasks:")
>                    ))
>             (tags-todo "PRIORITY=\"C\""
>                        ((org-agenda-files '("~/org/work.org" "~/org/
> ideas.org"))
>                         (org-agenda-overriding-header "Long-term:")))
>             (alltodo ""
>                      ((org-agenda-skip-function
>                        '(or (zongheng-org-skip-subtree-if-priority ?A)
>                             (zongheng-org-skip-subtree-if-priority ?C)
>                             (org-agenda-skip-if nil '(scheduled deadline))))
>                       (org-agenda-overriding-header "Other tasks:")))
>             ))))
>
> After I get into this view, I frequently issue many "org-agenda-earlier" &
> "org-agenda-later" commands, often in a back-and-forth fashion, to inspect
> what I've done around certain periods.
>
> In such a use case, it seems there's *no reason to not cache results*.
> Without such caching currently *the latency of switching is really high*;
> with such a caching, I'm happy to pay an one-time latency/CPU cost for the
> first command, as long as successive commands can be sped up.
>
> Is a feature like this planned?

I don't think is it planned. Feel free to implement it, if you want to.

I consider Org agenda in dire need of rewriting, though. for better
scalability and easier maintenance.

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Speeding up agenda custom command with org-agenda-earlier & org-agenda-later
  2018-06-22 20:49 ` Nicolas Goaziou
@ 2018-06-22 20:58   ` Zongheng Yang
  2018-06-23 21:37     ` Samuel Wales
  2018-06-23 21:56     ` Nicolas Goaziou
  0 siblings, 2 replies; 5+ messages in thread
From: Zongheng Yang @ 2018-06-22 20:58 UTC (permalink / raw)
  To: Nicolas Goaziou; +Cc: emacs-orgmode@gnu.org

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

Cool, looking forward to see the rewrite!

On Fri, Jun 22, 2018 at 1:49 PM Nicolas Goaziou <mail@nicolasgoaziou.fr>
wrote:

> Hello,
>
> Zongheng Yang <zongheng.y@gmail.com> writes:
>
> > Here's an agenda custom command that acts as the main interface I
> interact
> > with org (in fact, emacs :)).
> >
> >   (setq org-agenda-custom-commands
> >         '(("c" "Simple agenda view"
> >            ((agenda "")
> >             (tags "PRIORITY=\"A\""
> >                   ((org-agenda-files '("~/org/work.org" "~/org/ideas.org
> "))
> >                    (org-agenda-skip-function '(org-agenda-skip-entry-if
> > 'todo 'done))
> >                    (org-agenda-overriding-header "High-priority tasks:")
> >                    ))
> >             (tags-todo "PRIORITY=\"C\""
> >                        ((org-agenda-files '("~/org/work.org" "~/org/
> > ideas.org"))
> >                         (org-agenda-overriding-header "Long-term:")))
> >             (alltodo ""
> >                      ((org-agenda-skip-function
> >                        '(or (zongheng-org-skip-subtree-if-priority ?A)
> >                             (zongheng-org-skip-subtree-if-priority ?C)
> >                             (org-agenda-skip-if nil '(scheduled
> deadline))))
> >                       (org-agenda-overriding-header "Other tasks:")))
> >             ))))
> >
> > After I get into this view, I frequently issue many "org-agenda-earlier"
> &
> > "org-agenda-later" commands, often in a back-and-forth fashion, to
> inspect
> > what I've done around certain periods.
> >
> > In such a use case, it seems there's *no reason to not cache results*.
> > Without such caching currently *the latency of switching is really high*;
> > with such a caching, I'm happy to pay an one-time latency/CPU cost for
> the
> > first command, as long as successive commands can be sped up.
> >
> > Is a feature like this planned?
>
> I don't think is it planned. Feel free to implement it, if you want to.
>
> I consider Org agenda in dire need of rewriting, though. for better
> scalability and easier maintenance.
>
> Regards,
>
> --
> Nicolas Goaziou
>

[-- Attachment #2: Type: text/html, Size: 3321 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Speeding up agenda custom command with org-agenda-earlier & org-agenda-later
  2018-06-22 20:58   ` Zongheng Yang
@ 2018-06-23 21:37     ` Samuel Wales
  2018-06-23 21:56     ` Nicolas Goaziou
  1 sibling, 0 replies; 5+ messages in thread
From: Samuel Wales @ 2018-06-23 21:37 UTC (permalink / raw)
  To: Zongheng Yang; +Cc: emacs-orgmode@gnu.org, Nicolas Goaziou

hehe we don't know if the rewrite will occur, or when.  :]

> I don't think is it planned. Feel free to implement it, if you want to.

> I consider Org agenda in dire need of rewriting, though. for better scalability and easier maintenance.

for me, the biggest problem in all of emacs is the speed of 1-day and
2-day org agenda.  [i never need 30 days, or if i do, i'm willing to
have that take quite a few minutes just so that the 1-day and 2-day
speeds are maximized.]  i've done all of bastien's recommended speed
hacks and a couple more like turning off diary [which doesn't do much
but still].

regular text search is ok.  it's only the one that has to parse
timestamps that is slow.  profiling reveals nothing obvious so i
imagine it has been optimized thoroughly.

so for me, scalability means only scaling to more files [threading
useful here?] and larger files, and only for the daily agenda "a".
but i imagine a rewrite would maybe start from scratch.


On 6/22/18, Zongheng Yang <zongheng.y@gmail.com> wrote:
> Cool, looking forward to see the rewrite!
>
> On Fri, Jun 22, 2018 at 1:49 PM Nicolas Goaziou <mail@nicolasgoaziou.fr>
> wrote:
>
>> Hello,
>>
>> Zongheng Yang <zongheng.y@gmail.com> writes:
>>
>> > Here's an agenda custom command that acts as the main interface I
>> interact
>> > with org (in fact, emacs :)).
>> >
>> >   (setq org-agenda-custom-commands
>> >         '(("c" "Simple agenda view"
>> >            ((agenda "")
>> >             (tags "PRIORITY=\"A\""
>> >                   ((org-agenda-files '("~/org/work.org"
>> > "~/org/ideas.org
>> "))
>> >                    (org-agenda-skip-function '(org-agenda-skip-entry-if
>> > 'todo 'done))
>> >                    (org-agenda-overriding-header "High-priority
>> > tasks:")
>> >                    ))
>> >             (tags-todo "PRIORITY=\"C\""
>> >                        ((org-agenda-files '("~/org/work.org" "~/org/
>> > ideas.org"))
>> >                         (org-agenda-overriding-header "Long-term:")))
>> >             (alltodo ""
>> >                      ((org-agenda-skip-function
>> >                        '(or (zongheng-org-skip-subtree-if-priority ?A)
>> >                             (zongheng-org-skip-subtree-if-priority ?C)
>> >                             (org-agenda-skip-if nil '(scheduled
>> deadline))))
>> >                       (org-agenda-overriding-header "Other tasks:")))
>> >             ))))
>> >
>> > After I get into this view, I frequently issue many
>> > "org-agenda-earlier"
>> &
>> > "org-agenda-later" commands, often in a back-and-forth fashion, to
>> inspect
>> > what I've done around certain periods.
>> >
>> > In such a use case, it seems there's *no reason to not cache results*.
>> > Without such caching currently *the latency of switching is really
>> > high*;
>> > with such a caching, I'm happy to pay an one-time latency/CPU cost for
>> the
>> > first command, as long as successive commands can be sped up.
>> >
>> > Is a feature like this planned?
>>
>> I don't think is it planned. Feel free to implement it, if you want to.
>>
>> I consider Org agenda in dire need of rewriting, though. for better
>> scalability and easier maintenance.
>>
>> Regards,
>>
>> --
>> Nicolas Goaziou
>>
>


-- 
The Kafka Pandemic: <http://thekafkapandemic.blogspot.com>

The disease DOES progress. MANY people have died from it. And ANYBODY
can get it at any time.

"You’ve really gotta quit this and get moving, because this is murder
by neglect." ---
<http://www.meaction.net/2017/02/03/pwme-people-with-me-are-being-murdered-by-neglect>.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Speeding up agenda custom command with org-agenda-earlier & org-agenda-later
  2018-06-22 20:58   ` Zongheng Yang
  2018-06-23 21:37     ` Samuel Wales
@ 2018-06-23 21:56     ` Nicolas Goaziou
  1 sibling, 0 replies; 5+ messages in thread
From: Nicolas Goaziou @ 2018-06-23 21:56 UTC (permalink / raw)
  To: Zongheng Yang; +Cc: emacs-orgmode@gnu.org

Hello,

Zongheng Yang <zongheng.y@gmail.com> writes:

> Cool, looking forward to see the rewrite!

So do I. But I'm not volunteering :)

Regards,

-- 
Nicolas Goaziou

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-06-23 21:56 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-20 22:24 Speeding up agenda custom command with org-agenda-earlier & org-agenda-later Zongheng Yang
2018-06-22 20:49 ` Nicolas Goaziou
2018-06-22 20:58   ` Zongheng Yang
2018-06-23 21:37     ` Samuel Wales
2018-06-23 21:56     ` Nicolas Goaziou

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).