[mythtv] Is anybody looking at EITFixUp (eitfixup.cpp)
Grackleflint
grackleflint at myth.arbler.com
Thu Jul 24 12:54:12 UTC 2008
Stuart Auchterlonie <stuarta at squashedfrog.net> wrote:
> It sounds very nice, but can you make it efficient?
>
> The eitfixups get called quite frequently, due to the
> rate of the incoming EIT data.
>
> We moved the eitfixup's from using dynamic regexp's to
> statically instantiated, so that the regexps wouldn't need
> to be interpreted at runtime, *purely* because they were
> taking up too much cpu time.
>
> Sourcing our regexps from the database would require a
> move back to dynamic regexp's.
A good point.
I could cache the parsed rule sets so that the performance hit is only
taken once per rule set. I was already planning on parsing a rule set
in to an object for processing so it won't be too much effort to cache
the result. This approach still has it's overheads though:
- a big database and processing hit the first time a rule set is
encountered and anytime the cache is invalidated
- a database hit each EIT scan to validate the cache (small but measurable)
- additional memory for the cached rule sets (probably a few K but may
be more)
- additional processing time for running a rules processor instead of
hard coding the rules (probably at least double
that of hard coding)
Do the experienced hands think that caching the rule sets will be enough
to overcome the performance impact of switching to a dynamic system for
EIT fix ups?
More information about the mythtv-dev
mailing list