[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