As we already know, the pattern matching algorithm behind Drools 6 is called PHREAK. This algorithm is an evolution of the one used in previous versions of Drools: the RETE (also known as RETEOO) algorithm.
Even if, from previous chapters, we already have some idea of what PHREAK is and how it works, understanding its internals in more detail will give us the opportunity to write better and more performant rules. Another advantage of knowing how Drools works internally is that it will considerably increase our options when troubleshooting our knowledge assets.
One of the major drawbacks of PHREAK (in contrast to RETE) is that the former is a brand new algorithm that was developed for Drools and by the Drools team itself. The disadvantages of this young algorithm are the lack of adoption and the scarce documentation it provides. But don't be alarmed! PHREAK has so far shown itself to be a production-quality algorithm, able to deal with the complexities of critical...