Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance #24

Open
DocKDE opened this issue Jul 7, 2023 · 2 comments
Open

Performance #24

DocKDE opened this issue Jul 7, 2023 · 2 comments

Comments

@DocKDE
Copy link

DocKDE commented Jul 7, 2023

Not exactly a bug but in order to be actually useful (at least to me) the app would need to perform a bit better.

When I fired it up in the folder containing all my dev projects (which is quite large) the performance was quite slow. It took ~ 2 seconds to start up and navigating the folders had a significant delay. I know this is not very specific but maybe lazy loading of the contents of subdirectories or some such might be an idea? Just my 2 cents though.

@dzfrias
Copy link
Owner

dzfrias commented Jul 7, 2023

Yeah, you're completely right. I have some ideas for helping the startup time. Currently, the main bottleneck in that area is the path sorting algorithm. If I can find a way to speed it up (or just remove it), startup times should improve quite a bit. I'll also look into lazy loading if that doesn't work!

For navigation, the main problem is when drawing the file listing. Right now, projectable does a loop through each visible item so it can be drawn (every time the application needs to be redrawn). It's probably pretty costly, so I'll look into perhaps caching that?

@DocKDE
Copy link
Author

DocKDE commented Jul 7, 2023

This kind of stuff is probably a solved problem somewhere. There's a bunch of terminal-based file managers and the like and I suppose these have to deal with this as well. However, this would mean to rummage around in the source of all kinds of projects :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants