[rules-users] addKnowledgePackages Delay

Moe Alkhafaji moe.alkhafaji at medcpu.com
Mon May 3 08:58:51 EDT 2010


Hmmm, so you are suggesting I keep caches all possible combinations of  
KnowledgePackages? If I have 100 possible KnowledgePackages and they  
are loaded and unloaded dynamically that means I will have to have 100  
choose n where n goes from 1 to 100. That will make me go out of  
memory easy no?

Thanks.

Sent from my iPhone

On May 3, 2010, at 2:07 AM, Rajnikant Gupta <capricorn.raj at gmail.com>  
wrote:

> It may look something like this:
>
> Map knowledgeBaseCacheMap = new HashMap();
>
> this.knowledgeBase = knowledgeBaseCacheMap.get("<SOME_IDENTIFIER>");
>
> if(this.knowledgeBase == null){
>    this.knowledgeBase.addKnowledgePackages(packages);
>    knowledgeBaseCacheMap.put("<SOME_IDENTIFIER>", this.knowledgeBase)
> }
>
> By doing this the packages get added to the knowledgeBase only for  
> the first time. From second request onwards you get the same  
> knowledgeBase each time without the need for adding the packages  
> again.
>
> But this is valid only if you are not changing your rules. If your  
> rules are changing from time to time, you may have to look at  
> caching at more lower levels.
>
> I am not sure whether this can be helpful in your case but this is  
> often helpful.
>
>
> Regards,
>
> Rajnikant Gupta
> http://rkthinks.wordpress.com/
>
>
> 2010/5/3 Moe Alkhafaji <moe.alkhafaji at medcpu.com>
> Thanks for the reply. But I don't understand what you mean by  
> caching the KnowledgeBase. This is about adding a pre compiled  
> KnowledgePackage to a KnowledgeBase. So, how does caching a  
> KnowledgeBase makes addition of new KnowledgePackage faster? Please  
> excuse my ignorance if I am not catching what you are suggesting.  
> Maybe a couple of lines of code to demonstrate your suggestion would  
> be greatly appreciated. Thanks.
>
> Sent from my iPhone
>
> On May 3, 2010, at 1:24 AM, Rajnikant Gupta  
> <capricorn.raj at gmail.com> wrote:
>
>> Hi,
>>
>> Yes, adding packages to knowledgeBase does take some time. You can  
>> probably try caching your knowledgeBase. By doing this all, but  
>> first, requests should be significantly fast.
>>
>>
>>
>>
>> Regards,
>>
>> Rajnikant Gupta
>>
>> http://rkthinks.wordpress.com/
>>
>>
>> On Mon, May 3, 2010 at 11:36 AM, malkhafaji  
>> <moe.alkhafaji at medcpu.com> wrote:
>>
>> Hello,
>>
>> I am trying to add knowledge packages to an existing KnowledgeBase.  
>> My
>> largest DRL file has 110 rules. I noticed that it may take up to 5  
>> seconds
>> just to execute the following statement:
>>
>> this.knowledgeBase.addKnowledgePackages(packages);
>>
>> where "packages" is just a list of one knowledge package  
>> representing one
>> drl. The nature of my rules is that I initially load a small set of  
>> rules
>> and then at runtime my rules may load other DRLs. The problem is  
>> each DRL
>> loading command (this.knowledgeBase.addKnowledgePackages(packages))  
>> takes a
>> few seconds and I have no idea why. Although, all those DRLs are  
>> already
>> compiled (at startup time). It is the line I pasted above that  
>> takes the
>> longest time out of anything else I do.
>>
>> Any idea why just merely adding a KnowledgePackage list to a  
>> KnowledgeBase
>> can take this much time? Do you guys have any suggestions on how I  
>> can
>> reduce this time? I tried to create another dummy KnowledgeBase and  
>> get the
>> KnowledgePackage from it at runtime and add that to my KnowedgeBase  
>> above
>> (thinking that would reduce the time maybe), but not at all.
>>
>> Any ideas would be great. The API does not have much info on what  
>> that add
>> method exactly does behind the scenes, and how I can get around the  
>> long
>> delays. This is very frustrating to me, and I am not sure where to  
>> look.
>> Thanks for ANY help at all.
>> --
>> View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/addKnowledgePackages-Delay-tp772574p772574.html
>> Sent from the Drools - User mailing list archive at Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> 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/20100503/848a02fa/attachment.html 


More information about the rules-users mailing list