On 19/06/2012, Sangram Jethy <[email protected]> wrote: > Hi Laun > > Tnks for dis wonderfl solution ...I guess our performance issue is solved > as of now..But I got a small query over it. > > 1) When 10k records were there in the DT, the DT was to compile and all > these 10k rules now stays in the production memory.And we were inserting a > single fact in working memory. > 2) But in the approach suggested by you , we got the single rule in the > production memory but now we have 10k facts to be in working memory.But we > get a performance enhancement. > > Does it means the size and speed of working memory is more than to > production memory? Else what is the reason of this performance enhancement? >
Perhaps this methaphor explains it. If you (=the transaction fact) have to go through a door (=find the rule) then you can do it more quickly if someone (= a "row" fact) holds that door open for you. -W > Regards > > On Tue, Jun 19, 2012 at 4:24 PM, Wolfgang Laun > <[email protected]>wrote: > >> On 19/06/2012, zeeshan <[email protected]> wrote: >> > Hi Laune, >> > >> > >> > >> > Thanks very much for your response. We would like to try and implement >> > Option 3. >> > >> > We assume that the implementation involves setting up individual rows >> > in >> > the >> > excel as a collection of objects and using the From keyword to look up >> the >> > output value/row we want based on the input parameter values. >> >> Huh? You leave the Excel data as it is except for throwing away the >> header lines. >> >> > Is it >> > possible for you to share the relevant code you have created to >> > implement >> > this option? >> >> This is the rule: >> >> rule calculatePremium >> when >> $pfc: PremiumCalculatorFactBean( $age: age, >> $policyTerm: policyTerm, >> $interestRate: interestRate, >> $gender: gender, >> $smokingStatus: smokingStatus, >> $channel: channel, >> premiumRate == 0.0 ) >> $p: Premium( age == $age, >> policyTerm == $policyTerm, >> interestRate == $interestRate, >> gender == $gender, >> smokingStatus == $smokingStatus, >> channel == $channel ) >> then >> modify( $pfc ){ setPremiumRate( $p.getPremiumRate() ) } >> end >> >> >> And a few lines of Java code: >> >> private void makeRates( String csvPath ) throws Exception { >> File f = new File( csvPath ); >> InputStream is = new FileInputStream( f ); >> Reader rdr = new InputStreamReader( is ); >> LineNumberReader lnrdr = new LineNumberReader( rdr ); >> >> String line; >> while( (line = lnrdr.readLine()) != null ){ >> if( line.charAt(0) == '"' ) continue; >> String[] tokens = line.split( ";" ); >> if( tokens.length != 7 ) continue; >> int age = Integer.parseInt( tokens[0] ); >> int policyTerm = Integer.parseInt( tokens[1] ); >> int interestRate = Integer.parseInt( tokens[2] ); >> String gender = tokens[3].substring( 1, 2 ); >> String smokingStatus = tokens[4].substring( 1, 2 ); >> int channel = Integer.parseInt( tokens[5] ); >> double premiumRate = Double.parseDouble( tokens[6] ); >> >> Premium p = new Premium( age, policyTerm, interestRate, >> gender, smokingStatus, channel, premiumRate ); >> kSession.insert( p ); >> } >> close( rdr ); >> } >> >> -W >> >> >> > >> > Thanks ! >> > >> > >> > -- >> > View this message in context: >> > >> http://drools.46999.n3.nabble.com/Hibernate-Configuration-with-Drools-5-4-tp4017981p4018051.html >> > Sent from the Drools: User forum mailing list archive at Nabble.com. >> > _______________________________________________ >> > rules-users mailing list >> > [email protected] >> > https://lists.jboss.org/mailman/listinfo/rules-users >> > >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> > _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
