>> Could you profile it? Here are the results:
With my setup and the patch I get, using (let ((time (current-time))) (org-id-find "zangwill.nick_2014:aesthetic.judgment") (format "%ss" (time-to-seconds (time-subtract (current-time) time)))) --> "0.027756516s" Without my patch, the result is --> "16.104403749s" profile-report returns: - command-execute 16095 99% - call-interactively 16095 99% - funcall-interactively 15905 98% - eval-last-sexp 15879 98% - elisp--eval-last-sexp 15879 98% - eval 15879 98% - let 15879 98% - org-id-find 15879 98% - org-id-find-id-in-file 15879 98% - org-find-entry-with-id 15879 98% - org-find-property 15879 98% - save-excursion 15879 98% - let 15879 98% - catch 15879 98% - while 15879 98% - if 13311 82% - if 13311 82% - equal 13311 82% - org-entry-get 11955 74% - org-get-property-block 8876 55% - org-inlinetask-in-task-p 3329 20% org-inlinetask-outline-regexp 12 0% - org-back-to-heading 3009 18% - outline-back-to-heading 2000 12% outline-on-heading-p 4 0% org-before-first-heading-p 880 5% org-get-limited-outline-regexp 24 0% - #<compiled 0x3e8f1b9> 939 5% match-string-no-properties 44 0% - execute-extended-command 20 0% - sit-for 16 0% redisplay 16 0% + command-execute 4 0% + previous-line 6 0% + byte-code 190 1% + timer-event-handler 15 0% + ... 0 0% -- Florian Beck