• 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
Name
Last commit
Last update
..
Collections Loading commit data...
DescriptorProtos Loading commit data...
Descriptors Loading commit data...
FieldAccess Loading commit data...
Properties Loading commit data...
ByteArray.cs Loading commit data...
ByteString.cs Loading commit data...
CodedInputStream.cs Loading commit data...
CodedOutputStream.ComputeSize.cs Loading commit data...
CodedOutputStream.cs Loading commit data...
Extensions.cs Loading commit data...
FrameworkPortability.cs Loading commit data...
IMessage.cs Loading commit data...
InvalidProtocolBufferException.cs Loading commit data...
LimitedInputStream.cs Loading commit data...
MessageParser.cs Loading commit data...
ProtocolBuffers.csproj Loading commit data...
ProtocolBuffersLite.csproj Loading commit data...
TextGenerator.cs Loading commit data...
ThrowHelper.cs Loading commit data...
WireFormat.cs Loading commit data...