October 2018
Intermediate to advanced
556 pages
15h 18m
English
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 ...