You could indeed pool Fact objects; once a jess.Fact object is
retracted, you can re-populate its slots and assert it again. I would
be surprised to find that this improved performance for you, though.

If there's any kind of "clustering" in the JMS data, then it could
make sense to use backward chaining to pull database info in only as
needed; the clustering would mean that over time the most frequently
used data from the database would already be in working memory.


I think Mike L. VanGeertruy wrote:
[Charset iso-8859-1 unsupported, filtering to ASCII...]
> We're putting together a prototype in which the following set of actions will 
> occur up to 100,000 times a minute in a load-balanced JESS rules engine:
>  
> recieve a JMS message with data,
> assert the JMS data as facts
> Query a large database for specific facts relevant to the JMS data
> assert the database derived fact,
> run the rule engine
> write some into the database
> persist some facts in the rule engine "temporarily"
> destroy facts
>  
> The design we've come up with relies on multiple rules engines to performing 
> processing in parallel, with specific rules engines optimized for specific 
> JMS data sets.
>  
> The issues are many:
> 1)  Is there a better way to handle such large amounts of Fact 
> assertions/desctructions?
> 2)  Is it possible for the Facts to "live" in the database to save the time 
> it takes to construct them?
> 3)  Is it possible to create a pool of "blank Facts" that have been 
> constructed, but not initialized, fill them with primitive data-types from 
> the database, assert them, after the rules engine runs, remove all the data 
> and return them to the "constructed" pool?
> 4)  Any ideas would be welcome.
> 5) RTFM'd, was a great book.
>  
> v/r, 
>  
> Mike Van



---------------------------------------------------------
Ernest Friedman-Hill  
Advanced Software Research          Phone: (925) 294-2154
Sandia National Labs                FAX:   (925) 294-2234
PO Box 969, MS 9012                 [EMAIL PROTECTED]
Livermore, CA 94550         http://herzberg.ca.sandia.gov

--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------

Reply via email to