Right now all the BroadcastingCollection classes will go through all the motions, calculating complex diffs and broadcasting a number of messages to the void if no listeners are set.
At least for the editable types (which do most of the work), we should optimize away the work when no listeners are attached, and just directly change the storage collection. Some other types can also use the treatment (multi sourced broadcasting sets, for example).
Parameter error checking should still happen as currently.
Right now all the BroadcastingCollection classes will go through all the motions, calculating complex diffs and broadcasting a number of messages to the void if no listeners are set.
At least for the editable types (which do most of the work), we should optimize away the work when no listeners are attached, and just directly change the storage collection. Some other types can also use the treatment (multi sourced broadcasting sets, for example).
Parameter error checking should still happen as currently.