Performance issue after search a regexp

I am using Obsidian as a tool to create to-do lists. During a week, when necessary I create a note with a task to talk about with someone else. During the 1:1 meeting I am searching all off connected notes using for example this expression:

/- \[ \] \#F2F-KJ.*/

During a meeting, I just click on each item and talk about it. Sometimes I check it, sometimes leave it open. When I left open some of the files in the editor, Obsidian starts to lag.

I have problems to make any notes in the editor because even typing is slow.

I think it happens because each time when I enter any character, mention above search toolbar with a reg-expr call a function that starts to search reg expression and it locks Obsidian.

It happens when Obsidian finds more than 10+ files or places where this pattern match.

I struggle to understand you.

Can you please follow the bug report template? Does this happen with default css and no third party plugin?

  1. during a week creating documents with
    - [ ] #tag some to do or to talk about
    sometime more than one paragraph in one file

  2. search for /- \[ \] \#tag.*/

  3. In the results window I have a list of files and in each of them a highlighted paragraph where it was found

  4. Click on each element

  5. Edit content in the opened file.

  6. Search window is still open.

  7. When I mark a task as done it disappears from the search window

  8. When I add a new with a #tag it appears

  9. When I have a lot of files found in search and many of them opened and when I start to type in the obsidian, it starts to take a lot of time - after entering a key sometimes I need to wait ~1s to see this char.

I have checked it with clear installation of Obsidian 0.9.22

Thanks, I understand now. What os are you on?

Could you take a performance recording using the developer tools?

ctrl-shift-i \ cmd-alt-i -> performance -> record. save the profile json file and put it into a .zip, then send it to me privately (preferably via DM on Discord).

Hi there, I have a bit of experience with regular expression engines. You specified your expression as follows:

/- \[ \] \#tag.*/

The “.*” on the end of the expression is computationally expensive, yet serves no purpose. Try the search with those two metacharacters removed and see if performance improves.

Edit: The escape characters got lost on the paste: fixed.

1 Like

Thanks for a TIP. It seems to be an issue.
I’ll check it and tell if it works.

Does changing the regex help?

It seems to be better. I need more time to check it.