Performance tweak to FlatBufferBuilder.CreateString method to remove the unnecessary byte buffer allocation
(See https://github.com/google/flatbuffers/issues/55#issuecomment-164031718 for stats)
This commit is contained in:
parent
42b48bd55f
commit
b8187e5b82
|
@ -276,12 +276,11 @@ namespace FlatBuffers
|
|||
|
||||
public StringOffset CreateString(string s)
|
||||
{
|
||||
NotNested();
|
||||
byte[] utf8 = Encoding.UTF8.GetBytes(s);
|
||||
AddByte((byte)0);
|
||||
StartVector(1, utf8.Length, 1);
|
||||
Buffer.BlockCopy(utf8, 0, _bb.Data, _space -= utf8.Length,
|
||||
utf8.Length);
|
||||
NotNested();
|
||||
AddByte(0);
|
||||
var utf8StringLen = Encoding.UTF8.GetByteCount(s);
|
||||
StartVector(1, utf8StringLen, 1);
|
||||
Encoding.UTF8.GetBytes(s, 0, s.Length, _bb.Data, _space -= utf8StringLen);
|
||||
return new StringOffset(EndVector().Value);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue