• Jon Skeet's avatar
    Reimplement RepeatedField<T> using an array as the backing store. · 7532f025
    Jon Skeet authored
    This is effectively reimplementing List<T>, but with a few advantages:
    - We know that an empty repeated field is common, so don't allocate an array until we need to
    - With direct access to the array, we can easily convert enum values to int without boxing
    - We can relax the restrictions over what happens if the repeated field is modified while iterating, avoiding so much checking
    
    This is somewhat risky, in that reimplementing a building block like this is *always* risky, but hey...
    (The performance benefits are significant...)
    7532f025
RepeatedFieldTest.cs 1.64 KB