Ihor Radchenko
Ihor Radchenko
> Did you check the timers via the list-timers command? Yes. > Even after you disable the mode, the functions are still wrapped. It shouldn't do anything when the mode...
> Well at least it told you what actually called the GC ;) That is not surprising indeed. I knew that GC it taking too much time, which is the...
> But I think I got it now. Yep. Your understanding is correct. Sorry for being not clear in my first message. > Further thought: this should be a new...
> There may be a few different issues at play here. However, please test this commit I just made which does a simple optimization to `olp` and `olps` queries: https://github.com/alphapapa/org-ql/commit/2d07cb082263061420c5a28a23bbd1d7f9008a25...
> Probably the thing to do would be to move formatting to the Helm candidate transformer, or something like that. That would be a simple change. Note: `:candidate-transformer` will still...
> A single-argument `olp` or `olps` query is now converted directly to a `heading` query, which is optimized to a whole-buffer regexp search, which is as fast as one can...
> Okay, but it would be helpful if, the next time you encounter this bug, you would check `list-buffers` and verify that all of the buffers being searched are actually...
Note: While looking into this subject, I noticed that `tags-local` predicate is inefficient if its preamble is unused (i.e. `(or (tags-local "TAG") ...`). `tags-local` body calls slow `org-ql--tags-at`.
> I see you're calling a function, rec, which is defined with cl-labels in another function. I agree that it is difficult to read. But what would be an alternative...
> I'm not sure of the best way to handle that. It might be an acceptable transgression for us to keep using it this way, for now, anyway, but I...