|
@@ -384,18 +384,8 @@ namespace Google.Protobuf
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
- // TODO(jtattermusch): According to the benchmarks, writing byte-by-byte is actually faster
|
|
|
- // than using BinaryPrimitives.WriteUInt64LittleEndian.
|
|
|
- // This is strange especially because WriteUInt32LittleEndian seems to be much faster
|
|
|
- // in terms of throughput.
|
|
|
- buffer[state.position++] = ((byte)value);
|
|
|
- buffer[state.position++] = ((byte)(value >> 8));
|
|
|
- buffer[state.position++] = ((byte)(value >> 16));
|
|
|
- buffer[state.position++] = ((byte)(value >> 24));
|
|
|
- buffer[state.position++] = ((byte)(value >> 32));
|
|
|
- buffer[state.position++] = ((byte)(value >> 40));
|
|
|
- buffer[state.position++] = ((byte)(value >> 48));
|
|
|
- buffer[state.position++] = ((byte)(value >> 56));
|
|
|
+ BinaryPrimitives.WriteUInt64LittleEndian(buffer.Slice(state.position), value);
|
|
|
+ state.position += length;
|
|
|
}
|
|
|
}
|
|
|
|