[rules-users] Jbilling Drools performance
Greg Barton
greg_barton at yahoo.com
Fri May 14 14:51:08 EDT 2010
Right off the bat I'd say try to get rid of the eval usage. Can you put the phone number into an object like this:
class PhoneNumber {
private char digit0;
private char digit1;
///...same for the rest of the digits
public char getDigit0() { return digit0; }
public char getDigit1() { return digit1; }
}
Then the conditions would look like this:
digit0 == '$param'
Behind the scenes hopefully this will optimize better. The use of eval won't optimize well.
Are you using sequential mode? This might be a good candidate for that if setting the price does not trigger any other rules to fire.
--- On Fri, 5/14/10, Antonio Anderson Souza <antonioams at gmail.com> wrote:
From: Antonio Anderson Souza <antonioams at gmail.com>
Subject: [rules-users] Jbilling Drools performance
To: "Drools Users Mailing list" <rules-users at lists.jboss.org>
Date: Friday, May 14, 2010, 1:28 PM
Dear All,
I'm deploying a JBilling using Drools in a Telecom Carrier in Brazil, and I'm using Decision tables in xls files to execute the pricing, my pricing table has about 40.000 rules, and I'm getting a terrible performance about 1.5 minute to execute the price of each CDR (Call Detail Record) mediated.
Follow bellow a small piece of my decision table:
RuleTable Padrao
CONDITION
CONDITION
ACTION
PRIORITY
PricingField
PricingManager
manager
salience
name
eval (strValue.charAt(0) == '$param')
eval (strValue.charAt(1) == '$param')
eval (strValue.charAt(2) == '$param')
eval (strValue.charAt(3) == '$param')
eval (strValue.charAt(4) == '$param')
eval (strValue.charAt(5) == '$param')
eval (strValue.charAt(6) == '$param')
eval (strValue.charAt(7) == '$param')
eval (strValue.charAt(8) == '$param')
eval (strValue.charAt(9) == '$param')
eval (strValue.charAt(10) == '$param')
eval (strValue.charAt(11) == '$param')
itemId
setPrice($param)
Campo
Digito1
Digito2
Digito3
Digito4
Digito5
Digito6
Digito7
Digito8
Digito9
Digito10
Digito11
Digito12
ID do Item
Preço
Ordem
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
8
300
0.00000
1
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
7
300
0.00000
2
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
6
300
0.00000
3
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
5
300
0.00000
4
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
4
300
0.00000
5
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
3
300
0.00000
6
destinationnumber
5
5
1
1
3
5
8
8
0
1
8
2
300
0.00000
7
destinationnumber
5
5
1
1
300
0.40000
8
Is it normal? Are there somebody using Jbilling in a similar way? Does anybody can help me?
Best regards,
Antonio Anderson Souza
Voice Technology
http://www.antonioams.com
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100514/e8596122/attachment.html
More information about the rules-users
mailing list