1. A computer-implemented method comprising: dynamically grouping and un-grouping, by a computing device, processing operators and processing elements used by a streaming application; monitoring distributed processing elements utilization of resources to identify candidate operators and candidate processing elements for at least one of parallelization and fusion; and dynamically adjusting, at runtime, via at least one of parallelization and fusion, the grouping and un-grouping of the identified candidate operators and candidate processing elements based on a tuple flow rate of the operators, wherein dynamically adjusting, at runtime, the grouping and un-grouping of the identified candidate operators and candidate processing elements includes compiling the identified candidate operator to a library and implementing a loading mechanism to move the identified candidate operator, wherein the tuple flow rate is detected via at least one metric, including a backpressure metric, indicating a number of tuples waiting to be processed at each identified candidate operator.