The disadvantage of using pipes is that automata must be serialized and get fully expanded by the next executable in chain.
an advantage of multiple executables is that memory does not get fragmented through the interaction of different algorithms.