Macro-fusion
Macro-fusion mostly occurs during assemble time and its aim is to replace one operator with another. For example, we have already seen that Mono is highly-optimized for processing only one, or zero, elements. At the same time, some parts of operators inside Flux are also supposed to process one or zero elements (for instance, the operators just(T), empty(), and error(Throwable)). In most cases, these simple operators are used along with other transformation flows. Consequently, it is crucial to reduce such overhead. For that purpose, Reactor provides optimization during assembly-time, and if it detects that upstream Publisher implements interfaces such as Callable or ScalarCallable, the upstream Publisher will be replaced with ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access