[jboss-jira] [JBoss JIRA] Created: (JBRULES-598) Core is not indexing beta memory for Strings and Dates

Edson Tirelli (JIRA) jira-events at jboss.com
Wed Jan 3 12:26:26 EST 2007


Core is not indexing beta memory for Strings and Dates
------------------------------------------------------

                 Key: JBRULES-598
                 URL: http://jira.jboss.com/jira/browse/JBRULES-598
             Project: JBoss Rules
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: Reteoo
    Affects Versions: 3.0.5
            Reporter: Edson Tirelli
         Assigned To: Edson Tirelli


[19:36] <edar> I think that you need to see the rule - just a sec....
[19:37] <edar> URL: http://rafb.net/p/bnWvC837.html
[19:37] <tirelli> ok, what is the question?
[19:38] <edar> The example program seems to be iterating through all instances of MappedPID when, in this case, there is only a single instance that will satisfy a given BloombergEquityPrice
[19:38] <edar> I was expecting MappedPID to be indexed on cusip
[19:39] <edar> What I mean is that given a BloombergEquityPrice with ID_CUSIP=12345, there's only a single MappedPID with that cusip
[19:40] <tirelli> yes, this should be using indexing
[19:40] <edar> Good :-)
[19:40] <edar> Whew.....
[19:40] <tirelli> what version of jbrules are you using? how do you know it is iterating over them all?
[19:41] <edar> In my test, I can vary the number of instances of MappedPID and see that the test run time varys proportionally with the number of MappedPID instances.
[19:41] <edar> I'm using the latest download from JBoss
[19:41] <tirelli> stable, you mean? (3.0.5)
[19:42] <edar> yes, I just checked, 3.0.5
[19:42] <edar> I can easily package up my test case and send it to you if you want.
[19:42] <tirelli> ok, depends where you are taking your times
[19:42] <tirelli> please :)
[19:42] <tirelli> it will be faster
[19:42] <tirelli> also, how many instances of BloombergEquityPrice are you asserting?
[19:43] <edar> I'm just looking at the total elapsed time for the entire process and then calculating how many 'mappings' per second.
[19:43] <edar> I'm asserting 10K MappedPID and 10K BloombergEquityPrice. It only takes sub-seconds to assert all of the MappedPID
[19:43] <tirelli> it's important to note that the assert time will increase with additional assertions...
[19:44] <edar> The assert time is minimal. If I just take out the mapping part of the rule, the asserts are VERY fast.
[19:44] <tirelli> so, if you exclude the assert time, the variation in matches/second should not be that much...
[19:44] <tirelli> edar, best way to check is disable indexing and run again
[19:45] <tirelli> you will see a big difference if indexing is turned off
[19:45] <edar> It's huge. For example, for 1K prices/mappings, I see about 4500K/second mappings. For 10K of each, I see 300/second
[19:46] <edar> I have tried all of the variants of indexing with about the same results
[19:46] <edar> Is there any kind of logging that will show me exactly what is going on with indexing and if it is being used?
[19:47] <tirelli> edar, run a test with -Dorg.drools.reteoo.beta.index-right=true and another with -Dorg.drools.reteoo.beta.index-right=false
[19:47] <tirelli> what is the difference?
[19:47] <edar> I did that and I saw, basically, no difference.
[19:47] <edar> I have the exact numbers here. Just a sec.
[19:47] <tirelli> hmm... strange... in this case we may have a problem
[19:47] <tirelli> can you send me your test?


JBoss Rules 3.0.5 is not indexing beta memory for String and Dates. Add support for that.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list