Use the following guidelines when deciding whether to join branches of a pipeline or join two instances of a source:
Join two branches of a pipeline when you have a large source or if you can read the source data only once. For example, you can only read source data from a message queue once.
Join two branches of a pipeline when you use sorted data. If the source data is unsorted and you use a Sorter transformation to sort the data, branch the pipeline after you sort the data.
Join two instances of a source when you need to add a blocking transformation to the pipeline between the source and the Joiner transformation.
Join two instances of a source if one pipeline may process slower than the other pipeline.
Join two instances of a source if you need to join unsorted data.