I tried another app (Squeezer). It only showed the first album and I get no response from the LMS for several minutes.
I think I've found some bottle-necks around caching: not enough on one side, too much on the other :-).
Not enough: Currently the plugin would re-query all data even if the server said it had not changed. Eg. the first chunk of your artist list might tell us "not changed". In that case I could save the other 7 queries and read them from the cache.
Too much: when querying artists, we need to get the album list, too (as outlined before). No every artist artwork URL is being cached for later use (because we don't always get that back as part of some queries). And for every album we'd cache the track information. Now you have 250 artist: 250 writes to the cache. Each artist has an average two albums with another average 10 tracks: 250*2*10 = 5000 writes to the cache!
5000 writes create a lot of disk I/O - some of the slowest tasks in a computer. It doesn't hurt much on my MacBook Pro with SSD, but it's certainly measurable on a Pi with SD card. In my Pi3 with a decent SD card caching 90 albums would easily need 500-900ms for the caching alone.
Can you tell me what type of SD card you're using on your Pi (they often give a 133x or similar value, or a class X)? Or where your cache is stored?
-- Michael _______________________________________________ plugins mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/plugins
