Great discussion thus far!
I ran a quick test to get a sense of what the gas cost for round initialization would be for different active transcoder set sizes:
|Active Set Size
||% of Avg Block Gas Limit
Based on the above numbers, increasing the transcoder limit size to 50 right now without a contract upgrade is infeasible given the current average ETH block gas limit of 8 million. The current round initialization gas cost of ~4519008 takes up ~56% of an average block, so while increasing the transcoder limit size to 30 or 40 is feasible, increasing to 30 results in a 11% increase in block space consumed and increasing to 40 results in a 16% increase in block space consumed.
Additionally, while round initialization is most affected, increasing the transcoder limit also has an impact on the gas cost of bond, unbond, rebond and reward transactions albeit much less so than on round initialization. This impact is due to the internal reordering of the transcoder list maintained by the BondingManager contract. I’m optimistic that the contract internals can be updated to minimize the impact of a transcoder limit increase on gas cost of all of these transactions.
Given the operational effort that is required to securely update a protocol parameter (even if it is a single value being updated) and the relatively small increase in the transcoder limit that is possible, I would suggest not increasing the transcoder limit size right now and instead focusing efforts on updating the BondingManager contract internals to enable a more significant increase in the transcoder limit.
That being said, I think this would be a great discussion/debate topic to include in the next community call scheduled for next Thursday 8/1 EST and the community could discuss more in-depth and hear more arguments from all interested parties.