[mythtv-commits] Ticket #8695: Optimize DVBStreamHandler::UpdateFiltersFromStreamData()

MythTV mythtv at cvs.mythtv.org
Sun Jul 25 00:37:00 UTC 2010


#8695: Optimize DVBStreamHandler::UpdateFiltersFromStreamData()
-----------------------------------------------+----------------------------
 Reporter:  Rune Petersen <rune@…>             |       Owner:  janne     
     Type:  enhancement                        |      Status:  new       
 Priority:  minor                              |   Milestone:  unknown   
Component:  MythTV - DVB                       |     Version:  0.23-fixes
 Severity:  low                                |     Mlocked:  0         
-----------------------------------------------+----------------------------
 The current UpdateFiltersFromStreamData() figures out what pids have
 changed(added/removed) by comparing two maps.
 This is a needlessly expensive way of doing it considering it is called
 quite often by RunTS().

 The managing of pid changes could be done better/cheaper by the
 MPEGStreamData class since it is it already manages the pids, and know
 when they change.

 I have attached a PoC patch that reduces CPU usage of the backend by
 20-30% - (active EIT and no frontend) this is on a Geode system.
 On a faster system this may very well be insignificant.


 The patch will change the functionality slightly if a pid is removed and
 added again in MPEGStreamData.

 Current behavior:
    UpdateFiltersFromStreamData() will make no change

 The PoC patch:
    UpdateFiltersFromStreamData() will close the filter, and then reopen
 it.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/8695>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list