Commit 1b043553 authored by A. Unique TensorFlower's avatar A. Unique TensorFlower Committed by TensorFlower Gardener
Browse files

Add a version of SerializeToStringDeterministic that serializes to a...

Add a version of SerializeToStringDeterministic that serializes to a pre-allocated buffer. In the common case, this avoids a double write into the string and is in some cases about 30% faster on large protobufs.

Benchmark:

Run on *** (72 X 2993 MHz CPUs); 2019-02-01T17:30:47.860707104-08:00
CPU: Intel Skylake Xeon with HyperThreading (36 cores) dL1:32KB dL2:1024KB dL3:24MB
Benchmark                           Time(ns)        CPU(ns)     Iterations
--------------------------------------------------------------------------
BM_ProtoSerializationToString/1           99.1           99.1      7063926
BM_ProtoSerializationToString/8          450            450        1557551
BM_ProtoSerializationToString/64        3154           3154         222251
BM_ProtoSerializationToString/512      24947          24949          28043
BM_ProtoSerializationToString/4k      224626         224626           2995
BM_ProtoSerializationToString/10k     563273         563262           1000
BM_ProtoSerializationToBuffer/1           77.7           77.8      9015139
BM_ProtoSerializationToBuffer/8          351            351        1996330
BM_ProtoSerializationToBuffer/64        2511           2511         278283
BM_ProtoSerializationToBuffer/512      19846          19849          35234
BM_ProtoSerializationToBuffer/4k      184208         184262           3502
BM_ProtoSerializationToBuffer/10k     427867         427938           1622
PiperOrigin-RevId: 232374729
parent ae0fd730
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment