[mythtv-commits] Ticket #6478: Add update timestamp to program table for incremental program data retrieval

MythTV mythtv at cvs.mythtv.org
Sun Jun 7 16:22:01 UTC 2009

#6478: Add update timestamp to program table for incremental program data
 Reporter:  chasedouglas at gmail.com     |        Owner:  danielk   
     Type:  patch                      |       Status:  infoneeded
 Priority:  minor                      |    Milestone:  unknown   
Component:  MythTV - Mythfilldatabase  |      Version:  head      
 Severity:  medium                     |   Resolution:            
  Mlocked:  0                          |  

Comment(by chasedouglas at gmail.com):

 I rebased the patch against revision 20676. The only major difference
 between the fourth version and this fifth version is that the prepared but
 not executed query in DataDirectProgramUpdate() is now completely removed.
 I realized that it was redundant with respect to the next query in the
 function, and the next query should execute faster.

 I left the additional parameter to ClearDataByChannel() for delete_program
 since there has not been an agreement reached on how to deal with it. I am
 happy to leave the details up to daniel2k or any other committer as long
 as the functionality is maintained.

 I benchmarked mythfilldatabase using revision 20676 and then with my patch
 added in. In all cases I ran it as "time mythfilldatabase --refresh-all".
 I used a generic "basic cable" source with 62 channels. I ran the tests on
 Ubuntu Jaunty (9.04). In the first test, the program table starts
 completely empty and is filled. The second test then runs immediately
 after to show statistics for a redundant run. The last day's worth of data
 is deleted from the program table before running the third test to
 simulate the performance of a normal daily mythfilldatabase run.

 User time increased between 2.5 and 4.5%, and system time increased around
 14% for each test. However, the absolute values are relatively small,
 especially compared to the total run time due to the guide data fetching.

 == Old (revision 20676) ==
 === complete refill: ===
 57.57user 13.04system 5:32.55elapsed 21%cpu (0avgtext+0avgdata
 200inputs+128outputs (1major+24878minor)pagefaults 0swaps

 === redundant update: ===
 54.14user 11.81system 5:16.88elapsed 20%CPU (0avgtext+0avgdata
 0inputs+120outputs (0major+23551minor)pagefaults 0swaps

 === single day update: ===
 52.89user 12.12system 5:28.31elapsed 19%CPU (0avgtext+0avgdata
 0inputs+120outputs (0major+23582minor)pagefaults 0swaps

 == New with program timestamp patch ==
 === complete refill: ===
 59.05user 14.06system 6:06.39elapsed 19%CPU (0avgtext+0avgdata
 1112inputs+128outputs (6major+24870minor)pagefaults 0swaps

 === redundant update: ===
 55.47user 13.35system 5:32.57elapsed 20%CPU (0avgtext+0avgdata
 0inputs+120outputs (0major+23586minor)pagefaults 0swaps

 === single day update: ===
 55.32user 13.77system 5:36.75elapsed 20%CPU (0avgtext+0avgdata
 0inputs+120outputs (0major+23576minor)pagefaults 0swaps

Ticket URL: <http://svn.mythtv.org/trac/ticket/6478#comment:12>
MythTV <http://www.mythtv.org/>

More information about the mythtv-commits mailing list