diff options
author | csharptest <roger@csharptest.net> | 2011-06-09 19:47:56 -0500 |
---|---|---|
committer | rogerk <devnull@localhost> | 2011-06-09 19:47:56 -0500 |
commit | ced18e10ae9ca41f338c9e788642d705dd17f9d4 (patch) | |
tree | 334ca02758aca596df2b71fb4ada50db71aa4913 /src/ProtocolBuffers/ICodedInputStream.cs | |
parent | 367e02261c6bee9bce37cb6942bd6cbf743fb67c (diff) | |
download | protobuf-ced18e10ae9ca41f338c9e788642d705dd17f9d4.tar.gz protobuf-ced18e10ae9ca41f338c9e788642d705dd17f9d4.tar.bz2 protobuf-ced18e10ae9ca41f338c9e788642d705dd17f9d4.zip |
Several performance tweaks
- Removed default value assingment when default is equal to default(T)
- Added Benchmarks for most types and repeated/packed arrays
- Left PopsicleList's list fields uninitialized util needed
- Changed CodedInputStream's repated/packed reader
- Changed Enum writers to simply cast to int
- Changed the WriteEnum to use object rawValue that provides .ToString() if needed
- Should be fully on par with original library for performance, gaining 2x-3x in some cases
Diffstat (limited to 'src/ProtocolBuffers/ICodedInputStream.cs')
-rw-r--r-- | src/ProtocolBuffers/ICodedInputStream.cs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ProtocolBuffers/ICodedInputStream.cs b/src/ProtocolBuffers/ICodedInputStream.cs index f385454b..f4c66227 100644 --- a/src/ProtocolBuffers/ICodedInputStream.cs +++ b/src/ProtocolBuffers/ICodedInputStream.cs @@ -144,6 +144,13 @@ namespace Google.ProtocolBuffers /// type is numberic, it will read a packed array.
/// </summary>
[CLSCompliant(false)]
+ void ReadPrimitiveArray(FieldType fieldType, uint fieldTag, string fieldName, ICollection<object> list);
+
+ /// <summary>
+ /// Reads an array of primitive values into the list, if the wire-type of fieldTag is length-prefixed and the
+ /// type is numberic, it will read a packed array.
+ /// </summary>
+ [CLSCompliant(false)]
void ReadPrimitiveArray<T>(FieldType fieldType, uint fieldTag, string fieldName, ICollection<T> list);
/// <summary>
|