User Tools

Site Tools


performance_improvements

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
performance_improvements [2013/07/08 18:38]
cpillz [Thread consolidation] Added link to helpful Qt threading wiki page
performance_improvements [2015/06/11 04:54]
gdkar [Memory]
Line 23: Line 23:
 Next, [[http://​blog.qt.digia.com/​blog/​2010/​06/​17/​youre-doing-it-wrong/​|read this Qt blog post]] regarding proper use of QThread. (It's my impression that we are in fact doing what he says not to do which is the reason for all the threads we have.) Next, [[http://​blog.qt.digia.com/​blog/​2010/​06/​17/​youre-doing-it-wrong/​|read this Qt blog post]] regarding proper use of QThread. (It's my impression that we are in fact doing what he says not to do which is the reason for all the threads we have.)
  
-This [[http://​qt-project.org/​wiki/​Threads_Events_QObjects|Qt wiki post]] contains detailed information about threading in Qt.+This [[http://​qt-project.org/​wiki/​Threads_Events_QObjects|Qt wiki post]] contains detailed information about threading in Qt and this [[http://​woboq.com/​blog/​qthread-you-were-not-doing-so-wrong.html|blog post]] contains a response to "​You'​re doing it wrong" (see link in previous paragraph).
  
 Mixxx'​s current [[threads|thread list]]. Mixxx'​s current [[threads|thread list]].
Line 77: Line 77:
   * Currently loading <​del>​four</​del>​ two copies of MP3 files into memory. (r2509 in 1.7 removes the second copy as soon as the Analyser is done with it, plugging a big leak.)   * Currently loading <​del>​four</​del>​ two copies of MP3 files into memory. (r2509 in 1.7 removes the second copy as soon as the Analyser is done with it, plugging a big leak.)
   * <​del>​Vinyl control leaks part of the lookup table, or something like that when it gets deleted/​recreated</​del>​   * <​del>​Vinyl control leaks part of the lookup table, or something like that when it gets deleted/​recreated</​del>​
-  * SoundSource'​s should use memory mapped IO. Making that cross platform is tricky.+  * SoundSource'​s should use memory mapped IO. Making that cross platform is tricky. ​( this is sort of questionable at the very least for compressed formats. mmap is trading immediate memory use for page faults and disk accesses at random points later ( if we expect all of the pages will eventually be touched, the physical memory usage at track-unload time will be the same for mmap vs. malloc+read. ) QFile::​readAll is _quite_ easy to make cross-platform,​ and given that QByteArray is implicitly shared, would also make it easier to safely avoid the loading-two-or-more-copies-of-the-same-file problem mentioned above. --gdkar )
performance_improvements.txt ยท Last modified: 2015/06/11 04:54 by gdkar