Add: (deadline) preamble
This commit is contained in:
parent
e7eb3b2031
commit
ed26effe1c
2 changed files with 35 additions and 0 deletions
26
notes.org
26
notes.org
|
|
@ -430,6 +430,32 @@ Not sure if clearing the cache is necessary here, because it seemed to make near
|
||||||
:action '(org-get-heading t t))))))
|
:action '(org-get-heading t t))))))
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
|
*** =deadline=
|
||||||
|
|
||||||
|
#+BEGIN_SRC elisp
|
||||||
|
(org-ql-preamble-bench :times 1
|
||||||
|
:file "~/org/inbox.org"
|
||||||
|
:query (deadline))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
| Form | x faster than next | Total runtime | # of GCs | Total GC runtime |
|
||||||
|
|-------------------------+--------------------+---------------+----------+------------------|
|
||||||
|
| preamble: (deadline) | 27.63 | 0.014656 | 0 | 0 |
|
||||||
|
| no preamble: (deadline) | slowest | 0.404952 | 0 | 0 |
|
||||||
|
|
||||||
|
#+BEGIN_SRC elisp
|
||||||
|
(org-ql-preamble-bench :times 1
|
||||||
|
:file "~/org/inbox.org"
|
||||||
|
:query (deadline <= "2019-01-01"))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
| Form | x faster than next | Total runtime | # of GCs | Total GC runtime |
|
||||||
|
|-----------------------------------------+--------------------+---------------+----------+------------------|
|
||||||
|
| preamble: (deadline <= "2019-01-01") | 27.91 | 0.014606 | 0 | 0 |
|
||||||
|
| no preamble: (deadline <= "2019-01-01") | slowest | 0.407682 | 0 | 0 |
|
||||||
|
|
||||||
*** =level=
|
*** =level=
|
||||||
|
|
||||||
#+BEGIN_SRC elisp
|
#+BEGIN_SRC elisp
|
||||||
|
|
|
||||||
|
|
@ -316,6 +316,15 @@ replace the clause with a preamble."
|
||||||
element)
|
element)
|
||||||
(pcase element
|
(pcase element
|
||||||
(`(or _) element)
|
(`(or _) element)
|
||||||
|
(`(deadline . ,_)
|
||||||
|
(setq org-ql-preamble
|
||||||
|
(rx-to-string `(seq bol (0+ (any " ")) "DEADLINE" ":" (1+ space) (1+ not-newline)) t))
|
||||||
|
;; Return element, because the predicate still needs testing.
|
||||||
|
element)
|
||||||
|
(`(deadline)
|
||||||
|
(setq org-ql-preamble (rx-to-string `(seq bol (0+ (any " ")) "DEADLINE" ":") t))
|
||||||
|
;; Return element, because the predicate still needs testing.
|
||||||
|
element)
|
||||||
(`(regexp . ,regexps)
|
(`(regexp . ,regexps)
|
||||||
(setq org-ql-preamble (rx-to-string `(or ,@regexps) t))
|
(setq org-ql-preamble (rx-to-string `(or ,@regexps) t))
|
||||||
;; Return nil, because we don't need to test the predicate.
|
;; Return nil, because we don't need to test the predicate.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue