[rules-dev] Performance Question

Greg Barton greg_barton at yahoo.com
Fri Oct 17 15:51:47 EDT 2008


You only have to add one additional rule (the one that retracts unmatched Lines) but each of your existing rules will have to modify each Line matched to set "processed = true" 

--- On Fri, 10/17/08, hare ram <hare.bond at gmail.com> wrote:

> From: hare ram <hare.bond at gmail.com>
> Subject: Re: [rules-dev] Performance Question
> To: greg_barton at yahoo.com, "Rules Dev List" <rules-dev at lists.jboss.org>
> Date: Friday, October 17, 2008, 2:28 PM
> There is more to it ,but just to give an idea.
> 
> I thought about the idea you have given me, but just did
> not get an idea of
> how to implement
> 
> Say in the below rules itself
> 
> rule "IP Route File rule"
>     salience 2000
>     when
>         Line ( line matches
> "^.*\s+show\s+ip\s+route\s*$" )
>         Line ( line matches
> "^.*\s+dest\s+address\s*$ )
>         file : FileFinder()
> 
>     then
>         file.setFileType("ip route file");
>         drools.halt();
> end
> 
> 
> When I encounter a line  "show ip route" in  a
> file , I know that match
> occured. But how do I implement it
> 
> Did you mean I should  have  written a separate rule like
> 
> when
>         Line ( line matches
> "^.*\s+show\s+ip\s+route\s*$" )
> then
>       update (the above line with proceed==true )
> 
> 
> In that case will not explode the number of rules (50 * say
> 3 matches)
> 
> Thanks
> Shiva
> 
> 
> 
> 
> On Fri, Oct 17, 2008 at 3:20 PM, Greg Barton
> <greg_barton at yahoo.com> wrote:
> 
> > Are you sure you want to use rules for this?  If
> you're not going to do
> > analysis more complex than what you've described
> I'd say straight java is a
> > better option.
> >
> > That being said, this is one thing to try:
> >
> > 1) Add a "processed" property of type
> boolean to Line, default value false.
> > 2) Set processed = true on Lines that are matched
> > 3) Have a low salience rule (lower than all other
> rules that match a Line)
> > that matches a Line with processed == false and
> retracts it.  It must be low
> > enough priority so it fires after any other rules that
> could match the Line.
> >
> > --- On Fri, 10/17/08, hare ram
> <hare.bond at gmail.com> wrote:
> >
> > > From: hare ram <hare.bond at gmail.com>
> > > Subject: [rules-dev] Performance Question
> > > To: rules-dev at lists.jboss.org
> > > Date: Friday, October 17, 2008, 1:56 PM
> > > Hello all,
> > >
> > > This is the set of rules i have
> > >
> > > rule "IP Route File rule"
> > >     salience 2000
> > >     when
> > >         Line ( line matches
> > >
> "^.*\s+show\s+ip\s+route\s*$" )
> > >         Line ( line matches
> > > "^.*\s+dest\s+address\s*$ )
> > >         file : FileFinder()
> > >
> > >     then
> > >         file.setFileType("ip route
> file");
> > >         drools.halt();
> > > end
> > >
> > >
> > >
> > > All I am doing in rules is, I read each line from
> the given
> > > file, convert
> > > them into Line Objects and see if any of my
> > > rules matches. There are about 50 such rules,
> that will
> > > help me
> > > differentiate what kind of file is present in my
> input
> > > directory.
> > >
> > > The question I have , is there a way I can know
> if Line
> > > Object matched any
> > > of the rules ? If a Line Object is not matched by
> > > any of rules, I can just retract that object from
> the
> > > memory and prevent Out
> > > of Memory Exception if the file size is huge
> > >
> > > Thanks
> > > Shiva
> > > _______________________________________________
> > > rules-dev mailing list
> > > rules-dev at lists.jboss.org
> > >
> https://lists.jboss.org/mailman/listinfo/rules-dev
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
> protection around
> > http://mail.yahoo.com
> > _______________________________________________
> > rules-dev mailing list
> > rules-dev at lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-dev
> >

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 



More information about the rules-dev mailing list