Thank you for your donation!


Cloudsmith graciously provides open-source package management and distribution for our project.


Idea: Possibility to speed up large libraries?
#11
(01-13-2022, 03:57 PM)JeroenWalter Wrote:
(01-13-2022, 03:32 PM)guermantes Wrote: 1145 albums and 19 000 tracks... still pretty snappy.
moode.php?cmd=loadlib  in developertools view reports a size of 9.79 MB but only 950 KB transferred. Not quite sure what it tells me that only a tenth of the content has been transferred?

Possibly the http response was compressed?

Jup, Content-Encoding: gzip on my system.
Smile

I can't see what's happening on the phone but on the desktop I also have content-encoding: gzip. Logical.

If that has to be unzipped at the phone before display I can see why there is a delay.

But if indeed the entire tracks list for the entire library is sent from the beginning, then I can understand why the huge discrepancy with regards to runeaudio on my smartphone for instance. They fetch required info with AJAX I think and inject composers if I have clicked composers, then the albums for a composer that is clicked. But nothing happens until I click to browse e.g. composers or select a specific composer to see their albums.

Maybe it's transfer time or CPU cycles needed that slows down Moode, but it seems it is not really suited for large libraries browsed by smartphones (unless perhaps one has a really fast phone and a really fast wifi).
Reply
#12
I discovered how to debug the smartphone and get devtools info when loading my library on the phone. 4117 albums, 69403 tracks. 28 seconds before the library is scrollable.

I am not quite sure which waterfall view is most informative. The first screenshot shows the waterfall as captured in relation to "start time". The second screenshot shows the same waterfall but displayed as total duration.

Looks like loadlib takes a very long time to do its thing after the gzip has been transferred. And what is lato-italic.woff doing all the way over to the right? Maybe that weight is just not called by the css until the very last moment which is ok, but if it is a latency in the download it's not good. I guess?

Start time:
   

Total duration:
   
Reply
#13
The code for the Library uses Javascript array functions including map, reduce, filter, and sort as well as custom functions all of which could contribute to performance degradation when processing huge collections on lower powered platforms.
https://github.com/moode-player/moode/bl...library.js

These JS and custom functions are what provide all the features of the Library which works well for typical sized collections. If specific sections or elements in the code can be identified as contributing to a performance degradation with huge collections then there is a possibility to investigate.

Other suspects when dealing with performance issues can be the OS, hardware or Javascript engine used in the platform.
Enjoy the Music!
moodeaudio.org | Mastodon Feed | GitHub
Reply


Forum Jump: