[vdr] xmltv2vdr speedup and modification

Sebastien Lucas sebastien.lucas at gmail.com
Wed Feb 14 11:29:41 CET 2007


On 2/13/07, jori.hamalainen at teliasonera.com
<jori.hamalainen at teliasonera.com> wrote:
>
>
> > But it didn't help at all with my benchmark.
> > ...
> > For information that change has no impact on my bench.
>
> Interesting, what version of Perl are you running if those
> changes don't do anything?
>

vdr26:~/xmltv# time ./xmltv2vdrv5.pl -s -c channels.conf -x tvguide.xml

real    3m4.397s
user    2m50.475s
sys     0m6.052s

vdr26:~/xmltv# time ./xmltv2vdrv6.pl -s -c channels.conf -x tvguide.xml

real    3m4.309s
user    2m48.951s
sys     0m7.240s

xmltv2vdrv5 = the version I posted
xmltv2vdrv6 = the version I posted + the o switch on all regex + title
and subtitle now use regex and no more split.

about perl (from debian sarge) :
vdr26:~/xmltv# perl --version

This is perl, v5.8.4 built for i386-linux-thread-multi

>
> Futher improvement is that now it is unnecessary to read whole
> XML-file into memory, as the file is linearly scanned through. So no
> need to waste 5MB of memory if you are short of it.
>
> --
> # Read all the XMLTV stuff into memory - quicker parsing
> open(XMLTV, "$xmltvfile") || die "cannot open xmltv file";
> @xmllines=<XMLTV>;
> close(XMLTV);
>
> sub ProcessEpg
>     # Find XML events
>
>     foreach $xmlline (@xmllines)
>
> --
>
> =>
> open(XMLTV, "$xmltvfile") || die "cannot open xmltv file";
>
> sub ProcessEpg
>
>         while($xmlline = <XMLTV>)
>

Good idea, I have not thought about it (my wonderful Celeron 233 has
384Mo of Ram).

Thanks for your help.

Sébastien



More information about the vdr mailing list