Comments (12)
I suspect that read/write operations on WSL are sometimes kinda slow. This should normally not freeze the UI, but Bruno mostly uses synchronous operations (fs.writeSync
) instead of asynchronous (Everything from fs/promises
).
I add this to my to-do list and test this the next few days.
from bruno.
It's just a blind guess though. Reporting back would be beneficial in any case. Imho if the Problem is related to git, Performance should bei improved. Specially since it is a payed feature
from bruno.
@krummbar Even with Git disabled, program still hangs:
from bruno.
Hey @BoscoDomingo, thank you for taking the time and doing some performance recordings. You can either message me on Discord: https://discord.com/users/139058134596583424 Or email me [email protected]
. I don't have much time today, so will be looking at the recording tomorrow.
from bruno.
Since you're mentioning golden edition. Did you try disabling the git Integration Feature?
I've observed some performance issues with it being active and having a couple of collections in place. If this improves things this may be a good indicator of the underlying issue.
from bruno.
Since you're mentioning golden edition. Did you try disabling the git Integration Feature? I've observed some performance issues with it being active and having a couple of collections in place. If this improves things this may be a good indicator of the underlying issue.
@krummbar That seems to work. I've also disabled API Spec since I didn't use it, but I'll give this a try. If I don't report back, assume the issues are gone and Git integration is the culprit
from bruno.
I investigated this a bit. I moved a collection with around 30 requests into a WSL folder but didn't notice any freezes. To be sure, I also moved a collection with approximately 2,000 requests into WSL. I only experienced the usual ~5 second lag when interacting with the large collection, but this didn't cause any "window not responding" issues.
Could you share more information about your system?
Also, if you're confident with debugging Electron, you can attach a debugger as described here: Electron Debugging Guide and do a performance recording.
from bruno.
@Its-treason Hi, sure I can. Do you need hardware specs, OS version...? And I could try to debug Electron, although I just came back from holidays and this is for my work machine, so it may take a while before I can take a dig at it 👍🏼
from bruno.
@Its-treason Still a problem in 1.25.0. I even deactivated my Gold license to see if that was part of the issue but to no avail. I'll try a performance recording to see if that helps. I've never worked with Electron but I assume it's just cloning the repo and running it, correct?
Edit: I've a few performance recordings in which the program hung for a few seconds, even getting the (Not responding) message in the title bar. Let me know how to send them to you privately 👍🏼
from bruno.
@Its-treason Shooting an email 👍🏼
from bruno.
Hey @BoscoDomingo, thank you for the recording! I've had a look into your recordings, and it's quite interesting, because it has nothing to do with IO but, it's just the .bru file parser that is really slow.
This was already noted here: #2416 and it just seems that parsing files with 1–2 MB in size takes an about ~10 seconds of parsing. Because parsing is done in sync inside the main thread, this also blocks the render thread, resulting in a window not responding message.
What interests me now: How big are your .bru files? There was one outlier in the CPU Profile that took 2 seconds for parsing, so that file should have been around 200 KB - 400 KB in size. If all your files are small (under 10 KB) there is something other that causes the parser to perform even worse. Parsing around 50 files should not take 13 seconds.
from bruno.
@Its-treason Interesting find for sure. I've checked and the largest .bru files in my system are 12KB, so there's definitely something up with the parser:
from bruno.
Related Issues (20)
- Warning: Some commands were not translated
- collection docs as markdown HOT 1
- Merge FR skipRequest https://github.com/usebruno/bruno/pull/2397 into main HOT 1
- Add Close button to environment window
- Variables not loaded if containing double-quote
- Request Body containing a number close to `Number.MAX_SAFE_INTEGER` has the number transformed to a string HOT 2
- Pre-request variables are not being interpolated within request body when running tests via CLI
- Saving a response to a file results in the file being base64 encoded
- Add possibility to access meta values like request name or parent folder
- Bruno does not recognize proxys set by env var and thus skipping CONNECT calls HOT 3
- space in any param name is blocking the loading of the request file in GUI
- Bruno can't access to collection level variables in Safe mode. HOT 6
- [UI] Body existing indicator don't work correctly
- Request brokes sandbox vm in Safe mode HOT 1
- Digitally signing collections for safe mode
- Set as variable function when highlighting text in the GUI
- [CLI] provide portable executable for windows
- flatpak on fedora40 in v1.25 throws UnhandledPromiseRejectionWarning
- GUI Test Runner does see tests with import HOT 1
- Cannot use Cheerio as an external library to test HTML.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bruno.