usebruno / bruno

Opensource IDE For Exploring and Testing Api's (lightweight alternative to postman/insomnia)
https://www.usebruno.com/
MIT License
21.54k stars 1.01k forks source link

Performance Lag: Text Entry Delays in Request Fields Potentially Due to Aggressive Disk Saving #2427

Open dtrckd opened 2 weeks ago

dtrckd commented 2 weeks ago

I have checked the following:

Describe the feature you want to add

Typing text "quickly" into any text input in a request (writing Query, Body, Auth, Vars etc) creates a latency which causes the text to display only when you stop typing on the keyboard.

This is just a hypothesis, but may be due to aggressive disk saving at each keyboard input.

Mockups or Images of the feature

Peek 2024-06-09 11-10

Its-treason commented 2 weeks ago

I never seen the input lag being this bad. Bruno does not write to disk on every input. It first writes into a "draft" that is stored in memory.

Can you share more information about your environment? Or even make a perfomance recoding with the dev-tools (Ctrl + Shift + I to open the dev-tools, then Performance and start a recording)?

dtrckd commented 2 weeks ago

Interestingly, the behavior is back to normal after having restarting Bruno, maybe it was opened since too long with many requests opened or in cache. I will copy a performance record when it happens again.

Bruno version (from snap) : latest/stable: 1.18.0 2024-05-22 (38) 87MB -

Thanks.

gemiusz commented 2 weeks ago

@dtrckd how many Requests do you have in collection?

I think that your issue can be connected with this bug: [BUG] Poor responsiveness of application when using big collection e.g. 3000 .bru files

PS. Latest version is 1.18.1 -> https://github.com/usebruno/bruno/releases/tag/v1.18.1

dtrckd commented 2 weeks ago

Not so many @gemiusz . Actually it's happening again when I have around ~20 requests opened in 2 collections.

I provide a profile in attachment @Its-treason . You can see the stepped curve in that profile, which corresponds to a scenario where I just keep a key pressed for a few seconds. It then takes several seconds for all the letters to appear on the screen.

Profile-20240610T010716.json