A first good topic, now that we build and propagate tuple sets, is can we parallelism our joins?
Look at the insert loop, on line 94. So it iterates and builds a resulting tuple set, which is eventually propagated. Can that set be built in parallel? https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/phreak/PhreakJoinNode.java The key aspect is the iterator right memory. While that memory may or may not be indexed, it always returns a list. In the case of indexing, the list will sublist for that overall memory. Ideally those lists will be adaptive, only turning on parallel iteration when appropriate (enough joins), while trying to avoid any additional cost when parallel iteration is not used. Note currently all lists, are liked lists - we do not use arrays. Once that works, the other methods, right insert, update and delete can all be parallelized. Mark On 12 May 2014, at 00:00, Mark Proctor <mproc...@codehaus.org> wrote: > If anyone is interested in helping out on our next generation rule algorithm, > we’ll offer personal mentoring to get you started on your way. Just ping my > email directly, to discuss: > http://blog.athico.com/2013/11/rip-rete-time-to-get-phreaky.html > > Mark _______________________________________________ rules-dev mailing list rules-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-dev