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

Centralize disk IO into a single thread #251

Open
madmaxoft opened this issue Oct 16, 2019 · 1 comment
Open

Centralize disk IO into a single thread #251

madmaxoft opened this issue Oct 16, 2019 · 1 comment

Comments

@madmaxoft
Copy link
Owner

Currently, when adding a larger number of songs to the DB, the background threads overwhelm the disk IO queue and may even make the entire app unresponsive for a long time (tens of minutes, even). It'd be much better to centralize and serialize all disk IO bound to adding songs (hashing, tag reading, tempo detection) into a single thread that would read the disk data for each song and then send it to processing.

@madmaxoft madmaxoft self-assigned this Nov 7, 2019
@madmaxoft
Copy link
Owner Author

Slight problem with this: After adding an entire folder, all the song files get read in the memory, but their hash detection is slower than the read rate, thus consuming large amounts of RAM. Would need a dedicated song scan scheduler. However, because there was no noticeable improvement in GUI reactivity, this entire task has been abandoned for now.

@madmaxoft madmaxoft removed their assignment Nov 15, 2019
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

1 participant