Mopidy Audio Server
This adds a module-level cache of artist, album, and track models, whose content is almost entirely static. This cache is used when we convert from pyspotify to Mopidy objects. Previously, an album with 15 tracks would create 15 track objects, 15 artists objects on the tracks, 15 album objects on the tracks, and 15 artist objects on the 15 album objects, in total 60 objects. With this change, we only create 15 track objects, 1 album object, and 1 artist object, in total 17 objects. Measurements with 90 playlists containing about 6500 tracks in total shows that this reduces the number of Artist objects from 13600 to 3800, and the number of Album objects from 6500 to 4500 objects. An unscientific measurement of memory usage using ps(1) indicated a reduction in RSS from 71MB to 65MB, measured right after the Spotify playlists was loaded the first time. |
||
|---|---|---|
| bin | ||
| data | ||
| docs | ||
| mopidy | ||
| requirements | ||
| tests | ||
| tools | ||
| .gitignore | ||
| .mailmap | ||
| .travis.yml | ||
| LICENSE | ||
| MANIFEST.in | ||
| pylintrc | ||
| README.rst | ||
| setup.cfg | ||
| setup.py | ||
| tox.ini | ||
****** Mopidy ****** .. image:: https://secure.travis-ci.org/mopidy/mopidy.png?branch=develop Mopidy is a music server which can play music both from your local hard drive and from Spotify. Searches returns results from both your local hard drive and from Spotify, and you can mix tracks from both sources in your play queue. Your Spotify playlists are also available for use, though we don't support modifying them yet. To control your music server, you can use the Ubuntu Sound Menu on the machine running Mopidy, any device on the same network which can control UPnP MediaRenderers, or any MPD client. MPD clients are available for most platforms, including Windows, Mac OS X, Linux, Android and iOS. To get started with Mopidy, check out `the docs <http://docs.mopidy.com/>`_. - `Documentation <http://docs.mopidy.com/>`_ - `Source code <http://github.com/mopidy/mopidy>`_ - `Issue tracker <http://github.com/mopidy/mopidy/issues>`_ - `CI server <http://travis-ci.org/mopidy/mopidy>`_ - IRC: ``#mopidy`` at `irc.freenode.net <http://freenode.net/>`_ - `Download development snapshot <http://github.com/mopidy/mopidy/tarball/develop#egg=mopidy-dev>`_