Hi, this is the patch set I promised, which reduces MPD's memory usage. Have a lok at these benchmark results (for details look at the commit messages):
0.13.2: total 14,131,392; useful 11,408,972; extra 2,722,420 eric: total 18,370,696; useful 15,648,182; extra 2,722,514 mk f34f694: total 15,833,952; useful 13,111,470; extra 2,722,482 mk now: total 12,714,864; useful 10,626,383; extra 2,088,481 There are also some minor fixups for yesterday's client refactoring patches. git://repo.or.cz/mpd-mk.git http://repo.or.cz/w/mpd-mk.git Max Max Kellermann (25): client: removed superfluous assertion pass constant pointers client: added global "expired" flag client: check "expired" after command execution client: reorder function declarations client: pass the client struct to processCommand() export the function client_is_expired() added xfree() which takes a const pointer tag: renamed MpdTag and MpdTagItem to struct tag, struct mpd_tag_item tag: renamed functions, no CamelCase tag: converted tag_add_item() to an inline function wavpack: tag_new() cannot fail tag: moved code to tag_id3.c tag: converted MpdTag.items to a pointer list removed tree.c tag: converted tag_item.value to a char array tag: added a pool for tag items tag: converted macro fixUtf8() to an inline function assert value!=NULL in fix_utf8() added "length" parameter to validUtf8String() tag: pass length to fix_utf8() tag: try not to duplicate the input string song: don't export newNullSong() tag: try not to reallocate tag.items in every add() call tag: static directory name b/src/Makefile.am | 6 b/src/audio.c | 2 b/src/audio.h | 2 b/src/audioOutput.c | 3 b/src/audioOutput.h | 5 b/src/audioOutputs/audioOutput_shout.c | 4 b/src/client.c | 40 + b/src/client.h | 18 b/src/command.c | 18 b/src/command.h | 7 b/src/dbUtils.c | 6 b/src/decoder_api.h | 3 b/src/directory.c | 8 b/src/inputPlugins/_flac_common.c | 12 b/src/inputPlugins/_flac_common.h | 6 b/src/inputPlugins/aac_plugin.c | 8 b/src/inputPlugins/audiofile_plugin.c | 6 b/src/inputPlugins/flac_plugin.c | 20 b/src/inputPlugins/mod_plugin.c | 8 b/src/inputPlugins/mp3_plugin.c | 59 +- b/src/inputPlugins/mp4_plugin.c | 30 - b/src/inputPlugins/mpc_plugin.c | 10 b/src/inputPlugins/oggvorbis_plugin.c | 26 - b/src/inputPlugins/wavpack_plugin.c | 13 b/src/locate.c | 8 b/src/ls.c | 6 b/src/ls.h | 4 b/src/main.c | 2 b/src/path.c | 2 b/src/playlist.c | 6 b/src/song.c | 42 + b/src/song.h | 4 b/src/tag.c | 508 +++++------------------ b/src/tag.h | 64 +-- b/src/tagTracker.c | 148 ++---- b/src/tagTracker.h | 6 b/src/tag_id3.c | 367 +++++++++++++++++ b/src/tag_id3.h | 33 + b/src/tag_pool.c | 108 +++++ b/src/tag_pool.h | 31 + b/src/utf8.c | 18 b/src/utf8.h | 4 b/src/utils.h | 13 src/tree.c | 699 --------------------------------- src/tree.h | 62 -- 45 files changed, 996 insertions(+), 1459 deletions(-) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team