martinanton / client175

Automatically exported from code.google.com/p/client175
GNU General Public License v3.0
0 stars 0 forks source link

Slow on large-ish playlist. Playlist not visible. #7

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
First thing: this is the best webclient I have seen so far.  It is just simply 
amazing.
However, my basic stress test, adding my complete album collection to the 
database fails utterly.  It starts tanking CPU for a while, and then nothing.

What steps will reproduce the problem?
1. Add like 20.000 items to the playlist.
2. Wait.
3. Wait.
4. Cpu usage drops, playlist stays empty.

What is the expected output? What do you see instead?
I would have liked to see the playlist content.

Please use labels and text to provide additional information.
Running on a Celeron 400 with 512 MB ram. 

Original issue reported on code.google.com by qball...@gmail.com on 27 Jun 2010 at 8:28

GoogleCodeExporter commented 8 years ago
Thanks for the compliments and testing.  This is a scenario that has fallen of 
my radar but needs to be addressed.  I'll work on playlist performance next.

The situation should be better, but still not acceptable, if you show the 
playlist in a tab.  If you haven't noticed this feature yet, there is a gear 
icon on the playlist's title bar which allows you to display the playlist in 
various configurations.  In the tabs, everything is paged, which helps with the 
client side rendering speed.

One question, is the Celeron 400 the server, client, or both?

Original comment by cseic...@gmail.com on 27 Jun 2010 at 5:25

GoogleCodeExporter commented 8 years ago
Yeah I did try the tab (I did find it the last time, sorry). No luck, the 
python server would still tank 100% cpu, and fail to load.

celeron 400 runs  mpd+server (+ GMPC on a X) . Client is Chromium on a E8400 
64bit with 8 gig off ram. (should be fast enough)

The server is on the slow side, but given that mpd is used on routers and the 
likes it is not an unrealistically slow platform.

Original comment by qball...@gmail.com on 27 Jun 2010 at 9:55

GoogleCodeExporter commented 8 years ago
Thanks, that helps to know the server is choking in this situation.  My own 
server is a little faster and my collection is smaller.  I'll do some profiling 
on the server, I certainly want it to work well on all reasonable devices for 
an mpd server, I personally might move to a small, power efficient server soon.

Original comment by cseic...@gmail.com on 27 Jun 2010 at 11:11

GoogleCodeExporter commented 8 years ago
The latest version in SVN (as of rev 81) has huge improvements in playlist 
loading.  It also prints messages to the console for how long each action 
takes.  These messages will be removed before the next release.

My Sempron 2800+ server will process the addition of 20K songs in 3 seconds.  I 
am still looking for ways to make further improvements to this.

At the moment, I am limiting the sidebar to 1000 items.  Once I add proper 
paging support to the sidebar playlist this restriction will be removed.

Original comment by cseic...@gmail.com on 29 Jun 2010 at 4:08

GoogleCodeExporter commented 8 years ago
The playlist loading is as fast as it is going to get from python code, and the 
playlist sidebar now implements paging to prevent the client from choking.

I may create an optional extension written in C to improve performance in the 
future.  I haven't decided if it's worth adding the complications yet, I like 
the easy distribution/installation of a pure python package.

Thanks for the stress test.

- Chris

Original comment by cseic...@gmail.com on 2 Jul 2010 at 3:59