[mythtv-commits] Ticket #1287: Performance and clean patches for mythmusic
MythTV
mythtv at cvs.mythtv.org
Wed Feb 15 07:22:46 UTC 2006
#1287: Performance and clean patches for mythmusic
------------------------------------+---------------------------------------
Reporter: eskil <myth at eskil.org> | Owner: ijr
Type: patch | Status: new
Priority: minor | Milestone:
Component: mythmusic | Version:
Severity: medium | Resolution:
------------------------------------+---------------------------------------
Comment (by eskil <myth at eskil.org>):
0-changetree.patch::
Small cleanup to let AllMusic change it's sorting and resync
the db. Needed by the perfmeasure patch.
1-perfmeasure.patch::
Code that measures performance when entering mythmusic, not
part of the final patch, but submitted since it might be of
interest.
2-regexps.patch::
Remove unnessecary QRegExp objects, this alone shaved off 1-2
seconds of all the tests.
3-lessstartdir.patch::
Don't pass around the startdir since it's already set inside
AllMusic. Some parts used the member variable, other took it
as argument, now they all used the member variable.
4-artistalbumtitle.patch::
When loading metadata from the db, if artist/album/title is
empty, set it to sensible value ("Unknown
Artist/Album/Title").
5-musiccompare.patch::
Fix Metadata/MusicNode comparison to use locale aware QString
comparisions - is more correct for us folk with crazy
alphabets (börkbörkbörk).
6-playcount.patch::
This just fixes initialising playcount, mostly to shut
valgrind up.
7-lesscode.patch::
AllMusic.intoTree and MusicNode.intoTree were essentially
the same, so eliminate one (I picked AllMusic::intoTree for
now). So make it build the tree directly in root_node, this
also eliminates the need for top_nodes, so they also go out
the window. This greatly simplifies the code.
8-trees.patch::
And now that the code is simpler, we can finally move tree
building logic out of Metadata (areYouFinished, getField and
the splitartist handling) and toss it all in a object whose
responsibility is to only treebuilding. During treebuilding,
various stuff is cached in memory, ie. with 29000 records,
there's a ca. 18mb spike in memory usage, but it's freed after
the tree is built.
treebuilding.patch::
All of the above in one big hunking patch. This one was
generated against svn revision 8960.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/1287>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list