Good point with the channel selector. `RecordWriter#broadcastEmit()` is only used for `RecordWriterOutput#emitWatermark` and `RecordWriterOutput#emitStreamStatus`. Those are less frequent, thus not that performance critical. If we want want to cover only one of those, we should cover the usage with `BroadcastPartitioner`. However it might be indeed best to cover both of them?
Regarding adding a `@Param` to existing benchmarks - I didn't want to do that, because that would add more time overhead when executing benchmarks. Also I do not see a that big value with benchmarking broadcasting with all of the other parameters combination. The most common `100ms` and `100` channels should be enough. Also I have refactored the tests and `StreamNetworkBroadcastThroughputBenchmarkTest` executes the same tests as `StreamNetworkThroughputBenchmarkTest` (one extends from the other). I wanted to merge this benchmark before merging your improvement in order to see the speed up in our continuous benchmarking charts. I hope that I didn't duplicate your work :/ [ Full content available at: https://github.com/apache/flink/pull/6697 ] This message was relayed via gitbox.apache.org for [email protected]
