Release 20230927
September 27, 2023 in bliss by Dan Gravell
This week’s release concludes work on indexing performance. Using a low powered Synology NAS as a guide we’ve reduced the file scan and index time for a 2,000 album library from 2h40m to around 40m. Quite an improvement!
This is the second and final performance release for now. We detailed our previous changes in the last release.
Performance work: indexing files
We changed the database we use for the tag index, and have adopted Xodus for this element like we did for the file info cache in the previous version. This provides faster updates to the database and less burden on disk writes when bliss is scanning.
Performance work: reducing the UI’s burden
bliss has always been written as a ‘server side’ application - that is: one that doesn’t actually require a user interface to be running and connected to it. It can monitor for file changes, recognise and identify musical releases, assess them against your rules and run automated fixes without anyone watching it via the Web interface.
In the background, when the UI does connect to bliss, bliss starts sending messages about what’s going on inside bliss. When testing for performance we found that the number of messages that bliss was sending was very high, and on slower machines this could have quite an impact.
We fixed this by throttling the messages received (we don’t want to stop bliss sending them because in some cases their fidelity is important) so that now the UI doesn’t have to do quite as much work. It’s a bit like turning the treadmill down a bit…
Downloading and installing
You can download by clicking the button above, or from the downloads page.
Photo by John Cameron on Unsplash