Doerthous writes:
>> Since you are changing the public variable representation, you should
>> (1) document the breaking change in etc/ORG-NEWS; (2) Update the
>> docstring.
>
> A grep in codebase give me many references of `org-id-locations', which
> indicates that this Enhance Request may involv
Ihor Radchenko writes:
>
> (when pos ...) will be more clean.
>
changed.
>> +(when (and (null where) file)
>>(setq where (org-id-find-id-in-file id file markerp)))
>> (unless where
>>(org-id-update-id-locations nil t)
>>(setq file (org-id-find-id-file id))
>>
Doerthous writes:
> + (let* ((loc (org-id--find-id-location id))
> + (file (if (consp loc) (car loc) loc))
> + (pos (if (consp loc) (cdr loc)))
> + org-agenda-new-buffers where buf)
> +;; When loc is a cons cell, check whether it's valid or not.
> +(when (consp loc)
Ihor Radchenko writes:
> What if FILE is correct, but the file has been edited and the heading
> with ID is now at a different place in that file? It would be more
> efficient to try searching via `org-id-find-id-in-file' rather than
> falling back to full scan in `org-id-update-id-locations'.
I
Doerthous writes:
> I then wrote a draft patch (attached below) to cache the entry position
> to org-id-locations, which give a 10x speedup of org-id-find, see (2).
Thanks!
> + (let* ((loc (org-id--find-id-location id))
> + (file (if (consp loc) (car loc) loc))
> + (pos (if (co
Ihor Radchenko writes:
> I have addressed the poor performance of `file-truename' and
> `find-buffer-visiting' in
> https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=b7a737ef49e
> That commit should be a part of Emacs 30.1 release, while you are on
> Emacs 30.0.50 pre-release. Try to upgrad
Doerthous writes:
> GNU Emacs 30.0.50 (build 1, x86_64-w64-mingw32)
> Org mode version 9.8-pre release_9.7.25-279-g450692
>
> It looks like file-truename takes up most of the time. Don't
> know if this is related to file IO on Windows.
>
> Anyway, I will try to do more investigation another day.
org-id-find10005.451268 0.0054512689
org-entry-get 10000.460270 0.0004602709
x/org-id-prop 10000.007889 7.889...e-06
265 70% - org-entry-get
261 69% - org-id-find
...
257 68%- org-id-find-id-in-file
257 68% - cond
249 6
Doerthous writes:
> Ihor Radchenko writes:
>> May you show profiler report detailing what exactly is slow?
>> You can save the profile with M-x profiler-report-write-profile from the
>> report buffer.
>
> Hi Ihor,
>
> Sorry for the late reply.
>
> I actually done a performance test that day with
Ihor Radchenko writes:
> Doerthous writes:
>
>> For getting properties of an org entry by ID, I currently (org 9.7) use
>> (org-entry-get (org-id-find ID t) PROP), but `org-id-find' seems too
>> slow. So I wonder this there any recommended ways to do this job?
>>
>> or, maybe we can cache also
Doerthous writes:
> For getting properties of an org entry by ID, I currently (org 9.7) use
> (org-entry-get (org-id-find ID t) PROP), but `org-id-find' seems too
> slow. So I wonder this there any recommended ways to do this job?
>
> or, maybe we can cache also the marker returned by `org-id-fi
11 matches
Mail list logo