emacs-orgmode
[Top][All Lists]
Advanced

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

Re: [O] [PATCH] Fix massive slowdown in org-id-find


From: Sebastien Vauban
Subject: Re: [O] [PATCH] Fix massive slowdown in org-id-find
Date: Tue, 24 Mar 2015 10:02:17 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (windows-nt)

Nicolas Goaziou wrote:
> Florian Beck <address@hidden> writes:
>
>> the recent changes in org-id (presumably
>> 8cdb2eef0f9f98f9e00a5e689decfe341fe0c6ec) lead to a massive slowdown.
>
> Would you mind elaborating a bit? Slow down doing what? In which cases?
> Could you profile it?
>
>> org-id-find is slow as it is, now I find it almost unusable.
>>
>> Attached patch provides a fix.
>
> Thanks. However, your patch is (partly) wrong.
>
>> -      (re (org-re-property property nil (not value))))
>> -      (catch 'exit
>> -    (while (re-search-forward re nil t)
>> -      (when (if value (equal value (org-entry-get (point) property nil t))
>> -              (org-entry-get (point) property nil t))
>> -        (throw 'exit (progn (org-back-to-heading t) (point)))))))))
>> +      (re (org-re-property property nil (not value) value)))
>> +      (when (re-search-forward re nil t)
>> +    (org-back-to-heading t)
>> +    (point)))))
>
> Here, it catches false positives, e.g., lines looking like properties in
> example blocks. It also overlooks accumulated values. It should fail
> with "make test".
>
> However, the optional VALUE argument is nice (I think some profiling
> would still be welcome, tho).

For my own information, does one know if it's possible to integrate
profiling tests in ERT?  So that one could write that if test X takes
more than 2 s (for example), the test would fail?

Best regards,
  Seb

-- 
Sebastien Vauban




reply via email to

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